I have spent a few last hours trying to update the EM7455 modem. Finally, I’ve been able to do so. No need to compile new drivers.
It seems, the description from the following website does not work:
https://github.com/danielewood/sierra-wireless-modems
$ qmi-firmware-update -v --modem-storage-index=1 --update -d 1199:9079 SWI9X30C_02.39.00.00.cwe SWI9X30C_02.39.00.00_GENERIC_002.085_000.nvu
[16 Jan 2025, 18:57:44] [Debug] [/dev/cdc-wdm1] number of consecutive timeouts: 1
[16 Jan 2025, 18:57:44] [Debug] [/dev/cdc-wdm1] open operation timed out: closed
error: couldn't open QMI device: Operation timed out: device is closed
[16 Jan 2025, 18:57:44] -Warning ** [/dev/cdc-wdm1] MBIM device wasn't explicitly closed
[16 Jan 2025, 18:57:44] [Debug] [/dev/cdc-wdm1] channel destroyed
METHOD 1
This was, what worked:
https://wiki.gentoo.org/wiki/Sierra_EM7455_(Dell_wireless_modem_DW5560)
$ systemctl stop ModemManager
$ minicom -D /dev/ttyUSB2
AT!ENTERCND="A710"
AT!BOOTHOLD
In another terminal:
sudo qmi-firmware-update -v -t /dev/ttyUSB0 --update-download SWI9X30C_02.39.00.00.cwe SWI9X30C_02.39.00.00_GENERIC_002.085_000.nvu
Immediately after AT!BOOTHOLD the /dev/cdc_wdm0 and ttyUSB* disappear and only a single ttyUSB0 is present. There is only a few seconds timeslot to flash the modem.
ttyUSB2 vs ttyUSB0
My system:
$ uname -r
6.8.0-51-generic
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
It seems, the method updates software. However, it does not add anything to the list of slots.
AT!IMAGE?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
FW 1 EMPTY 0 0 0
FW 2 EMPTY 0 0 0
FW 3 EMPTY 0 0 0
FW 4 EMPTY 0 0 0
Max FW images: 4
Active FW image is at slot 255
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
PRI FF GOOD 0 0 0 002.085_000 02.39.00.00_GENERIC
Max PRI images: 50
METHOD 2
This method correctly adds software to the list. Taken from:
$ qmi-firmware-update --help-examples
Example: Manual process to update a Sierra Wireless MC7354.
(or other 9x15 or 9x30 devices, like the MC7304, MC7330, MC7455… ).The upgrade of devices from the 9x15 and 9x30 families is triggered via a
‘firmware preference’ setting. If the device accepts the setting, the user
can request a device power cycle, which will boot in QDL download mode:a) Set firmware preference setting:
$ sudo qmicli
-d /dev/cdc-wdm0
–dms-set-firmware-preference=“firmware-version=05.05.58.00,
config-version=005.025_002,
carrier=Generic”The --override-download and --modem-storage-index=[INDEX] options that are supported in automatic mode may be used in manual mode by passing the additional 'override-download=yes' and 'modem-storage-index=[INDEX]' keys to the --dms-set-firmware-preference operation.
b) Request power cycle:
$ sudo qmicli
-d /dev/cdc-wdm0
–dms-set-operating-mode=offline
$ sudo qmicli
-d /dev/cdc-wdm0
–dms-set-operating-mode=resetc) Wait for the /dev/ttyUSB device to appear.
d) Run updater operation while in QDL download mode:
$ sudo qmi-firmware-update
-t /dev/ttyUSB0
–update-download
SWI9X15C_05.05.58.00.cwe
SWI9X15C_05.05.58.00_Generic_005.025_002.nvud) Now wait for the device to fully reboot, may take up to several minutes.
TODO/QUESTIONS
- I have no idea how to choose the right image. The at!impref=“something” changes only the PRI image with settings. The active image is the last uploaded one.
Additional notes:
- don’t forget about:
systemctl stop ModemManager
and it may be required:
sudo add-apt-repository universe
sudo apt update
apt-get install libqmi-glib5 libqmi-proxy libqmi-utils -y
Links
- GitHub - danielewood/sierra-wireless-modems: EM7565/EM7455/MC7455 - Modem Configuration
- Sierra Wireless LTE Modem Guide: Automated Flashing of the EM7455/MC7455 with a Ubuntu Linux 18.04 LiveCD
- Can someone help explain the fields in AT!IMAGE? response
- https://source.sierrawireless.com/resources/airprime/minicard/74xx/em_mc74xx-approved-fw-packages/#sthash.fKvSXL7D.9eNCHvTF.dpbs
- [https://wiki.gentoo.org/wiki/Sierra_EM7455_(Dell_wireless_modem_DW5560)]
Removing fcc-lock links: