[MyL5] Australia/New Zealand

Today I tested … upgrading the firmware on the USB-C PD controller. :open_mouth: (emoji indicates scary concern about bricking the device)

The command to check the firmware version is

sudo cat /sys/kernel/debug/tps6598x/0-003f/customer_use

and that was giving

0x4c35445000000101

which I took to mean version 0.1.1 - and that is not the latest.

The update procedure is a little untidy for me because my distro (Ubuntu) does not include uuu so I had to build uuu from source using the info from Purism. If anyone else needs to do this, I suggest replying here for more info.

I will note something from Purism’s web site: IMPORTANT: The firmware is for the Evergreen and Dogwood batches. Don’t flash it to other devices.

Otherwise the needed info is here: https://source.puri.sm/Librem5/firmware-tps6598x-nonfree/-/tree/master

I don’t have a USB-C port on my computer, so I had to use a USB-C Male to USB-A Male cable that I had lying around (and that I connected directly into a USB 3.0 port on my computer). I would suppose that the update procedure might try to make the most limited demands on the USB port but I didn’t push it (e.g. by trying a USB 2.0 port or by trying to do it through a hub).

While connected for update, the Librem 5 showed up with lsusb as:

Bus 999 Device 999: ID 1fc9:012b NXP Semiconductors i.MX 8M Dual/8M QuadLite/8M Quad Serial Downloader

where obviously the bus number and device number will be different on your computer.

The update failed (harmlessly?) the first time due to not running the script as root (and the Purism doco doesn’t specifically mention this). The reasonable error was:

Fail Failure open usb device,Try sudo uuu

Maybe a udev rule on my computer would avoid that problem but I don’t anticipate doing this very often so couldn’t be bothered, so sudo ... it is.

After the update, and rebooting the phone, the above cat command gives

0x4c35445000000200

which I took to mean 0.2.0 - so that looks like winning!

3 Likes