It's probably a slightly "off" uboot, manjaro has done this before
You could get a serial window on the uboot process, flip the headphone switch
and make/buy a serial connector. But you still have the problem---what uboot??
You don't want to take my advice, I won't use a uboot/kernel that does NOT have "good" sleep
So I am stuck with mrfixit's uboot and 5.8.14,,, this gives 10+ days sleep
To experiment, get some (more than 1) small uSD (2GB from phones ideal),
put your present uboot on it (&fix mbr table), make a fs on the rest (uboot in 1st 16M,,32768 sectors)
(as so... dd if=/dev/emmc of=/dev/sd bs=1M count=16,,, then fix mbr table on sd)
copy emmc mbr(1 sector, the 1st) to this fs (that you just made on sd), then blank 1st 16M on emmc
(as so....dd if=/dev/zero of=/dev/emmc bs=1M count=16 ,,, change /dev/emmc to appropriate)
Then copy original emmc.mbr back (to emmc)
So, the boot rom finds nothing on SPI, nothing on emmc, finds idbloader on sd, loads uboot on sd
Since the sd is mostly blank, then uboot looks for the next in its boot_target list, finds emmc
(with the right files) and boots it
On any other 2 GB uSD, try other uboot packages
Whe you find one that works well, copy it to emmc, then copy original emmc.mbr
The reason for a fs on the 2GB, uboot (IIRR) gets a bit pissy if it tries to read a fs and can't
By doing it this way, you may not have to take off back (of pbp)
After all, most SBC run from the wall, not from batteries
Mine is still set up this way, still haven't found a better uboot than mrfixit (not looking that hard)
-----
You could also look at dmesg to see if anything obvious....dmesg|less
You could get a serial window on the uboot process, flip the headphone switch
and make/buy a serial connector. But you still have the problem---what uboot??
You don't want to take my advice, I won't use a uboot/kernel that does NOT have "good" sleep
So I am stuck with mrfixit's uboot and 5.8.14,,, this gives 10+ days sleep
To experiment, get some (more than 1) small uSD (2GB from phones ideal),
put your present uboot on it (&fix mbr table), make a fs on the rest (uboot in 1st 16M,,32768 sectors)
(as so... dd if=/dev/emmc of=/dev/sd bs=1M count=16,,, then fix mbr table on sd)
copy emmc mbr(1 sector, the 1st) to this fs (that you just made on sd), then blank 1st 16M on emmc
(as so....dd if=/dev/zero of=/dev/emmc bs=1M count=16 ,,, change /dev/emmc to appropriate)
Then copy original emmc.mbr back (to emmc)
So, the boot rom finds nothing on SPI, nothing on emmc, finds idbloader on sd, loads uboot on sd
Since the sd is mostly blank, then uboot looks for the next in its boot_target list, finds emmc
(with the right files) and boots it
On any other 2 GB uSD, try other uboot packages
Whe you find one that works well, copy it to emmc, then copy original emmc.mbr
The reason for a fs on the 2GB, uboot (IIRR) gets a bit pissy if it tries to read a fs and can't
By doing it this way, you may not have to take off back (of pbp)
After all, most SBC run from the wall, not from batteries
Mine is still set up this way, still haven't found a better uboot than mrfixit (not looking that hard)
-----
You could also look at dmesg to see if anything obvious....dmesg|less