Librem 5 flashing process fail (LED turn green

Hi! Thanks for advise. We will try that. Cable we are using the original USB C cable coming with the phone.

1 Like

@Flo127 Hello,did you solve it?
I have the same situation!Currently i think that the battery is okay,because when I measured, its reading is 4.2V
Then,I reflashing the phone.When I insert the USB-c cable, LED goes blinking red

Script execute:
1:2 1/ 1 [=================100%=================] SDP: boot -f u-boot-librem5.imx

But the LED alternates between green and yellow(current without battery)

Hi! Not yet…Traveling due to business. End of the week i will have hopefully more time.

If you solve it let me know. I am also waiting two spare batteries i ordered.

Hi! Any news from your side? I reeceived now my 2 new spare batteries… Still not working. So at least i know it’s not a battery problem.

I am really dissapointed from this product right now.

Hi! I tried your procedure…Still no result. I have now 2 more batteries (new spare). The problem happens when you insert the battery. Doesn’t that mean it fails when the power is supplied from battery? Until we put it in everything is good…

1 Like

This procedure belongs to Librem 5, as other recommended ones, yet quite different as it belongs to flashing mode (up to my understanding of very important post, as linked in this thread), which means mode that discharges inserted battery although connected to laptop/PC USB port. @dos will correct me here if I’m wrong again, please. Anyway and furthermore, I hope you are indeed in contact with support@ from Purism as quite needed that you accept their recommendations on how to try to fix your issue and vice versa that you provide honest feedback to them so that they can coordinate next/proper/relevant step.

I might only speculate that your Librem 5 eMMC is not getting enough power, that your previous installation (flash) was not completed well (didn’t reach its end, which means that Linux Kernel doesn’t work well, because of the unfinished way it was “installed” there), that used USB cable or its USB-C contacts were connected to Thunderbolt port, that flashing data from your laptop was not transferred well to Librem 5 eMMC. Just writing some ideas of mine here but you are the only one that need to be proactive there and ensure that things are “running” smooth there.

Based on above ideas, could you please (as based on above linked post recommending: “run sudo dmesg on the laptop and it should show that an NXP device has been connected”) provide to us here feedback about (as below), this is important for any further thoughts, while I would like to presume (this time) that with your Librem 5 batteries is everything fine (no defect there, to include presuming from my side that there is no hardware defect on your Librem 5). Please let me know if you see following (by choosing adequate USB-A to USB-C cable, preferably USB2.0 but those are rare nowadays), in order to get your Librem 5 eMMC alive again (before executing any PureOS flashing procedure).

First step/procedure:

  1. unplug phone and remove battery,
  2. hold vol+ and re-insert battery,
  3. move your finger away from vol+,
  4. press (once only) and hold (gently) power-on for around 18 seconds.

Is it Librem 5 booting now (green LED light disappeared)?

If first step doesn’t help there:

  1. unplug phone and remove battery,
  2. connect USB-C cable to your Librem 5 port,
  3. hold vol+ and connect USB-A male of currently used cable to your laptop/PC and get blinking red LED light,
  4. re-insert battery and get steady red LED light,
  5. execute uuu -lsusb and lsusb | grep 8M.

Is second step works please (after using Jumpdrive) post here output of: sudo fdisk -l (at least the one related to Librem 5 eMMC).

Reuse for your own benefit related info within this threads:

Disk model: Samsung SSD 970 EVO Plus 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5476ec42

Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 2048 2361344 2359297 1.1G 83 Linux
/dev/nvme0n1p2 * 2361345 1953520064 1951158720 930.4G 83 Linux

Disk /dev/zram0: 8 GiB, 8589934592 bytes, 2097152 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
root@Laptop2022:~#

Later i tried the flash procedure again. But if i connect the phone wit Vol= button pressed it starts vibrating and the LED changes between grenn, yellow and red.

I guess that you are not ready to try anything, not yet! And what you already tried is unknown to me (you are not sharing/asking much). Regarding reaching some conclusions: When you hold Vol+ (without any external cable being connected to the Librem 5 related port) and insert battery back into Librem 5, what is happening? Is it any LED light on? All we need is quite simple answer, either positive or negative.

Please answer my above question, as for now just leave below as still unknown territory:

This instructions are still valid: “Extract the downloaded JumpDrive release archive for the Librem 5, put the device into flash mode, then run the boot-purism-librem5.sh script from the release” (that I already linked here somewhere). Just while sudo fdisk --list step comes afterwards, and Librem 5 eMMC needs to be visible before starting with flash procedure.

EDIT: @Flo127, this post should help you: New Post: Reflashing the Librem 5. Please go over few following ones as well.

With or without battery inserted (referring here to Vol+ or upper Volumen button side or Volumen button edge => LED)?

If i hold Vol+ button (nothing connected) and insert battery nothing happens.

1 Like

This is good sign (correct answer).

apt list uuu −− check if there already installed, if not installed:
sudo apt install uuu

Please hold Volume-up button, connect USB-A to USB-C cable to your Librem 5 and your laptop (still holding Vol+ button, battery is still out). When red LED light starts to blink carefully insert belonging battery (doesn’t matter if steady red LED light not there, just let us know which color you are having there, if any). Now you can move your finger away from Vol+ button :wink:.

This is important, please let us know if you are getting this output:

$ uuu -lsusb
uuu (Universal Update Utility) for nxp imx chips -- lib1.4.193

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

EDIT: When, as needed and predicted, uuu -lsusb output indeed present (same as above), I would preferably avoid using Jumpdrive there (for those LED light reasons) and if you agree just follow this guide: External battery charger for Librem5. Of course that --skip-flash part of proposed guide needs to be removed. Actually you can leave it there for the test (first run) purpose, but for the real flash isn’t meant to be there. In short don’t use --skip-flash, when and if you decide to use this guide, now that your Librem 5 is ready to proceed … after turning-on every HKS (actually disabling power/function toward related chips/cards).

If some clarification needed please let me/us know.

EDIT II: Do not disconnect USB-A to USB-C cable right after flashing procedure DONE (whatever written there, on your laptop command line), please wait for more than several minutes until all install data transferred (relatively slowly) to your Librem 5 eMMC.

EDIT III: After flashing procedure finished (cable disconnected) please power-on your phone with the original power supply, by preferably using original USB-C to USB-C cable (especially if you are unsure that battery still holds enough capacity to finish related PureOS install).

1 Like

Hi! No light after inserting the battery in this procedure.

root@Laptop2022:~# apt list uuu
Auflistung… Fertig
uuu/byzantium,now 1.4.77-1 amd64 [installiert]
root@Laptop2022:~# uuu -lsusb
uuu (Universal Update Utility) for nxp imx chips – libpureos/1.2.91+0git6b465-0pureos+librem5.2-1-g5e5fee8

Unknown option: -lsusb

1 Like

I guess this should be the defect of the motherboard.
I want to know what defects, and how to diagnose it.

I do not think that there was about motherboard replacement. I think that was small production issue with that Librem 5 from @librem5, and that this issue belongs to the past.

Expert people from Purism you will reach by sending message to support@, where providing your purchase reference number (within one year of receiving your Librem 5, I’m quite sure). Rest of this post is just my unofficial/wild guessing, therefore please do not spend to much of your time (although you made myself awake, aren’t you, all fine with me) diagnosing if something broken, actually rely on them helping you to fix what “broken”, when something broken.

You might try to help yourself by flipping USB-C male side of currently used USB-A to USB-C cable and mark upper side if got to the point that USB communication works that way. Take another USB cable … another one until you get to the point that uuu -lsusb actually works there (provides expected output). @Flo127, what I wrote here about uuu -lsusb is not related to your post above, will come back to you soon.

Similarly, while it was about USB communication (and not about exclusive motherboard issue) you should try first to copy files (back and fourth over Nautilus) to some old-fashioned, up to 32GB, preferably USB 2.0 Flash Drive over quality USB-C to USB-A OTG adapter (if not already having some USB-C flash drive, as I don’t). Is it some USB Flash Drive or USB-C SD card reader mounting there at all?

If above doesn’t work on your Librem 5 you should (probably) follow advice in this post: External battery charger for Librem5.

EDIT: Although perhaps USB-C motherboard (bottom one) indeed replaced:

Please start with rereading over again here linked instructions: Flashing to Byzantium.

Now check (apt list ...) if bellow packages already installed, if not:
sudo apt install build-dep python debos bmap-tools f2fs-tools
sudo apt-get build-dep build-essential
sudo apt install python-is-python2
sudo apt install git
sudo apt install python3-jenkins python3-tqdm python3-yaml

And this one is the one that you are looking for, the one that should help you, I think:
sudo ./scripts/librem5-flash-image --udev

Usually I do forget something, but is it uuu -lsusb providing needed output? I hope so.

EDIT: Another simple, yet very important, post: New Post: Reflashing the Librem 5.

I’m not sure if the uuu built from source interfere there? It looks alike to me. “Throwing away” this one from 29-Nov-2019 might/should help there.

Why does my command uuu -lsusb not work? Wrong version of uuu ?

florian@Laptop2022:~$ uuu -lsusb
uuu (Universal Update Utility) for nxp imx chips – libpureos/1.2.91+0git6b465-0pureos+librem5.2-1-g5e5fee8

Unknown option: -lsusb

florian@Laptop2022:~$ uuu
uuu (Universal Update Utility) for nxp imx chips – libpureos/1.2.91+0git6b465-0pureos+librem5.2-1-g5e5fee8

uuu [-d -m -v -V] <bootloader|cmdlists|cmd>

bootloader  download bootloader to board by usb
cmdlist     run all commands in cmdlist file
            If it is path, search uuu.auto in dir
            If it is zip, search uuu.auto in zip
cmd         Run one command, use -H see detail
            example: SDPS: boot -f flash.bin
-d          Daemon mode, wait for forever.
-v -V       verbose mode, -V enable libusb error\warning info
-m          USBPATH Only monitor these paths.
                -m 1:2 -m 1:3

uuu -s Enter shell mode. uuu.inputlog record all input commands
you can use “uuu uuu.inputlog” next time to run all commands

uuu -udev linux: show udev rule to avoid sudo each time
uuu -h -H show help, -H means detail helps

uuu [-d -m -v] -b[run] <emmc|emmc_all|fat_write|qspi|sd|sd_all|spl> arg…
Run Built-in scripts
emmc burn boot loader to eMMC boot partition
arg0: _flash.bin bootloader
arg1: _image[Optional] image burn to emmc, default is the same as bootloader
emmc_all burn whole image to eMMC
arg0: _flash.bin
arg1: _rootfs.sdcard
fat_write update one file in fat partition, require uboot fastboot running in board
arg0: _image image, which cp to fat partition
arg1: _device storage device, mmc\sata
arg2: _partition
arg3: _filename[Optional] file name in target fat partition, only support rootdir now
qspi burn boot loader to qspi nor flash
arg0: _flexspi.bin bootloader
arg1: _image[Optional] image burn to flexspi, default is the same as bootloader
sd burn boot loader to sd card
arg0: _flash.bin
sd_all burn whole image to sd card
arg0: _flash.bin
arg1: _rootfs.sdcard
spl boot spl and uboot
arg0: _flash.bin

uuu -bshow <emmc|emmc_all|fat_write|qspi|sd|sd_all|spl>
Show built-in script

Enjoy auto [tab] command complete by put below script into /etc/bash_completion.d/uuu
_uuu_autocomplete()
{
COMPREPLY=($(/usr/local/bin/uuu $1 $2 $3))
}
complete -o nospace -F _uuu_autocomplete uuu

Yes, definitively (in my opinion).

Above shows that you installed uuu package from official PureOS repository, yet it is not in charge at all (on your system/computer).

Therefore, as I just guess that you build below version of uuu long time ago and forgetting it is still on your computer, please remove/purge this 1.2.91+0git6b465 uuu version, delete content of your current libpureos/ folder (make this folder disappear/gone, for this step being).

Start with this:
sudo apt purge uuu
sudo apt autoremove

Find and delate libpureos/1.2.91+0git6b465-0pureos+librem5.2-1-g5e5fee8 folder.

Please check again with apt list uuu and if hopefully not installed start from beginning:

sudo apt update
sudo apt install uuu
apt list uuu

If now output similar to this one, one of very same uuu package shown, actually installed, proceed with:

$ apt list uuu -a
Listing... Done
uuu/now 1.4.193-1 amd64 [installed,local]
uuu/stable 1.4.77-1 amd64

uuu -lsusb

From here (when above achieved), take a break and go back to any Librem 5 re-flash approach but please do not forget to execute this very important one:

By trying to be focused and short, hope that this post gives you some clarification, and helps.

P.S. Need to go out now but other members will take over if you are having other questions.

root@Laptop2022:~# sudo apt purge uuu
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden Pakete werden ENTFERNT:
uuu*
0 aktualisiert, 0 neu installiert, 1 zu entfernen und 19 nicht aktualisiert.
Nach dieser Operation werden 535 kB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] j
(Lese Datenbank … 179424 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von uuu (1.4.77-1) …
Trigger für man-db (2.9.4-2) werden verarbeitet …
root@Laptop2022:~# sudo apt autoremove
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 19 nicht aktualisiert.
root@Laptop2022:~# apt list uuu -a
Auflistung… Fertig
uuu/byzantium 1.4.77-1 amd64

root@Laptop2022:~# find libpureos/1.2.91+0git6b465-0pureos+librem5.2-1-g5e5fee8
find: ‘libpureos/1.2.91+0git6b465-0pureos+librem5.2-1-g5e5fee8’: Datei oder Verzeichnis nicht gefunden
root@Laptop2022:~# apt list uuu -a
Auflistung… Fertig
uuu/byzantium 1.4.77-1 amd64

root@Laptop2022:~# sudo apt update
Holen:1 https://repo.pureos.net/pureos byzantium InRelease [5,851 B]
Holen:2 https://repo.pureos.net/pureos byzantium-security InRelease [4,581 B]
Holen:3 https://repo.pureos.net/pureos byzantium-updates InRelease [4,580 B]
Es wurden 15.0 kB in 1 s geholt (18.1 kB/s).
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Aktualisierung für 19 Pakete verfügbar. Führen Sie »apt list --upgradable« aus, um sie anzuzeigen.
root@Laptop2022:~# sudo apt install uuu
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden NEUEN Pakete werden installiert:
uuu
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 19 nicht aktualisiert.
Es müssen 164 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 535 kB Plattenplatz zusätzlich benutzt.
Holen:1 https://repo.pureos.net/pureos byzantium/main amd64 uuu amd64 1.4.77-1 [164 kB]
Es wurden 164 kB in 0 s geholt (555 kB/s).
Vormals nicht ausgewähltes Paket uuu wird gewählt.
(Lese Datenbank … 179419 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von …/uuu_1.4.77-1_amd64.deb …
Entpacken von uuu (1.4.77-1) …
uuu (1.4.77-1) wird eingerichtet …
Trigger für man-db (2.9.4-2) werden verarbeitet …
root@Laptop2022:~# apt list uuu
Auflistung… Fertig
uuu/byzantium,now 1.4.77-1 amd64 [installiert]
root@Laptop2022:~# uuu -lsusb
uuu (Universal Update Utility) for nxp imx chips – libpureos/1.2.91+0git6b465-0pureos+librem5.2-1-g5e5fee8

Unknown option: -lsusb

root@Laptop2022:~#

Didnt work and i cant find this folder…:confused:

1 Like

I’ll stay today lazy to do this on my computer and build uuu again, but you should try this:
du -kh /etc/udev/rules.d/70-librem5-flash-image.rules
du -kh /etc/udev/rules.d/
sudo rm -rf /etc/udev/rules.d/
sudo rm -rf /etc/udev/ −− would be only optional, if above doesn’t help.
sudo systemctl reboot

As second step:
sudo ./scripts/librem5-flash-image --udev −− install the udev rules, latest version.

As my above thought here based (mainly) on: https://developer.puri.sm/Librem5/Development_Environment/Phone/Troubleshooting/Reflashing_the_Phone.html.

Aftewards uuu -lsusb should work on your computer anyway (otherwise I have no clue on why it is not working, just probably I didn’t look deep enough at this issue of yours).

When you get there (uuu -lsusb works as expected) and ready (you already know that I’m not focused all the way, and sometimes not helping much, but hope you’ll manage to remove what blocks you at this moment from successful re-flash of this Linux phone), as first please ensure that your Librem 5 phone is in flashing mode and execute (hold Volume-up key, etc.):

~$ lsusb | grep 8M
Bus 002 Device 014: ID 1fc9:012b NXP Semiconductors i.MX 8M Dual/8M QuadLite/8M Quad Serial Downloader
~$ uuu -lsusb