08-03-2018 06:16 AM - edited 08-03-2018 06:18 AM
So I've been super excited about the LVFS (Linux Vendor Firmware Service) project for a long time now. Up until recently Dell was the only major OEM to extensively support it with a wide range of projects. They've also made a lot of contributions to the project. We've known Lenovo has been showing interest and conducted testing in the past but just now I played around with the fwupdmgr and noticed that my X1C5 is now listed as supported and the 1.34 BIOS is available through it!
The official LVFS Vendor Status page now also shows Lenovo has having uploaded firmware and that several devices are supported. This is awesome news and totally cool to see not just the latest X1C being supported but the 5th gen as well.
If you're on Linux, try running
to see if there's anything available for your laptop. If you're running Gnome you should also see updates directly in the Software Center as it integrates with fwupdmgr.
This is an awesome service and saves you the need to boot up into a Windows environment or flash USB sticks to install firmware updates. It also saves you the hassle of constantly having to check the Lenovo support site for new firmware updates. Granted, it seems only BIOS updates are shipped for now, but hopefully it's a sign of things to come.
I installed the BIOS update and the experience was extremely smooth and painless. It even showed a nice installation graphic I havent seen before.
Great job, Lenovo! You dont always show much love for your Linux userbase these days but this is great news! Lenovo is the only other major computer OEM that uses LVFS (Dell being the other one) so this is big. If anyone from the Thinkpad Linux team (if there is such a team) is reading. Thank you!
08-03-2018 08:06 AM
This is really a great move! Well done, Lenovo!
08-06-2018 05:29 AM - edited 08-06-2018 05:48 AM
Thanks @ardevd for the insights! I can confirm that updating the BIOS of my X1C6 worked flawlessly with the `fwupdmg` cli-commands, thus updating from v1.08 to v1.27 in my case. I admit I was a bit nervous and it took some stealth patience, as after the initial reboot, I was staring at a complete black screen for maybe a minute. I checked if the power was on (yes it was, the power button was lit) and I had to tell myself twice not to turn the power off and on again, as it seemed that nothing was happening. My patience had paid off and after the said minute of complete darkness, I was rewarded with the following splashscreen:
After the update, my X1C6 was working as usual again, with the latest BIOS.
08-17-2018 01:20 AM
This is indeed a step in the right direction! Good job Lenovo.
I also hope that Lenovo will take a look at bugs reported in the forum so we don't have to use all these workarounds.
09-04-2018 06:55 PM
I also have the X1C5 and when I check the latest available BIOS version is indeed 1.34.
My system has version 1.27 however but the
command did not show the 1.34 version.
That may be because get-devices showed the following:
# fwupdmgr get-devices ThinkPad X1 Carbon Thunderbolt Controller DeviceId: a87b1d8342235690ead15e4e3762ad8029be08eb Guid: 89d9d1e6-9e4c-5f07-b5c1-603da3d61835 Summary: Unmatched performance for high-speed I/O Plugin: thunderbolt Flags: internal|updatable|registered Vendor: Lenovo VendorId: TBT:0x0109 Version: 15.00 Icon: computer Created: 2018-09-05 ThinkPad Thunderbolt 3 Dock DeviceId: 72c5f7a099f10030cfc26b741b5c709af7163642 Guid: df675f10-53ac-59ca-bddd-0a86ee492920 Plugin: thunderbolt Flags: updatable|registered Vendor: Lenovo VendorId: TBT:0x0108 Version: 15.00 Icon: audio-card Created: 2018-09-05 Unifying Receiver DeviceId: 8277dd2807dca83a687f85228e6232b25b8a943b Guid: 77d843f7-682c-57e8-8e29-584f5b4f52a1 Guid: cc4cbfa9-bf9d-540b-b92b-172ce31013c1 Summary: A miniaturised USB wireless receiver Plugin: unifying Flags: updatable|registered Vendor: Logitech VendorId: USB:0x046D Version: RQR24.00_B0018 VersionBootloader: BOT03.00_B0006 Icon: preferences-desktop-keyboard Created: 2018-09-05
there was an update for the Logitech device and that installed correctly , but as you can see, the laptop itself isn't listed.
I think there's also an update for my docking station, but that doesn't show up either.
Here's what boltctl has to say about it:
# boltctl list ● Lenovo ThinkPad Thunderbolt 3 Dock ├─ type: peripheral ├─ name: ThinkPad Thunderbolt 3 Dock ├─ vendor: Lenovo ├─ uuid: 0077e9a4-cc38-0801-ffff-ffffffffffff ├─ status: authorized │ ├─ authflags: boot │ ├─ authorized: Tue 04 Sep 2018 05:39:03 PM UTC │ └─ connected: Tue 04 Sep 2018 05:39:03 PM UTC └─ stored: no # boltctl info 0077e9a4-cc38-0801-ffff-ffffffffffff ● Lenovo ThinkPad Thunderbolt 3 Dock ├─ type: peripheral ├─ name: ThinkPad Thunderbolt 3 Dock ├─ vendor: Lenovo ├─ uuid: 0077e9a4-cc38-0801-ffff-ffffffffffff ├─ dbus path: /org/freedesktop/bolt/devices/0077e9a4_cc38_0801_ffff_ffffffffffff ├─ status: authorized │ ├─ authflags: boot │ ├─ parent: d1030000-0070-6f08-a31c-7e475dd3181d │ ├─ syspath: /sys/devices/pci0000:00/0000:00:1d.0/0000:06:00.0/0000:07:00.0/0000:08:00.0/domain0/0-0/0-1 │ ├─ authorized: Tue 04 Sep 2018 05:39:03 PM UTC │ └─ connected: Tue 04 Sep 2018 05:39:03 PM UTC └─ stored: no # boltctl info d1030000-0070-6f08-a31c-7e475dd3181d ● Lenovo ThinkPad X1 Carbon ├─ type: host ├─ name: ThinkPad X1 Carbon ├─ vendor: Lenovo ├─ uuid: d1030000-0070-6f08-a31c-7e475dd3181d ├─ dbus path: /org/freedesktop/bolt/devices/d1030000_0070_6f08_a31c_7e475dd3181d ├─ status: authorized │ ├─ authflags: none │ ├─ parent: (null) │ ├─ syspath: /sys/devices/pci0000:00/0000:00:1d.0/0000:06:00.0/0000:07:00.0/0000:08:00.0/domain0/0-0 │ ├─ authorized: Tue 04 Sep 2018 05:39:03 PM UTC │ └─ connected: Tue 04 Sep 2018 05:39:03 PM UTC └─ stored: no
Hope you or anyone else can help :-)
I'm running Debian Sid with KDE
09-06-2018 09:36 PM
How does fwupd relate to the fwupdmgr you discussed?
GitHub - rhboot/fwupdate: System firmware update support for UEFI machines https://github.com/rhboot/fwupdate
On Arch linux I do not see a package called fwupdmgr and a search on LVFS does not return any packages either. I'm wondering if fwupd is the same. It appears to be. The GitHub page for fwupd refers to the LVFS page:
LVFS: Home https://fwupd.org/