Librem 5 flashing process fail (LED turn green

Looks like Purism had to restore to an earlier backup snapshot of their forums, so if your Discourse settings are the default configuration, use my last reply sent by Discourse to your email for the reflashing procedure. Otherwise, I will need to relist all of the steps again.

Yeah, WTD is happening. I feel as if a number of my posts have disappeared. Has Purism actually posted any comment to the effect of the above?

No, but I do not follow any of their social media platforms and/or accounts. The most I did was read blog posts from @Kyle_Rankin, but that has stopped now too.

Sorry for bumping this topic but searching the forum has not revealed a solution to the flash and jumpdrive boot failures (Led turns solid green + hang) on my L5USA.

I have successfully flashed my Oct '21 L5USA about a dozen times and have used jumpdrive probably a dozen times as well - no problems.

A few weeks ago the L5 started randomly hanging. I decided to roll back to a previous image suspecting the random hangs might be related to an update. I was able to boot and use the system after the flash a few times but another random hang occurred and that was it. Since then the phone cannot be booted or placed in flash or jumpdrive mode.

  • Checked battery voltages - AOK, monitored charging via inline USB VOM - AOK.
  • Tried several USB-A/USB-C cables. My Dell, Thinkpad and RPi 400 (all Debian) respond with same failure.
  • Flash & jumpdrive software had been working perfectly up to this point.

UUU properly recognizes the NXP chip. For both the flash-image and jumpdrive scripts, the phone is placed in flash mode i.e. turn off switches, remove battery, insert USB-C, insert battery - constant red LED, invoke script.
Below are terminal sessions for the flash and jumpdrive boot attempts:

============
Flash Image Attempt

============
$ sudo ./scripts/librem5-flash-image --skip-cleanup --skip-download --dir ./Images --stable
2024-04-07 19:54:10,841 INFO Looking for librem5r4 luks byzantium image
2024-04-07 19:54:11,540 INFO Found disk image Build “stable” ‘Last stable librem5r4 build’ from Fri Jun 23 22:21:40 2023
2024-04-07 19:54:13,142 INFO Found uboot Build 85 from Thu Aug 25 09:22:41 2022
2024-04-07 19:54:13,142 INFO Downloading to ./Images
2024-04-07 19:54:13,142 INFO Skipping download and using local image ‘./Images/librem5r4.img’

        Enter the flashing mode by holding volume-up button while turning the phone on.

        If it's not detected, follow these steps:
        - Ensure that the phone is powered off
        - Turn all Hardware-Kill-Switches off
        - Unplug the USB cable if connected
        - Remove battery
        - Hold volume-up button
        - Insert the USB-C cable (red light blinks, no green light)
        - Reinsert the battery (red and green lights constantly on, the script will continue)
        - Release volume-up button

Searching…
uuu (Universal Update Utility) for nxp imx chips – lib1.4.77

Build in config:
Pctl Chip Vid Pid BcdVersion
==================================================
SDPS: MX8QXP 0x1fc9 0x012f [0x0002…0xffff]
SDPS: MX8QM 0x1fc9 0x0129 [0x0002…0xffff]
SDPS: MX8DXL 0x1fc9 0x0147
SDPS: MX28 0x15a2 0x004f
SDPS: MX815 0x1fc9 0x013e
SDPS: MX865 0x1fc9 0x0146
SDPS: MX8ULP 0x1fc9 0x014a
SDPS: MX8ULP 0x1fc9 0x014b
SDP: MX7D 0x15a2 0x0076
SDP: MX6Q 0x15a2 0x0054
SDP: MX6D 0x15a2 0x0061
SDP: MX6SL 0x15a2 0x0063
SDP: MX6SX 0x15a2 0x0071
SDP: MX6UL 0x15a2 0x007d
SDP: MX6ULL 0x15a2 0x0080
SDP: MX6SLL 0x1fc9 0x0128
SDP: MX7ULP 0x1fc9 0x0126
SDP: MXRT106X 0x1fc9 0x0135
SDP: MX8MM 0x1fc9 0x0134
SDP: MX8MQ 0x1fc9 0x012b
SDPU: SPL 0x0525 0xb4a4 [0x0000…0x04ff]
SDPV: SPL1 0x0525 0xb4a4 [0x0500…0x9998]
SDPU: SPL 0x0525 0xb4a4 [0x9999…0x9999]
SDPU: SPL 0x3016 0x1001 [0x0000…0x04ff]
SDPV: SPL1 0x3016 0x1001 [0x0500…0x9998]
FBK: 0x066f 0x9afe
FBK: 0x066f 0x9bff
FB: 0x0525 0xa4a5
FB: 0x18d1 0x0d02
FB: 0x3016 0x0001
Wait for Known USB Device Appear…

Start Cmd:CFG: SDP: -chip MX8MQ -compatible MX8MQ -vid 0x316d -pid 0x4c05
Okay (0s)
New USB Device Attached at 1:12
1:12>Start Cmd:SDP: boot -f u-boot-librem5.imx
6400%1:12>Okay (3.059s)

LED turns solid green
After 35 secs LED turns yellow (NO alternating green-red etc)

Nothing else happens L5 frozen

============
jumpdrive Attempt

============

+++ uuu finds the NXP chip +++

spacex:$ uuu -lsusb
uuu (Universal Update Utility) for nxp imx chips – lib1.4.77

Connected Known USB Devices
Path Chip Pro Vid Pid BcdVersion
==================================================
1:12 MX8MQ SDP: 0x1FC9 0x012B 0x0001

+++ invoke jumpdrive boot script+++

spacex:$ ./boot-purism-librem5.sh
uuu (Universal Update Utility) for nxp imx chips – lib1.4.77

Success 0 Failure 0

1:12 1/ 1 [=================100%=================] SDP: boot -f u-boot-librem5.bin

+++ jumpdrive boot stops - LED solid green, ~35 secs later LED solid yellow +++

+++ Script terminated using ctrl-C +++

+++ uuu still detects NXP chip… +++

spacex:$ uuu -lsusb
uuu (Universal Update Utility) for nxp imx chips – lib1.4.77

Connected Known USB Devices
Path Chip Pro Vid Pid BcdVersion
==================================================
1:12 MX8MQ SDP: 0x1FC9 0x012B 0x0001

+++ however NXP chip no longer responds to boot script +++

1 Like

Install the udev rules so you do not require sudo.

sudo ./scripts/librem5-flash-image --udev

Then use commands without it and display their output.

Udev has always been installed on my three flash script install hosts.
The ‘librem5-flash-image’ utility has always worked with OR without sudo.

+++ librem-flash-image without sudo +++

Note 1: test result is the same as when using sudo

Note 2: The repository is currently inaccessible except for a single librem5r2.img file so I temporarily renamed the r4 image in my flash-image ‘Images’ folder to 'librem5r2.img to ‘trick’ the script to proceed to the boot phase:

fraila@spacex:~/librem5-flash-image $ ./scripts/librem5-flash-image --skip-cleanup --skip-download --board=librem5r2 --dir ./Images
2024-04-08 12:50:16,393 INFO Looking for librem5r2 luks byzantium image
2024-04-08 12:50:28,609 INFO Found disk image Build 16667 ‘luks librem5r2 byzantium image’ from Tue Apr 2 00:17:23 2024
2024-04-08 12:50:30,294 INFO Found uboot Build 85 from Thu Aug 25 09:22:41 2022
2024-04-08 12:50:30,295 INFO Downloading to ./Images
2024-04-08 12:50:30,295 INFO Skipping download and using local image ‘./Images/librem5r2.img’
uuu (Universal Update Utility) for nxp imx chips – lib1.4.77

Build in config:
Pctl Chip Vid Pid BcdVersion
==================================================
SDPS: MX8QXP 0x1fc9 0x012f [0x0002…0xffff]
SDPS: MX8QM 0x1fc9 0x0129 [0x0002…0xffff]
SDPS: MX8DXL 0x1fc9 0x0147
SDPS: MX28 0x15a2 0x004f
SDPS: MX815 0x1fc9 0x013e
SDPS: MX865 0x1fc9 0x0146
SDPS: MX8ULP 0x1fc9 0x014a
SDPS: MX8ULP 0x1fc9 0x014b
SDP: MX7D 0x15a2 0x0076
SDP: MX6Q 0x15a2 0x0054
SDP: MX6D 0x15a2 0x0061
SDP: MX6SL 0x15a2 0x0063
SDP: MX6SX 0x15a2 0x0071
SDP: MX6UL 0x15a2 0x007d
SDP: MX6ULL 0x15a2 0x0080
SDP: MX6SLL 0x1fc9 0x0128
SDP: MX7ULP 0x1fc9 0x0126
SDP: MXRT106X 0x1fc9 0x0135
SDP: MX8MM 0x1fc9 0x0134
SDP: MX8MQ 0x1fc9 0x012b
SDPU: SPL 0x0525 0xb4a4 [0x0000…0x04ff]
SDPV: SPL1 0x0525 0xb4a4 [0x0500…0x9998]
SDPU: SPL 0x0525 0xb4a4 [0x9999…0x9999]
SDPU: SPL 0x3016 0x1001 [0x0000…0x04ff]
SDPV: SPL1 0x3016 0x1001 [0x0500…0x9998]
FBK: 0x066f 0x9afe
FBK: 0x066f 0x9bff
FB: 0x0525 0xa4a5
FB: 0x18d1 0x0d02
FB: 0x3016 0x0001
Wait for Known USB Device Appear…
New USB Device Attached at 1:12
1:12>Start Cmd:SDP: boot -f u-boot-librem5.imx
6400%1:12>Okay (3.06s)

LED turns solid green
After 35 secs LED turns yellow

Nothing else happens L5 frozen - same result as script invoked with sudo.

FYI

1 Like

Okay, contact Purism support.

It’s a continuing challenge to convince folks that my flash and jumpdrive problems have nothing to do with the librem5-flash-image and jumpdrive scripts or running them - both had been working perfectly for more than two years.

For further enlightenment here is a look at where the problem seems to be.
The image shows the jumpdrive script is active, the phone is in flash mode and uuu attempts to load file u-boot-librem5.bin.
FYI

3 Likes

Did you contact Purism support as I mentioned earlier?

Twice.
Both times it was suggested that I use the --stable arg. Note that–stable applies only to the download step of flash-image and is not used at all in jumpdrive.
I am currently researching the websites of other companies using the NXP iMX8 [not for phones!]. There are NXP procedures and and scripts provided by these companies to their customers for recovery of the NXP bootloader. I appreciate that it’s probably not a good idea for this to be made generally available.
I intend to close the support request with Purism and acquire an alternative mobile device.
FYI

2 Likes

Okay, would you be able to provide links to these resources in case others experience the same issue as yours?

Out of curiosity I selected the URLs below a few days ago to see if there is anything useful for development of a solution to rescue the crippled NXP in my L5. Please note a quick browse suggested that none of the information contained in these sites appears to be useful ‘as is’ for the purpose of ‘howto’ and/or cut-n-paste instructions for the L5 hardware and software architecture. A basic understanding of support techniques for similar technology would definitely be an asset.

My L5USA has now been retired. Thanks to the Purism team for their support and best wishes for the future - the world ‘needs’ a Purism Linux phone.

1 Like