Jump to content

Fwupd: Difference between revisions

From postmarketOS Wiki
mNo edit summary
Line 129: Line 129:
</pre>
</pre>


=== Related ===
=== See also ===
* {{MR|2760|pmaports}}: initial MR
* {{MR|2760|pmaports}}: initial MR
* [https://dylanvanassche.be/blog/2022/pinephone-modem-upgrade/ Dylan Van Assche | Upgrading your PinePhone modem easily]
* [https://dylanvanassche.be/blog/2022/pinephone-modem-upgrade/ Dylan Van Assche | Upgrading your PinePhone modem easily]

Revision as of 17:55, 24 February 2022

This article is about upgrading firmware on your postmarketOS installation with fwupd. The primary use case is upgrading the EG-25 modem of the PinePhone (Pro) from the stock firmware to Biktor's alternative firmware that has several stability improvements. As of writing, this feature is available in postmarketOS edge, not yet in the stable channel.

fwupd frontends

fwupd can be used with several frontends:

  • fwupdmgr (CLI)
  • KDE Discover
  • GNOME Software
  • GNOME Firmware Updater

For now it is recommended to make the firmware upgrades through fwupdmgr. Other interfaces are not tested as well, and may not yet support newer features of fwupd, such as swichting branches.

Upgrading Modem Firmware on the PinePhone

Preparations

  • Make sure your phone is charged
  • Plug the charger while doing this

fwupdmgr

Verify that fwupdmgr detects the EG25-G modem. If it does not, you may need to reboot first (e.g. if fwupd packages were just installed):

$ fwupdmgr get-devices
WARNING: This package has not been validated, it may not work properly.
Pine64 PinePhone (1.2) 
│
└─QUECTEL Mobile Broadband Module:
      Device ID:          976c4a39e87f61e6940ea6a8d39c583cfa99615f
      Summary:            Quectel EG25-G modem
      Current version:    EG25GGBR07A08M2G_01.001.01.001
      Vendor:             QUALCOMM INCORPORATED (USB:0x2C7C)
      GUIDs:              db379a33-254f-5140-b37e-d36ae7e5c039
                          d18f31f1-a3fa-55a2-b4ed-decfbc1e004d
                          1a2996cb-f86e-5583-a464-e1b96e1c6ae9
                          587bf468-6859-5522-93a7-6cce552a0aa3
                          22ae45db-f68e-5c55-9c02-4557dca238ec
      Device Flags:       • Updatable
                          • System requires external power source
                          • Supported on remote server
                          • Device supports switching to a different branch of firmware

Enable lvfs-testing to get Biktor's firmware:

$ sudo fwupdmgr enable-remote lvfs-testing
$ sudo fwupdmgr refresh --force
WARNING: This package has not been validated, it may not work properly.
Updating lvfs-testing
Downloading…             [***************************************]
Downloading…             [***************************************]
Updating lvfs
Downloading…             [***************************************]
Downloading…             [***************************************]
Successfully downloaded new metadata: 1 local device supported


Do the initial upgrade with switching the branch. This will take about 10 minutes (and yes, it says "downgrade" initially). You can find information about Biktor's releases here.

sudo fwupdmgr switch-branch 976c4a39e87f61e6940ea6a8d39c583cfa99615f                                                                                                                                                                                                                               
[sudo] password for user:                                                                                                                                      
WARNING: This package has not been validated, it may not work properly.                                                                                        
╔══════════════════════════════════════════════════════════════════════════════╗                                                                               
║ Switch branch from default to community?                                     ║                                                                               
╠══════════════════════════════════════════════════════════════════════════════╣                                                                               
║ The firmware from Pine64 is not supplied by QUALCOMM INCORPORATED, the       ║                                                                               
║ hardware vendor.                                                             ║                                                                               
║                                                                              ║                                                                               
║ Your hardware may be damaged using this firmware, and installing this        ║                                                                               
║ release may void any warranty with QUALCOMM INCORPORATED.                    ║                                                                               
║                                                                              ║                                                                               
║ This release brings the following fixes and improvements:                    ║                                                                               
║                                                                              ║                                                                               
║ • Allow calls to be delayed for more than 999 seconds                        ║                                                                               
║ • Ensure we send a RING_IN pulse to the Pinephone when making simulated      ║                                                                               
║ calls, to be able to wake the Pinephone from crust                           ║                                                                               
║ • Force resync of the RT5616 registers in the external codec (Pinephone      ║                                                                               
║ Pro) so call audio keeps working after suspend                               ║                                                                               
╚══════════════════════════════════════════════════════════════════════════════╝                                                                               
                                                                               
Do you understand the consequences of changing the firmware branch? [y|N]: y   
╔══════════════════════════════════════════════════════════════════════════════╗                                                                               
║ Downgrade QUECTEL Mobile Broadband Module from                               ║                                                                               
║ EG25GGBR07A08M2G_01.001.01.001 to 0.5.9?                                     ║                                                                               
╠══════════════════════════════════════════════════════════════════════════════╣                                                                               
║ This release brings the following fixes and improvements:                    ║                                                                               
║                                                                              ║                                                                               
║ • Allow calls to be delayed for more than 999 seconds                        ║                                                                               
║ • Ensure we send a RING_IN pulse to the Pinephone when making simulated      ║                                                                               
║ calls, to be able to wake the Pinephone from crust                           ║                                                                               
║ • Force resync of the RT5616 registers in the external codec (Pinephone      ║                                                                               
║ Pro) so call audio keeps working after suspend                               ║                                                                               
║                                                                              ║                                                                               
║ This firmware is provided by LVFS community members and is not provided (or  ║                                                                               
║ supported) by the original hardware vendor.                                  ║                                                                               
║                                                                              ║                                                                               
║ Installing this update may also void any device warranty.                    ║                                                                               
║                                                                              ║                                                                               
║ QUECTEL Mobile Broadband Module and all connected devices may not be usable  ║                                                                               
║ while updating.                                                              ║                                                                               
╚══════════════════════════════════════════════════════════════════════════════╝                                                                               
                                                                                                                                                               
Perform operation? [Y|n]: Y                                                                                                                                    
Downloading…             [***************************************] Less than one minute remaining…                                                             
Downloading…             [***************************************]                                                                                             
Decompressing…           [***************************************]                                                                                             
Decompressing…           [***************************************]                                                                                             
Authenticating…          [***************************************]                                                                                             
Authenticating…          [***************************************]                                                                                             
Restarting device…       [***************************************]                                                                                             
Writing…                 [***************************************]                                                                                             
Waiting…                 [***************************************] Less than one minute remaining…                                                             
Successfully installed firmware

Following upgrades can be done with fwupdmgr upgrade.

When there is nothing to do, you will see:

$ sudo fwupdmgr upgrade
WARNING: This package has not been validated, it may not work properly.
Devices with the latest available firmware version:
 • QUECTEL Mobile Broadband Module

See also