Updating Firmware on the Librem 5

These instructions assume you are using at least PureOS 10.3 ‘Byzantium’ on your computer and Librem 5.

  1. Das U-Boot (bootloader)
  • Librem 5:
wget https://source.puri.sm/Librem5/uboot-imx/-/jobs/399069/artifacts/raw/debian/output/u-boot-librem5_2022.10-librem5.1_arm64.deb
sudo apt install ~/u-boot-librem5_2022.10-librem5.1_arm64.deb
sudo u-boot-install-librem5 /dev/mmcblk0
systemctl reboot -i
  1. Tian Tian Xiang Shang (smartcard reader)
  • Librem 5:
sudo apt install git stm32flash
git clone https://source.puri.sm/firmware/ttxs-firmware.git && cd ttxs-firmware
./scripts/stm_reflash.sh
  1. TPS65982 (USB PD controller)
  • Desktop:
sudo apt install git uuu
git clone https://source.puri.sm/Librem5/librem5-devkit-tools && cd librem5-devkit-tools
wget https://source.puri.sm/Librem5/firmware-tps6598x-nonfree/-/raw/master/tps65982-librem5-dp-alt-mode.bin
./scripts/write_flash.sh tps65982-librem5-dp-alt-mode.bin

After executing the script, put your Librem 5 into serial download mode by holding the volume up button first, then simultaneously hold the power button for one second.

  1. WLAN (Firmware Jail)
  • Desktop:
sudo apt install git uuu
git clone https://source.puri.sm/Librem5/librem5-devkit-tools && cd librem5-devkit-tools
mkdir -p files && wget https://source.puri.sm/Librem5/firmware-librem5-nonfree/-/jobs/389262/artifacts/raw/firmware.sqsh -O files/firmware.sqsh
./scripts/write_flash.sh files/firmware.sqsh 0x30000

After executing the script, put your Librem 5 in serial download mode by holding the volume up button first, then simultaneously hold the power button for one second.

  • Librem 5:
sudo apt install librem5-fw-jail
systemctl reboot -i
  1. Broadmobi BM818 (cellular modem)
  • Librem 5:
sudo apt install bm818-tools unzip
wget https://cloud.puri.sm/s/25cTx88eQA6scXD/download -O BM818-reflash.zip
unzip BM818-reflash.zip && cd BM818-reflash
sudo apt install ./firmware-bm818-nonfree_0.6pureos1+librem5ci83034.2dcae67_arm64.deb ./qdl_0.2pureos1+librem5ci77119.0103259_arm64.deb

Afterwards, ensure the cellular modem is on, open Flash BM818 in the App Drawer, then provide your user password in the Terminal when prompted.

YAD will display and provide a dropdown menu for you to select a cellular modem firmware region variant. You may need to use Phosh Mobile Settings’ Compositor to scale the application to display properly.

  • North America: YCSN0_M100E_1ACD_B325_V1.0.0.2_20220930_BM818-A1
  • Europe: YCSN0_M100E_1BAD_3117_V1.0.0.2_20220930_BM818-E1
  • Asia: YCSN0_M100E_1CMD_B227_V1.0.0.2_20220930_BM818-T1

After selecting an option, tap OK. The next dialog will prompt you to select a backup from the dropdown menu. Select the backup and tap OK.

  1. FT8006P (touchscreen controller)

Ask @dos.

  1. Teseo-LIV3F (GPS module)

Ask @dos.

There are more unlisted firmware, but there are no clear documentation nor instructions for updating them.

7 Likes