PinePhone won't boot, U-Boot seems to be broken - Printable Version +- PINE64 (https://forum.pine64.org) +-- Forum: PinePhone (https://forum.pine64.org/forumdisplay.php?fid=120) +--- Forum: PinePhone Hardware (https://forum.pine64.org/forumdisplay.php?fid=122) +--- Thread: PinePhone won't boot, U-Boot seems to be broken (/showthread.php?tid=13604) |
PinePhone won't boot, U-Boot seems to be broken - Marcade - 04-09-2021 Good day all, I have a PinePhone Manjaro Community Edition that suddenly stopped working. In looking around on the forums, I think the cause of the failure was a fully discharged battery (which I confirmed by testing the battery using a multi-meter). Leaving it plugged over the weekend did not seem to fix the problem so I ordered an external battery charger (and a serial cable for good measure). Seems that was a wise decision because even with a fully charged battery, the phone does not boot; neither from eMMC nor from the SD card. When I connect the serial cable and try to boot up the phone, I see the following output: Code: U-Boot SPL 2020.07-rc4-2 (Nov 11 2020 - 21:49:00 +0000) This all seems normal except it never proceeds from there (I would expect more output). The output is the same whether I'm trying to boot from eMMC or the SD card. Does this mean that the U-Boot on my device is corrupted? If that's the case, how would I go about flashing a new boot loader. The only guides I have found to do that so far seem to require that the device be booted already. RE: PinePhone won't boot, U-Boot seems to be broken - Marcade - 04-10-2021 I did some more digging, and I'm starting to think that the issue is that the power management block is dead. I found the data sheet for the AXP803 part. I'm now understanding that this is the part responsible for power management (I'm going to take a guess that PMIC stands for Power Management Integrated Circuit). Therefore it appears that the problem is not with U-Boot but with the AXP803. U-Boot is trying to probe the AXP803 and it hangs there. Now I need to figure out how to kick the AXP803. Any suggestions? RE: PinePhone won't boot, U-Boot seems to be broken - dsimic - 04-10-2021 Does your phone power on automatically upon plugging in a "dumb" USB charger, i.e. a charger that conforms to the USB Battery Charging 1.2 specification? As a note, most USB chargers that do not have a Type-C port are of the "dumb" variety. If the phone doesn't power on automatically as described above, most probably there's something wrong with the AXP803 (which is also commonly referred to as the power management IC or PMIC for short). The PMIC is hardwired internally to power on the phone automatically upon detecting a valid power source. RE: PinePhone won't boot, U-Boot seems to be broken - Marcade - 04-11-2021 My device powers on when I connect it to a USB charger and I get the same information output to the UART as when I power on with the battery: the red LED comes on and stays lit while U-Boot is probing the AXP803. NOTE: I have performed this test with the battery removed. From this information is it safe to conclude that the AXP803 chip is still operational? This would bring me back to my first hypothesis that there is something wrong with the U-Boot initialization. From what I can understand from the serial output, the system is starting with the Boot ROM, then successfully running the secondary program loader, then the ARM trusted firmware, but it's hanging on BL33 (U-Boot proper) before even attempting to load Linux. Thanks, M RE: PinePhone won't boot, U-Boot seems to be broken - dsimic - 04-11-2021 So far, it can be concluded only that the PMIC isn't completely dead. Could it be that the U-Boot somehow got corrupted on your phone? I'd suggest that you try booting from a freshly flashed microSD card, and see what happens. Also, please put the battery back into the phone, it's required to power some parts of the phone, regardless of the charger being connected or not. RE: PinePhone won't boot, U-Boot seems to be broken - Marcade - 04-13-2021 I tried booting the device using the latest Jumpdrive image. It appears to hang while initializing the ARM trusted firmware, or immediately after: Code: Trying to boot from MMC1 What's curious is that the LED does not turn on when I use the Jumpdrive image as it does when I tried to boot Manjaro. I can't remember if that's normal (i.e. the last time I used Jumpdrive to flash the eMMC). This problem has be a bit stumped, if I can't get passed U-Boot, I may not be able to fix U-Boot (assuming the problem is with the boot loader and not the PMIC). Thanks, M RE: PinePhone won't boot, U-Boot seems to be broken - dsimic - 04-14-2021 Please, also try booting from a freshly flashed PostmarketOS or Manjaro ARM image. It's worth a try. RE: PinePhone won't boot, U-Boot seems to be broken - Marcade - 04-14-2021 I flashed a new version of Manjaro (the plasma mobile edition) and the phone successfully booted. However, it took two attempts to boot using the SD card. On the first boot it managed to complete the initialization of the PMIC, but it locked up when loading the Linux kernel. On the second attempt, the OS booted and I was able to go through the setup. I then shut it down, removed the SD card and the phone successfully booted from the eMMC. I've restarted twice now. Things seem to be mostly back to normal. However, I see the following error on the serial console when I boot the OS on my eMMC: Code: U-Boot 2020.07-rc4-2 (Nov 11 2020 - 21:49:00 +0000) Manjaro Linux ARM Could this indicate that there is a problem with the image on the eMMC? Then later the following error is displayed: Code: Starting kernel ... I'm going to guess that this means that the system on chip ID is not being returned correctly. The other thing that I find curious is how the particular version of Manjaro that I used kicked the device into life. Having tried a fresh Jumpdrive and PostmarketOS image without success previously. In any case, the issue seems to be resolved for the moment. Thank you very much for your advice. RE: PinePhone won't boot, U-Boot seems to be broken - dsimic - 04-20-2021 (04-14-2021, 04:08 PM)Marcade Wrote: I flashed a new version of Manjaro (the plasma mobile edition) and the phone successfully booted. However, it took two attempts to boot using the SD card. On the first boot it managed to complete the initialization of the PMIC, but it locked up when loading the Linux kernel. Great results! The issues were obviously caused by the Jumpdrive image; in particular, the root cause was surely the who-knows-what version of U-Boot it is using. One of the possible issues that come to mind is that the U-Boot used in Jumpdrive lacks proper support for the PinePhones with 3 GB of RAM. Supporting the 3 GB variant requires some "trickery" to get the A64 SoC to detect and use different ranks in a single DRAM chip. By the way, Manjaro ARM uses the latest available version of U-Boot, with a set of patches (check out the sources of uboot-pinephone and uboot-pinephone-crust packages), so it's always best to verify or test the things out using the latest Manjaro ARM image. It is curious why it took two boots to get the phone working... On the first attempt you've most probably encountered a strange bug that sometimes prevents the phone from booting, which requires the phone to be forcedly powered off (long press on the power button) and then turned back on. I've also experienced that bug on my PinePhone a few times, but I haven't managed to debug that (yet). (04-14-2021, 04:08 PM)Marcade Wrote: However, I see the following error on the serial console when I boot the OS on my eMMC: It seems that U-Boot is unable to find a valid environment file (which is OK not to be present) on a FAT-formatted partition (i.e. /boot) and ends up printing the "*** Warning - bad CRC, using default environment" error mesage in the env_set_default() function, which is called from the env_import() function, which, in turn, is called from the env_fat_load() function. Could you, please, post a detailed list of files in the /boot directory on your PinePhone, upon booting it up with this error message present in the U-Boot output? That will allow a better insight into the issue. Anyway, this isn't something to worry too much about. (04-14-2021, 04:08 PM)Marcade Wrote: Then later the following error is displayed: I'm really not an expert in that field, but this seems to be an error generated by a lacking feature in the phone firmware; see this article for more information. However, I wouldn't worry too much about this error message for now. (04-14-2021, 04:08 PM)Marcade Wrote: The other thing that I find curious is how the particular version of Manjaro that I used kicked the device into life. Having tried a fresh Jumpdrive and PostmarketOS image without success previously. As already noted, Manjaro ARM uses the latest available version of U-Boot, while Jumpdrive and PostmarketOS probably don't. In fact, PostmarketOS should be using the latest version of U-Boot, but I don't know for sure; their build system is so convoluted that I gave up on trying to get myself familiar with it. (04-14-2021, 04:08 PM)Marcade Wrote: In any case, the issue seems to be resolved for the moment. You're welcome. |