Cómo actualizar el firmware en Ubuntu usando fwupd

Fwupd es un demonio que ayuda 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 a actualice el firmware sobre 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 comando que necesita una última versión de fwupd, instale fwupd usando Quebrar o usando Flatpak.

Mostrar dispositivos compatibles

Para detectar y mostrar dispositivos con firmware compatible con fwupd, use el siguiente comando.

$ fwupdmgr get-devices

Producción:

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 esto example, podemos ver que tengo cuatro dispositivos que son compatibles con fwupd. También puedes comprobar dispositivos compatibles con LVFS y todas las actualizaciones que se han puesto a disposición del público.

Descarga de los últimos metadatos de LVFS

El refresh La opción descargará los últimos metadatos. Para descargar los últimos metadatos de LVFS, escribiremos el siguiente comando:

$ fwupdmgr refresh

Producción:

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:

Actualice el firmware del dispositivo

Finalmente, para descargar y aplicar todas las actualizaciones para su sistema, use el 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.

Producción:

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 del reinicio del 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 las interfaces de administrador de software más populares, como el software GNOME, KDE Discover y Wyse Management Suite.

Además, el proyecto fwupd anima a los usuarios a informar de las actualizaciones exitosas y fallidas a LVFS. Esta es una característica opcional, pero se recomienda, ya que proporciona comentarios valiosos para los administradores de LVFS y los desarrolladores de OEM con respecto a la eficacia del proceso de actualización del firmware. Puede enviar el informe utilizando:

$ fwupdmgr report-history

Gracias por leer, háganos saber qué tan bien ha ido la actualización de firmware en su sistema Linux.