最近逃离了 Windows(换用了Fedora),并用 Discover 更新了系统。然后惊奇的发现: Fedora 用的固件更新 fwupd 会无法更新我的 ThinkPad 的 ME 固件。我的第一个想法是 手动更新 ME 固件,结果发现 ME 固件必须要在 Windows 下更新。所以我决定禁用 fwupd。

PS:我不去尝试修复 fwupd 是因为其给出来的报错信息:

1
Error 334: Sku capabilities bits are different btween the Updarte Image and the Flash Image.

直觉感觉是 fwupd 推送错了固件。换句话说,不是我这端的问题。

禁用特定固件

去禁用更新,需考虑修改其配置。fwupd 的配置在 /etc/fwupd/ 下。我在 /etc/fwupd/ 下找到了 fwupd.conf

打开内容后发现需要

1
# use `man 5 fwupd.conf` for documentation

通过 man 我发现有个配置是 DisabledDevices,其可以禁用特定设备 UUID。其配置格式如下

1
2
3
4
DeviceUUID : UUID;
Devices : DeviceUUID (';' DeviceUUID)*;
####################################
DisabledDevices = Devices

因此我们的目标变更为找到设备的 UUID。

1
fwupdmgr get-devices

我们可以找到设备 UUID

然后修改 /etc/fwupd/fwupd.conf,添加 DisabledDevices 配置。

1
DisabledDevices = 12345678-1234-1234-1234-1234567890ab;

接着重启 fwupd 服务

1
2
sudo systemctl restart fwupd
fwupdmgr refresh --force

最后重启,再次打开 Discover 就不会有此固件更新了。