为什么 fwupd 不安装任何固件更新,尽管它显示有大量可用更新?

为什么 fwupd 不安装任何固件更新,尽管它显示有大量可用更新?

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都配置正确,它应该运行更新。

相关内容