Fwupd es un demonio para ayudar a administrar la instalación de firmware en Linux. Fwupd está configurado de forma predeterminada para descargar firmware del Servicio de firmware del proveedor de Linux (LVFS). LVFS es un sitio web seguro que permite a los proveedores de hardware cargar sus actualizaciones de firmware.
Fwupd tiene como objetivo hacer que la actualización del firmware en los sistemas Linux sea automática, segura y confiable. Se utiliza principalmente para actualizar el firmware UEFI. Hay muchas empresas que ya admiten actualizaciones de firmware nativas, como Dell, Lenovo, HP, Intel y System76.
En este tutorial aprendemos cómo actualizar el firmware en Ubuntu usando fwupd.
Instalar fwupd en Ubuntu
Fwupd está disponible de forma predeterminada en las versiones más recientes de Ubuntu. En caso de que la herramienta no esté instalada, ejecute el siguiente comando para instalar desde el repositorio de Ubuntu.
$ sudo apt install fwupd
Para actualizar un dispositivo específico en la línea de comandos que necesita una versión más reciente de fwupd, instale fwupd usando Snap o usando Flatpak.
Mostrar dispositivos compatibles
Para detectar y mostrar dispositivos con firmware compatible con fwupd, use el siguiente comando.
$ fwupdmgr get-devices
Salida:
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
En este ejemplo, podemos ver que tengo cuatro dispositivos compatibles con fwupd. También puede consultar los dispositivos compatibles con LVFS y todas las actualizaciones que se han puesto a disposición del público.
Descargando los últimos metadatos de LVFS
El refresh
La opción descargará los metadatos más recientes. Para descargar los últimos metadatos de LVFS, escribiremos el siguiente comando:
$ fwupdmgr refresh
Salida:
Firmware metadata last refresh: 1 hour ago. Use --force to refresh again.
Podemos ver que tenemos los metadatos recientes en nuestro sistema.
Comprobación de actualizaciones de firmware disponibles
Para mostrar las actualizaciones disponibles para cualquier dispositivo en el sistema, use get-updates
opción.
$ fwupdmgr get-updates
En mi caso me notifican que no hay actualizaciones disponibles para mis dispositivos:
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
Sin embargo, en otro sistema Linux parece que hay actualizaciones de firmware disponibles:
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:
Actualizar el firmware del dispositivo
Finalmente, para descargar y aplicar todas las actualizaciones para su sistema, use update
opción.
$ fwupdmgr update
- Las actualizaciones que se pueden aplicar en vivo se realizarán de inmediato.
- Las actualizaciones que se ejecutan en el arranque se prepararán para el próximo reinicio.
Salida:
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]:
Después de reiniciar el sistema, tendremos nuestro firmware de hardware actualizado a la última versión disponible.
Conclusión
En este tutorial, aprendimos cómo actualizar el firmware en un sistema Ubuntu usando fwupd.
También puede realizar las actualizaciones de firmware utilizando los front-end de administración de software más populares, como GNOME Software, KDE Discover y Wyse Management Suite.
Además, el proyecto fwupd alienta a los usuarios a informar tanto las actualizaciones exitosas como las fallidas a LVFS. Esta es una característica opcional, pero se recomienda, ya que brinda información valiosa a los administradores de LVFS y a los desarrolladores de OEM con respecto a la eficacia del proceso de actualización del firmware. Puede enviar el informe usando:
$ fwupdmgr report-history
Gracias por leer, háganos saber qué tan bien ha ido la actualización del firmware en su sistema Linux.