Thinkpad update firmware on Linux (X1 extreme/P1 gen2)

last updated in Categories , , , ,

I have ThinkPad P1 Gen 2 or X1 Extreme 2nd Laptop. Can I easily Install ThinkPad firmware updates on Linux using GUI?

The latest models of Lenovo ThinkPads can update the firmware using the Linux Vendor Firmware Service (LVFS). When updates are published on LVFS, GNOME can notify you about upgrades. Installing the firmware on Linux wasn’t an easy thing as most vendors only supported the Windows family of operating systems. However, LVFS makes it easier to install UEFI firmware updates on Linux systems. LVFS allows OEMs and ODMs to distribute firmware for Linux.

ADVERTISEMENTS


What is fwupd?

fwupd is an open-source daemon for managing the installation of firmware updates on Linux-based desktop and server operating systems, developed by GNOME. As explained earlier, the Linux Vendor Firmware Service (LVFS) gives resources for OEMs vendors to package their UEFI firmware updates. fwupd works using GUI tools such as GNOME Software or CLI tool such as fwupdmgr command.

Do NOT turn off your computer or remove the AC adapter while update is in progress. Please make sure your laptop power supply plugged in. In some cases, the battery must charge up to 80-100%. Desktop or server users make sure your system plugged into an uninterruptible power source (UPS) unit to avoid bricking of the motherboard. The author and nixCraft site is not responsible for any damages.

Thinkpad update firmware on Linux GUI

GNOME Software (also known as Ubuntu Software on Ubuntu desktop) is a utility for application and updates on Linux. It is part of the GNOME Core Applications. The same app supports fwupd for servicing of system firmware.
Thinkpad update firmware on Linux using Gnome GUI
All you have to do is click the Update button and reboot the system to install firmware updates.

Install ThinkPad firmware updates in Linux using the cli

The fwupdmgr command-line tool allows Linux system administrators to query and control the fwupd daemon. You can perform actions such as installing or downgrading firmware for motherboards, SSD, and other parts of the system supported by LVFS.

How to list all devices that support firmware updates

Run:
sudo fwupdmgr get-devices
fwupdmgr get-devices

How to find your BIOS version on Linux

One can check bios version on Linux using the dmidecode command:
sudo dmidecode -s bios-version
Try the following bash for loop:
for d in system-manufacturer system-product-name bios-release-date bios-version
do
echo "${d^} : " $(sudo dmidecode -s $d)
done

Thinkpad BIOS version

Download and refresh metadata from LVFS server

Execute:
sudo fwupdmgr refresh
Sample outputs:

Fetching metadata https://cdn.fwupd.org/downloads/firmware.xml.gz
Downloading…             [***************************************]
Fetching signature https://cdn.fwupd.org/downloads/firmware.xml.gz.asc

List updates available for any devices on the system

Run:
fwupdmgr get-updates
Thinkpad list updates available for any devices on the system

Install BIOS and other firmware updates

Please note that updates that can be applied live will be done immediately and firmware updates will install at the next reboot:
sudo fwupdmgr update

fwupd in action
fwupd is allowing to update devices firmware, including UEFI

Your system will reboot and presented with the following screen:
Thinkpad Update - 1
During the update process, your desktop or laptop will reset (reboot) multiple times:
Thinkpad Update - 2

Verification

Make sure we got an updated version using the dmidecode command:
sudo dmidecode -s bios-version
Sample outputs:

[sudo] password for vivek: 
N2OET41W (1.28 )

Are these commands and GUI tools limited to Thinkpads?

No. Other vendors such as Dell, Acer, and many additional OEMs support updating modern Linux desktop using LVFS. Please see this page for a supported list of vendors.

A note about KDE desktop users

KDE Discover is a software center used by Plasma desktop. However, you need the release of KDE Plasma version 5.14 for firmware updates.

Can I still update my device firmware under Linux if not supported by these GUI and CLI tools for LVFS?

Yes, you don’t need MS-Windows tax. Please see how to extract the bootable image and install the firmware using a USB pen drive under Linux operating systems.

Conclusion

You learned how to install Thinkpad BIOS firmware updates on Linux running on different Linux distros such as Ubuntu, Debian, Fedora, and others.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.


ADVERTISEMENTS

1 comment

    Still, have a question? Get help on our forum!