Fwupd è un demone per aiutare a gestire l'installazione del firmware su Linux. Fwupd è configurato per impostazione predefinita per scaricare il firmware dal Linux Vendor Firmware Service (LVFS). LVFS è un sito Web sicuro che consente ai fornitori di hardware di caricare gli aggiornamenti del firmware.
Fwupd mira a rendere l'aggiornamento del firmware sui sistemi Linux automatico, sicuro e affidabile. Viene utilizzato principalmente per aggiornare il firmware UEFI. Ci sono molte aziende che supportano già gli aggiornamenti firmware nativi come Dell, Lenovo, HP, Intel e System76.
In questo tutorial impariamo come aggiornare il firmware su Ubuntu usando fwupd.
Installa fwupd su Ubuntu
Fwupd è disponibile per impostazione predefinita sulle versioni più recenti di Ubuntu. Nel caso in cui lo strumento non sia installato, eseguire il seguente comando per l'installazione dal repository di Ubuntu.
$ sudo apt install fwupd
Per aggiornare un dispositivo specifico sulla riga di comando che necessita dell'ultima versione di fwupd, installa fwupd utilizzando Snap o utilizzando Flatpak.
Visualizza i dispositivi supportati
Per rilevare e visualizzare dispositivi con firmware supportato da fwupd, utilizzare il comando seguente.
$ fwupdmgr get-devices
Uscita:
20FMS1W300
│
├─System Firmware:
│ Device ID: 218dfc72dd94339f3c3fe47b0df642273d049170
│ Current version: 0.1.41
│ Minimum Version: 0.1.22
│ Vendor: LENOVO (DMI:LENOVO)
│ GUIDs: c9a0acef-aa63-4b85-a52d-a9384163c0e8
│ 230c8b18-8d9b-53ec-838b-6cfc0383493a
│ 717544ba-7153-5a85-be27-9c9ea9b078d0
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Supported on remote server
│ • Needs a reboot after installation
│ • Cryptographic hash verification is available
│ • Device is usable for the duration of the update
│
├─TS240GSSD220S:
│ Device ID: e421b2fc248391f6fe3e55ddbb3c9043be068bd0
│ Summary: ATA Drive
│ Current version: R0123A0
│ Vendor: Transcend (ATA:0x8564)
│ GUIDs: 6771f965-9e0a-5a09-8271-ef0f66ac2f37
│ bbff7a8b-2ac7-5dd8-a13f-d0be97e02695
│ 3a74d7ba-b063-5a4f-b9e4-35229efc7b5b
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Needs a reboot after installation
│ • Device is usable for the duration of the update
│
├─UEFI Device Firmware:
│ Device ID: 272f84ea6e0e8c9a566ee486fa5299feb1a3a3b6
│ Current version: 2953577449
│ Minimum Version: 1
│ Vendor: DMI:LENOVO
│ GUIDs: c5ef09d4-1f20-41fc-a197-ed88ba3c9bd7
│ 5546bb0d-20e1-5e53-9c0b-8b6da1f3981c
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Needs a reboot after installation
│ • Device is usable for the duration of the update
│
└─UEFI Device Firmware:
Device ID: 1e27bf0e569658d727f2d126752b270ed048ea45
Current version: 65544
Minimum Version: 1
Vendor: DMI:LENOVO
GUIDs: dad450ea-85da-4121-ae37-ce857cfa2b8e
dda61f4f-5fb5-522a-8020-fb78ba4a7976
Device Flags: • Internal device
• Updatable
• System requires external power source
• Needs a reboot after installation
• Device is usable for the duration of the update
In questo esempio, possiamo vedere che ho quattro dispositivi supportati da fwupd. Puoi anche controllare i dispositivi supportati da LVFS e tutti gli aggiornamenti che sono stati resi disponibili al pubblico.
Download degli ultimi metadati da LVFS
Il refresh
l'opzione scaricherà i metadati più recenti. Per scaricare i metadati più recenti da LVFS, digiteremo il seguente comando:
$ fwupdmgr refresh
Uscita:
Firmware metadata last refresh: 1 hour ago. Use --force to refresh again.
Possiamo vedere che abbiamo i metadati recenti sul nostro sistema.
Verifica degli aggiornamenti firmware disponibili
Per visualizzare gli aggiornamenti disponibili per qualsiasi dispositivo sul sistema, usa get-updates
opzione.
$ fwupdmgr get-updates
Nel mio caso mi viene comunicato che non ci sono aggiornamenti disponibili per i miei dispositivi:
Devices with no available firmware updates:
• TS240GSSD220S
• UEFI Device Firmware
• UEFI Device Firmware
Devices with the latest available firmware version:
• System Firmware
No updates available for remaining devices
Tuttavia, su un altro sistema Linux sembra che siano disponibili aggiornamenti firmware:
Devices with no available firmware updates:
• SC300B HFS256G39MND-3510B
• System Firmware
• UEFI dbx
20F90044GE
│
└─Intel Management Engine:
│ Device ID: 25127f5d4d5dfd6e903cda1a61a67cb092e4bb0f
│ Current version: 184.79.3722
│ Minimum Version: 184.79.3722
│ Vendor: DMI:LENOVO
│ GUIDs: 63451986-0c42-42db-9a18-342a8455ac68
│ 0e559cf4-f432-5cd4-9611-bd774afb417a
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Supported on remote server
│ • Needs a reboot after installation
│ • Device is usable for the duration of the update
│
├─ThinkPad T460s Corporate ME Update:
│ New version: 184.83.3874
│ Remote ID: lvfs
│ Summary: Lenovo ThinkPad T460s Corporate ME Firmware
│ License: Proprietary
│ Size: 7.5 MB
│ Created: 2016-07-08
│ Urgency: High
│ Details: https://pcsupport.lenovo.com/de/en/search?query=N1CRG67W
│ Vendor: Lenovo Ltd.
│ Flags: is-upgrade
│ Description:
│ • 8 Intel Platform Update 2020.2 HF2 Release
│
│ Version 11.8.83.3874 (LVFS: 184.83.3874)
│
│ Problem Fixes
│
│ • Mitigated several security vulnerabilities. Please see details under "Fixed Issues".
│
└─ThinkPad T460s Corporate ME Update:
New version: 184.80.3746
Remote ID: lvfs
Summary: Lenovo ThinkPad T460s Corporate ME Firmware
License: Proprietary
Size: 7.5 MB
Created: 2016-07-08
Urgency: High
Details: https://pcsupport.lenovo.com/de/en/search?query=N1CRG65W
Vendor: Lenovo Ltd.
Flags: is-upgrade
Description:
• 8 Intel Platform Update 2020.2 Release Version 11.8.80.3746 (LVFS: 184.80.3746) Problem Fixes • Mitigated the following security vulnerabilities under issues:
Aggiorna il firmware del dispositivo
Infine per scaricare e applicare tutti gli aggiornamenti per il tuo sistema usa update
opzione.
$ fwupdmgr update
- Gli aggiornamenti che possono essere applicati in tempo reale verranno eseguiti immediatamente.
- Gli aggiornamenti eseguiti all'avvio verranno organizzati per il prossimo riavvio.
Uscita:
Devices with no available firmware updates:
• SC300B HFS256G39MND-3510B
• System Firmware
• UEFI dbx
Upgrade available for Intel Management Engine from 184.79.3722 to 184.83.3874
20F90044GE must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]: Y
Downloading… [* ] Less than one minute remaDownloading… [** ] Less than one minute remaDownloading… [** ] Less than one minute remaDownloading… [*** ] Less than one minute remaDownloading… [**** ] [****************************** ] Less than one minute remaDownloading… [******************************* ] Less than one minute remaDownloading… [***************************************]
Decompressing… [***************************************]
Authenticating… [***************************************]
Authenticating… [***************************************]
Updating Intel Management Engine…********************************]
Scheduling… [***************************************]
Successfully installed firmwareAn update requires a reboot to complete. Restart now? [y|N]:
Dopo il riavvio del sistema avremo il nostro firmware hardware aggiornato all'ultima versione disponibile.
Conclusione
In questo tutorial, abbiamo imparato come aggiornare il firmware su un sistema Ubuntu usando fwupd.
Puoi anche eseguire gli aggiornamenti del firmware utilizzando i front-end di gestione software più diffusi, come GNOME Software, KDE Discover e Wyse Management Suite.
Inoltre, il progetto fwupd incoraggia gli utenti a segnalare gli aggiornamenti riusciti e non riusciti a LVFS. Questa è una funzionalità opzionale ma incoraggiata in quanto fornisce un prezioso feedback agli amministratori LVFS e agli sviluppatori OEM sull'efficacia del processo di aggiornamento del firmware. Puoi inviare il rapporto utilizzando:
$ fwupdmgr report-history
Grazie per la lettura, facci sapere quanto è andato bene l'aggiornamento del firmware sul tuo sistema Linux.