TLDR:我安装fwupd
,检查更新,告诉它安装更新,然后重新启动。之后,检查更新只会再次显示所有相同的更新,就好像它们尚未安装一样。
我在联想 Thinkpad X1 Carbon 第四代上运行 Debian 10 Buster x64。可能无关紧要,但型号是 20FBCTO1WW。我试图使用它fwupd
来安装固件更新。我安装它并启动服务:
sudo apt-get install fwupd
sudo service fwupd start
列出所有有更新的设备:
root@london:~# fwupdmgr get-devices
20FBCTO1WW System Firmware
DeviceId: c66f3753f0a35b3874d65546d4b7b10896d44ce2
Guid: 81cba30b-c2d4-4e66-bcf3-69d81ba890b0
Plugin: uefi
Flags: internal|updatable|require-ac|supported|registered|needs-reboot
Version: 0.1.8
VersionLowest: 0.1.8
Icon: computer
Created: 2020-01-25
UEFI Device Firmware
DeviceId: 6f92d954409bb3c145828fbbc0346c3ca12f2a9a
Guid: cb3c1682-5386-4591-bd29-7c1f441b7ccb
Plugin: uefi
Flags: internal|updatable|require-ac|supported|registered|needs-reboot
Version: 176.0.1202
VersionLowest: 176.0.1202
Icon: audio-card
Created: 2020-01-25
SAMSUNG MZVKV512HAJH-000L1
DeviceId: 310f45f1f223064b5c16bf6dff31146755a64480
Guid: cce2386f-6d68-5f85-9f3f-ebead9288696 <- NVME\VEN_144D&DEV_A802&REV_01
Guid: 77bb4022-9503-586c-99b7-c8a64502da30 <- NVME\VEN_144D&DEV_A802
Guid: 8fd4ca73-d0ae-52e8-8977-461435c6f4cf <- NVME\VEN_144D
Guid: e339432d-beab-53b2-9a9f-e0787a1ecb8b <- SAMSUNG MZVKV512HAJH-000L1
Serial: bla
Summary: NVM Express Solid State Drive
Plugin: nvme
Flags: internal|updatable|require-ac|registered|needs-reboot
Vendor: Samsung Electronics Co Ltd
VendorId: NVME:0x144D
Version: 6L0QBXX7
Icon: drive-harddisk
Created: 2020-01-25
列出所有更新也显示了相当多的内容(为了节省空间,我省略了这些更新):
root@london:~# fwupdmgr refresh
Fetching metadata https://cdn.fwupd.org/downloads/firmware.xml.gz
Downloading… [***************************************]
Fetching signature https://cdn.fwupd.org/downloads/firmware.xml.gz.asc
root@london:~# fwupdmgr get-updates
20FBCTO1WW System Firmware has firmware updates:
GUID: 81cba30b-c2d4-4e66-bcf3-69d81ba890b0
ID: com.lenovo.ThinkPadN1FET.firmware
Update Version: 0.1.42
Update Name: ThinkPad X1 Carbon 4th / X1 Yoga 1st System Update
Update Summary: Lenovo ThinkPad X1 Carbon 4th / X1 Yoga 1st System Firmware
Update Remote ID: lvfs
Update Checksum: SHA1(efb007a2bda94c96d60c349a6f24cc80d51d7322)
Update Location: https://fwupd.org/downloads/a06bbb48aa46c90497459ac6e98157f2acfe1778-Lenovo-ThinkPad-X1Carbon4th-X1Yoga1st-SystemFirmware-1.42.cab
Update Description: Lenovo ThinkPad X1 Carbon 4th / X1 Yoga 1st System Firmware Version 1.42
我运行更新:
root@london:~# fwupdmgr update -v
Downloading 0.1.42 for 20FBCTO1WW System Firmware...
(fwupdmgr:2813): FuCommon-DEBUG: 09:11:45.120: creating path /root/.cache/fwupd
(fwupdmgr:2813): FuMain-DEBUG: 09:11:45.132: skpping download as file already exists
(fwupdmgr:2813): Fwupd-DEBUG: 09:11:45.134: Emitting ::status-changed() [decompressing]
Decompressing… [- ](fwupdmgr:2813): Fwupd-DEBUG: 09:11:45.162: Emitting ::status-changed() [idle]
Decompressing… [***************************************]
(fwupdmgr:2813): Fwupd-DEBUG: 09:11:45.162: Emitting ::status-changed() [waiting-for-auth]
Authenticating… [ - ](fwupdmgr:2813): Fwupd-DEBUG: 09:11:45.162: Emitting ::status-changed() [idle]
Authenticating… [***************************************]
Could not check for auth: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files
我不明白有关等待授权的错误,因为我以 root 身份运行它。重新启动后,fwupdmgr
仍然显示“没有更新历史记录”。即使我直接安装.cab固件文件,它似乎仍然没有更新:
fwupdmgr install --allow-reinstall /root/.cache/fwupd/a06bbb48aa46c90497459ac6e98157f2acfe1778-Lenovo-ThinkPad-X1Carbon4th-X1Yoga1st-SystemFirmware-1.42.cab
我究竟做错了什么?
答案1
相关错误是最后一行:
Could not check for auth: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files
安装提供该文件的包org.freedesktop.PolicyKit1
:
sudo apt-get install policykit-1
假设其他所有内容fwupd
都配置正确,它应该运行更新。