试试用 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 安装更新则没有问题。©

本文发表于水景一页。永久链接:<https://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里,似乎是引导顺序的问题,重启后选择对应引导。

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>