试试用 Linux 中的 fwupd 更新 ThinkPad 固件

之前曾经介绍过 KDE 的新软件中心应用 Discover 整合了 fwupd 这个 Linux 中的固件更新功能。但是那时候用起来还是不太顺手。今天再次通过命令行尝试使用 fwupd 来更新 ThinkPad T470s 的固件,已经没有任何问题了,感觉非常方便,而且还可以选择以后再重新启动系统。

通过命令行的使用方法很简单。查询更新,

sudo fwupdmgr get-updates

如果有更新的话就可以直接下载安装,

sudo fwupdmgr update

看看我刚在 ThinkPad T470s 上查询和升级的结果(为了省地方,那些细节被我省略掉了),

# fwupdmgr get-updates
Firmware metadata has not been updated for 30 days and may not be up to date.

Update now? (Requires internet connection) [y|N]: y
Fetching metadata https://cdn.fwupd.org/downloads/firmware.xml.gz
Downloading…             [***************************************]
Fetching signature https://cdn.fwupd.org/downloads/firmware.xml.gz.asc

Successfully downloaded new metadata: 5 local devices supported
• Thunderbolt Controller has no available firmware updates
• Unifying Receiver has the latest available firmware version
20HFCTO1WW
│
├─SAMSUNG MZVLW512HMJP-000L7:
│ │   Device ID:           ..........
│ │   ..........           ..........
│ │   Device Flags:        • Internal device
│ │                        • Updatable
│ │                        • Requires AC power
│ │                        • Supported on remote server
│ │                        • Needs a reboot after installation
│ │                        • Device is usable for the duration of the update
│ │ 
│ └─PM961 Device Update:
│       New version:       7L7QCXY7
│       ..........         ..........       
│       Supported devices and firmware version :
│       
│        • SAMSUNG MZVLW512HMJP-000L7, fw 7L7QCXY7
│        • SAMSUNG MZVLW1T0HMLH-000L7, fw 7L7QCXY7
│       
│       Supported Product Scope :
│       
│        • Lenovo ThinkPad. ThinkCentre. ThinkStation. IdeaCentre
│     
├─System Firmware:
│ │   ..........           ..........
│ │ 
│ ├─ThinkPad T470s System Update:
│ │     ..........         ..........
│ │   
│ ├─ThinkPad T470s System Update:
│ │     ..........         ..........
│ │   
│ └─ThinkPad T470s System Update:
│       ..........         ..........
│     
├─UEFI Device Firmware:
│ │   ..........           ..........
│ │ 
│ └─ThinkPad T470s Corporate ME Update:
│       ..........         ..........
│     
└─UEFI Device Firmware:
  │   ..........           ..........
  │ 
  └─ThinkPad T470s Embedded Controller Update:
        ..........         ..........

然后执行升级,

# fwupdmgr update
• Thunderbolt Controller has no available firmware updates
Upgrade available for SAMSUNG MZVLW512HMJP-000L7 from 5L7QCXY7 to 7L7QCXY7
20HFCTO1WW must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]: Y
Downloading 7L7QCXY7 for SAMSUNG MZVLW512HMJP-000L7...
Fetching firmware https://fwupd.org/downloads/486b0b2e66bfd6c4edf3667fa940434306722f3b52a57fde282d797542ec63f3-Lenovo-SAMSUNG-PM961-NVMe-7L7QCXY7_512GB_1TB.cab
Downloading… [***************************************] Less than one minute remaining…
Decompressing… [***************************************]
Authenticating… [***************************************]
Updating SAMSUNG MZVLW512HMJP-000L7… ]
Writing… [***************************************]
Successfully installed firmware
Upgrade available for System Firmware from 0.1.33 to 0.1.36
20HFCTO1WW must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]: Y
Downloading 0.1.36 for System Firmware...
Fetching firmware https://fwupd.org/downloads/9f5919c3e922568e8e6793bbf1ed4b3e916399ab1076f7dcacf5a7cf6cdfd514-Lenovo-ThinkPad-T470s-SystemFirmware-1.36.cab
Downloading… [***************************************] Less than one minute remaining…
Decompressing… [***************************************]
Authenticating… [***************************************]
Updating System Firmware…[***************************************]
Scheduling… [***************************************]
Successfully installed firmware
Upgrade available for UEFI Device Firmware from 184.65.3590 to 184.70.3626
20HFCTO1WW must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]: Y
Downloading 184.70.3626 for UEFI Device Firmware...
Fetching firmware https://fwupd.org/downloads/3e0b9142cec8eca0385734c759e4e3f1023e64cf-Lenovo-ThinkPad-T470s-CorporateMEFirmware-11.8.70.3626.cab
Downloading… [***************************************] Less than one minute remaining…
Decompressing… [***************************************]
Authenticating… [***************************************]
Updating UEFI Device Firmware…***********************************]
Scheduling… [***************************************]
Successfully installed firmware
Upgrade available for UEFI Device Firmware from 0.1.20 to 0.1.21
20HFCTO1WW must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]: Y
Downloading 0.1.21 for UEFI Device Firmware...
Fetching firmware https://fwupd.org/downloads/fd56cad96f216b4607434a202edd0c0e122d43c3-Lenovo-ThinkPad-T470s-ECFirmware-1.21.cab
Downloading… [***************************************] Less than one minute remaining…
Decompressing… [***************************************]
Authenticating… [***************************************]
Updating UEFI Device Firmware…***********************************]
Scheduling… [***************************************]
Successfully installed firmware
• Unifying Receiver has the latest available firmware version

An update requires a reboot to complete. Restart now? [y|N]: N

嗯,我很久没有更新了,所以看着内容有点多。

可以看到最后提示说需要重启系统。但是我们可以选择不立即重启。这比在 Windows 中更新固件要更便利。在 Windows 下使用 Lenovo 的升级程序更新固件的时候是需要立即重启才更新的。

不过这里的更新似乎没有 Lenovo 官网的更新及时。我看到官网提示说 BIOS 更新到 1.37 了,

1.37  (N1WUJ30W)  1.37  (N1WET58W)      1.21  (N1WHT39W)    01    2020/03/24
1.36  (N1WUJ29W)  1.36  (N1WET57W)      1.21  (N1WHT39W)    01    2019/12/23

但是这里才 0.1.36。好像版本号也不完全相同。

但是有个意外的惊喜。之前使用 Lenovo 官方的 NVME SSD 固件更新的时候,总是提示说我的 PM961 没有新固件,但是这里居然更新了。

更新 2020-09-23

下面的问题,BIOS 固件实际上并没有被更新,是因为 Tumbleweed 中缺少 fwupdate-efi 组件。虽然该问题已经提出来超过两年了,不过似乎没有任何进展。

更新 2020-04-04

经过重启系统以及反复尝试之后发现,BIOS 固件,也就是上面列表中的 System Firmware 和 UEFI Device Firmware,虽然总是显示更新成功,但是实际上并没有安装更新。目前原因和解决方案未知。通过 Windows 10 安装更新则没有问题。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/hands-on-thinkpad-and-fwupd/>。转载请保留此信息及相应链接。

8 条关于 “试试用 Linux 中的 fwupd 更新 ThinkPad 固件” 的评论

  1. 你好, 这个 fwupd 更新 bios 和 win 更新 bios 是等效的吗?
    是说 只要一个系统内更新成功, 就可以吗.

    之所以怀疑这个问题, 是因为 Linux 里 还有 linux-firmware 包,
    这个东西 感觉 和 win 不是通用的, 好像是 linux 自己用, 还和 kernel driver 对应的.

    • Linux 里的 firmware 包没有包含 UEFI/BIOS 的固件更新。fwupd 更新的固件跟在 Windows 或者 BIOS 更新光盘提供的更新是一样的,都是设备商官方提供的。不过目前我还没有用 fwupd 成功更新 ThinkPad 的固件 :(

  2. 另外 我的 x1carbon gen7 最近翻车了:
    电池时常抽风消失(检测不到电池), 有时又显示回来.

    英文论坛里, 好像有一打人也遇到了.

  3. 根据archlinux wiki里,似乎是引导顺序的问题,重启后选择对应引导。

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)