lvfs
About
Linux Vendor Firmware Service (LVFS)
Installation
Install fwupd
1 apt install fwupd
Configure
There is a configuration directory
ls -lR /etc/fwupd
1 /etc/fwupd:
2 insgesamt 20
3 -rw-r--r-- 1 root root 1373 23. Feb 2021 daemon.conf
4 -rw-r--r-- 1 root root 302 23. Feb 2021 redfish.conf
5 drwxr-xr-x 2 root root 118 18. Jan 21:21 remotes.d
6 -rw-r--r-- 1 root root 274 23. Feb 2021 thunderbolt.conf
7 -rw-r--r-- 1 root root 565 23. Feb 2021 uefi_capsule.conf
8 -rw-r--r-- 1 root root 121 23. Feb 2021 upower.conf
9
10 /etc/fwupd/remotes.d:
11 insgesamt 20
12 -rw-r--r-- 1 root root 247 21. Sep 02:06 dell-esrt.conf
13 -rw-r--r-- 1 root root 406 23. Feb 2021 lvfs.conf
14 -rw-r--r-- 1 root root 361 23. Feb 2021 lvfs-testing.conf
15 -rw-r--r-- 1 root root 317 21. Sep 02:06 vendor.conf
16 -rw-r--r-- 1 root root 296 21. Sep 02:06 vendor-directory.conf
Use
- Only administrative users may update local devices.
- Removable devices may be updated by any users, because the attacker could own the next device the user plugs the removable device in.
Get help and devices
1 fwupdmgr --help
2 fwupdmgr get-devices
3 20NECTO1WW
4 │
5 ├─HFM512GDHTNG-8710B:
6 │ Device ID: 71b677ca0f1bc2c5b804fa1d59e52064ce589293
7 │ Zusammenfassung: NVM Express Solid State Drive
8 │ Current version: 80010C00
9 │ Vendor: SK hynix (NVME:0x1C5C)
10 │ Serial Number: CJ98N526910808J37
11 │ GUIDs: 3df71ce6-ec3c-5902-8215-7980cddffb5a ← NVME\VEN_1C5C&DEV_1327&REV_00
12 │ f00c5df1-5b04-56b0-abc4-ec8796b0eb0b ← NVME\VEN_1C5C&DEV_1327
13 │ 16992abc-be6e-534b-8aa4-4ed4537f432d ← HFM512GDHTNG-8710B
14 │ Device Flags: • Internal device
15 │ • Updatable
16 │ • System requires external power source
17 │ • Needs a reboot after installation
18 │ • Device is usable for the duration of the update
19 │
20 ├─System Firmware:
21 │ │ Device ID: 3ba7ea853f9613adbcbb9326dbe5f0decd677a67
22 │ │ Current version: 65544
23 │ │ Vendor: LENOVO (DMI:LENOVO)
24 │ │ GUIDs: 9bfd8b34-080b-40a1-47b3-ca1efa289e6d
25 │ │ 230c8b18-8d9b-53ec-838b-6cfc0383493a ← main-system-firmware
26 │ │ c0b0e93a-4864-5803-8eb5-d31ee7fa4dba ← UEFI\RES_{9BFD8B34-080B-40A1-47B3-CA1EFA289E6D}
27 │ │ Device Flags: • Internal device
28 │ │ • Updatable
29 │ │ • System requires external power source
30 │ │ • Needs a reboot after installation
31 │ │ • Cryptographic hash verification is available
32 │ │ • Device is usable for the duration of the update
33 │ │
34 │ └─UEFI dbx:
35 │ Device ID: 362301da643102b9f38477387e2193e57abaa590
36 │ Zusammenfassung: UEFI Revocation Database
37 │ Current version: 77
38 │ Minimum Version: 77
39 │ Vendor: UEFI:Linux Foundation
40 │ Install Duration: 1 second
41 │ GUIDs: 14503b3d-73ce-5d06-8137-77c68972a341 ← UEFI\CRT_A9087D1044AD18F7A94916D284CBC01827CF23CD8F60B79072C9CAA1FEF4D649
42 │ 5971a208-da00-5fce-b5f5-1234342f9cf7 ← UEFI\CRT_A9087D1044AD18F7A94916D284CBC01827CF23CD8F60B79072C9CAA1FEF4D649&ARCH_X64
43 │ c6682ade-b5ec-57c4-b687-676351208742 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503
44 │ f8ba2887-9411-5c36-9cee-88995bb39731 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503&ARCH_X64
45 │ Device Flags: • Internal device
46 │ • Updatable
47 │ • Needs a reboot after installation
48 │
49 ├─UEFI Device Firmware:
50 │ Device ID: 1c8d3b6c7cb08805789e84e05fc8f3b097237f1e
51 │ Current version: 512
52 │ Vendor: DMI:LENOVO
53 │ GUIDs: 3b7f92a6-36d0-49ae-a2d1-272f9a067274
54 │ 4108f09c-02bc-5381-b4ed-0bc8dbd56848 ← UEFI\RES_{3B7F92A6-36D0-49AE-A2D1-272F9A067274}
55 │ Device Flags: • Internal device
56 │ • Updatable
57 │ • System requires external power source
58 │ • Needs a reboot after installation
59 │ • Device is usable for the duration of the update
60 │
61 ├─UEFI Device Firmware:
62 │ Device ID: e376734757f9aa50ce6f14bf7a32153141802c45
63 │ Current version: 16777220
64 │ Vendor: DMI:LENOVO
65 │ GUIDs: 19f39c71-f7b5-4df3-87d6-a01046ad6c0a
66 │ 18e8a747-ff6f-59e7-93bc-22531a3f107f ← UEFI\RES_{19F39C71-F7B5-4DF3-87D6-A01046AD6C0A}
67 │ Device Flags: • Internal device
68 │ • Updatable
69 │ • System requires external power source
70 │ • Needs a reboot after installation
71 │ • Device is usable for the duration of the update
72 │
73 └─Unifying Receiver:
74 Device ID: 3332e91ddbc0c72e412aed1329b26f0fa5434353
75 Zusammenfassung: A miniaturised USB wireless receiver
76 Current version: RQR12.09_B0030
77 Bootloader Version: BOT01.04_B0016
78 Vendor: HIDRAW:0x046D|USB:0x046D
79 Install Duration: 30 seconds
80 GUIDs: 9d131a0c-a606-580f-8eda-80587250b8d6
81 fcf55bf5-767b-51ce-9c17-f6f538c4ee9f ← HIDRAW\VEN_046D&DEV_C52B&REV_00
82 279ed287-3607-549e-bacc-f873bb9838c4 ← HIDRAW\VEN_046D&DEV_C52B
83 Device Flags: • Updatable
List possible firmware upgrades
1 LANG=en_US fwupdmgr get-updates
2 Firmware metadata has not been updated for 30 days and may not be up to date.
3
4 Update now? (Requires internet connection) [y|N]: n
5 Devices with no available firmware updates:
6 ? HFM512GDHTNG-8710B
7 ? System Firmware
8 ? UEFI Device Firmware
9 ? UEFI Device Firmware
10 ? UEFI dbx
11 ? Unifying Receiver
12 No updatable devices
Show updatable firmware
1 LANG=en_US fwupdmgr get-updates
2 Firmware metadata has not been updated for 30 days and may not be up to date.
3
4 Update now? (Requires internet connection) [y|N]: y
5 Updating lvfs
6 Downloading? [***************************************]
7 Downloading? [***************************************]
8 Successfully downloaded new metadata: 1 local device supported
9 Devices with no available firmware updates:
10 ? System Firmware
11 ? UEFI Device Firmware
12 ? UEFI Device Firmware
13 ? UEFI dbx
14 ? Unifying Receiver
15 20NECTO1WW
16 ?
17 ??HFM512GDHTNG-8710B:
18 ? Device ID: 71b677ca0f1bc2c5b804fa1d59e52064ce589293
19 ? Summary: NVM Express Solid State Drive
20 ? Current version: 80010C00
21 ? Vendor: SK hynix (NVME:0x1C5C)
22 ? Serial Number: CJ98N526910808J37
23 ? GUIDs: 3df71ce6-ec3c-5902-8215-7980cddffb5a ? NVME\VEN_1C5C&DEV_1327&REV_00
24 ? f00c5df1-5b04-56b0-abc4-ec8796b0eb0b ? NVME\VEN_1C5C&DEV_1327
25 ? 16992abc-be6e-534b-8aa4-4ed4537f432d ? HFM512GDHTNG-8710B
26 ? Device Flags: ? Internal device
27 ? ? Updatable
28 ? ? System requires external power source
29 ? ? Supported on remote server
30 ? ? Needs a reboot after installation
31 ? ? Device is usable for the duration of the update
32 ?
33 ??BC501_PLP 512GB:
34 New version: 80020C00
35 Remote ID: lvfs
36 Summary: SK hynix BC501_PLP 512GB NVMe SSD Firmware for Lenovo PC
37 License: Proprietary
38 Size: 583.4?kB
39 Created: 2019-12-12
40 Urgency: High
41 Vendor: Lenovo
42 Flags: is-upgrade
43 Description:
44 Do NOT turn off your computer while update is in progress. The computer shall be restarted after updating firmware completely. The device may not properly function until you shut do
45 wn or reboot PC.
46
47 Firmware and device description: SKHynix_HFS512GDHTNG-8710B, Firmware Version: 80020C00
48
49 Supported devices and firmware version: SKHynix_HFS512GDHTNG-8710B with 80010C00, SKHynix_HFS512GDHTNG-8710B with 80000C00
50
51 Supported Product Scope - Lenovo ThinkPad, ThinkCentre, ThinkStation, IdeaCentre
Update the firmware
1 fwupdmgr update
2 Devices with no available firmware updates:
3 • System Firmware
4 • UEFI Device Firmware
5 • UEFI Device Firmware
6 • UEFI dbx
7 • Unifying Receiver
8 Upgrade available for HFM512GDHTNG-8710B from 80010C00 to 80020C00
9 20NECTO1WW must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]:
10 Herunterladen … [***************************************]
11 Entpacken … [***************************************]
12 Authentifizierung … [***************************************]
13 Authentifizierung … [***************************************]
14 HFM512GDHTNG-8710B wird aktualisiert …***************************]
15 Schreiben … [***************************************] Weniger als eine Minute verbleiben…
16 Successfully installed firmware
17
18 Ein Neustart ist erforderlich, um eine Aktualisierung abzuschließen. Jetzt neu starten? [y|N]: y
Update the firmware
1 fwupdmgr update
2 Devices with no available firmware updates:
3 • System Firmware
4 • UEFI Device Firmware
5 • UEFI Device Firmware
6 • UEFI dbx
7 • Unifying Receiver
8 Upgrade available for HFM512GDHTNG-8710B from 80010C00 to 80020C00
9 20NECTO1WW must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]:
10 Herunterladen … [***************************************]
11 Entpacken … [***************************************]
12 Authentifizierung … [***************************************]
13 Authentifizierung … [***************************************]
14 HFM512GDHTNG-8710B wird aktualisiert …***************************]
15 Schreiben … [***************************************] Weniger als eine Minute verbleiben…
16 Successfully installed firmware
17
18 Ein Neustart ist erforderlich, um eine Aktualisierung abzuschließen. Jetzt neu starten? [y|N]:
Check if there are still updatable devices
fwupdmgr get-updates
SCRIPTING
Please see
man -P "less -p 'SCRIPTING'" 5 fwupdmgr
A variety of client tools are provided by fwupd. Not all tools are suggested to be scripted.
fwupdmgr is a command line fwupd client intended to be used interactively. The output between versions of fwupd is not guaranteed to be stable. Commands that succesfully execute will return "0". Commands that have no actions but succesfully execute will return "2".
fwupdagent is a command line fwupd client intended to be used by scripts. The output is JSON and guaranteed to be stable. Commands that succesfully execute will return "0".