I want to upgrade the firmware of my EM7565 from 01.08.04.00 to 01.14.02.00. Luckily I was able to download the latest firmware image and fwdwl-lite tool before the Sierra website went down. When trying the update though, the process is always stuck at
Application version: 1.0.2101.0
INFO: QDL Port : /dev/ttyUSB0
INFO: Device Path: /dev/cdc-wdm1
INFO: FW Path : /work/em7565_firmware/SWI9X50C_01.14.02.00_GENERIC_002.035_000
Target image Info:
Carrier :GENERIC
FW Version :01.14.02.00
Model ID :SWI9X50C
Package ID :000
PRI Version:002.035
SKU :9999999
file_type : 6
Switching device into download mode ...
Set pref ImageTypesSize: 2
Modem Needs FW
Modem Needs PRI
Modem current power state 3
Waiting for modem to disconnect from the host ...
Modem disconnected from host.
Waiting for modem to come up in BOOT and HOLD mode ...
BOOT and HOLD Mode. Downloading firmware ...
Sahara Hello Response sent successfully
Sahara Command Execute sent successfully
Sahara Switch to Firehose command sent successfully
Firehose configure cmd sent successfully
Firehose getstorageinfo cmd sent successfully
Firehose program cmd sent successfully
Downloading: /work/em7565_firmware/SWI9X50C_01.14.02.00_GENERIC_002.035_000/SWI9X50C_01.14.02.00_GENERIC_002.035_000.nvu
-
You can find the content of the log file here: CodePile | Easily Share Piles of Code
There seems to be no error, it’s just doing nothing. This is how the modem is configured:
ati
Manufacturer: Sierra Wireless, Incorporated
Model: EM7565
Revision: SWI9X50C_01.08.04.00 dbb5d0 jenkins 2018/08/21 21:40:11
IMEI: 353533101771205
IMEI SV: 8
FSN: UF046270130210
+GCAP: +CGSM
OK
at!image?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
FW 1 GOOD 2 0 0 ?_? 01.08.04.00_?
FW 2 GOOD 1 0 0 ?_? 01.07.02.00_?
FW 3 GOOD 1 0 0 ?_? 01.09.04.00_?
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.008_004 01.07.02.00_ATT
PRI FF GOOD 0 0 0 002.015_000 01.09.04.00_DOCOMO
PRI FF GOOD 0 0 0 002.012_000 01.08.04.00_GENERIC
PRI FF GOOD 0 0 0 002.001_000 01.08.04.00_SIERRA
PRI FF GOOD 0 0 0 002.017_000 01.09.04.00_SOFTBANK
PRI FF GOOD 0 0 0 000.001_001 01.08.04.00_SPRINT
PRI FF GOOD 0 0 0 001.000_000 01.07.02.00_TELUS
PRI FF GOOD 0 0 0 002.015_001 01.08.04.00_VERIZON
Max PRI images: 50
OK
at!usbcomp?
Config Index: 1
Config Type: 3 (Generic)
Interface bitmask: 0000100D (diag,nmea,modem,mbim)
OK
Sadly I can’t try the Windows application as the Sierra servers are offline right now. So does anyone have a hint why the linux firmware application might stuck at the downloading process?
The module’s status seems functional. Before flashing the firmware lsusb reports
Bus 002 Device 002: ID 1199:9091 Sierra Wireless, Inc. Sierra Wireless EM7565 Qualcomm® Snapdragon™ X16 LTE-A
lsusb -t reports
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 10000M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=qcserial, 5000M
|__ Port 1: Dev 2, If 2, Class=Vendor Specific Class, Driver=qcserial, 5000M
|__ Port 1: Dev 2, If 3, Class=Vendor Specific Class, Driver=qcserial, 5000M
|__ Port 1: Dev 2, If 12, Class=Communications, Driver=cdc_mbim, 5000M
|__ Port 1: Dev 2, If 13, Class=CDC Data, Driver=cdc_mbim, 5000M
After the firmware tool stucked, the module is stuck in the BOOTHOLD mode with PID 9090 and only one serial port on /dev/ttyUSB0 until a cold restart is performed.
You can find the log of the tool here: CodePile | Easily Share Piles of Code
I am not able to post it directly here since it contains to many characters.
This seems to be a driver issue fixed in R18. Is it possible to try R18 driver?
The same tool works with R18 driver
Application version: 1.0.2101.0
INFO: QDL Port : /dev/ttyUSB0
INFO: Device Path: /dev/cdc-wdm0
INFO: FW Path : /home/dwen/work/mc/fw/75xx/01140200_generic
Target image Info:
Carrier :GENERIC
FW Version :01.14.02.00
Model ID :SWI9X50C
Package ID :000
PRI Version:002.035
SKU :9999999
file_type : 6
Switching device into download mode …
Set pref ImageTypesSize: 2
Modem Needs FW
Modem Needs PRI
Modem current power state 3
Waiting for modem to disconnect from the host …
Modem disconnected from host.
Waiting for modem to come up in BOOT and HOLD mode …
BOOT and HOLD Mode. Downloading firmware …
Downloading: /home/dwen/work/mc/fw/75xx/01140200_generic/SWI9X50C_01.14.02.00_GENERIC_002.035_000.nvu
Downloading: /home/dwen/work/mc/fw/75xx/01140200_generic/SWI9X50C_01.14.02.00.cwe
litefw_DownloadFW succeeded.
Waiting for modem to come up in ONLINE mode …
Modem is now in ONLINE mode …
FW update status: Successful
FW info from modem:
Model ID : EM7565
FW Version : SWI9X50C_01.14.02.00
Carrier Name : GENERIC
Carrier PRI Revision: 002.035_000
Firmware Download Process completed
Exiting Application!!!
Do you mean this fix: USB: serial: qcserial: fix altsetting probing · torvalds/linux@be4c5eb · GitHub ?
I am using Ubuntu 20.04.2 with kernel version 5.8.0-48. For this kernel version the qcserial driver is directly included in the kernel. The bugfix above is only available for linux kernel version 5.10 or higher though. Since I am bound to Ubuntu 20.04, I can’t update the kernel to 5.10 or above at the moment, as the highest kernel version for Ubuntu 20.04 is 5.8 right now.
Is there a way to get around this problem or is the firmware tool unusable with Ubuntu 20.04 and lower?
Why in the world would you want to do it as difficult as that for yourself and your customers? If you have a fix for the driver, then just submit it to mainline and be done with it.
It’s not like you can expect to keep the fix to a GPL driver “secret”…
In this case, I have to agree with @dl5162. It would take me weeks until I get the form signed by our bureaucracy. So a public solution would be very desirable.
My ultimate goal is to update the firmware, right now I am only using Linux since I got the software before the Sierra servers went offline. If you can provide me a download link for the Windows tool, I could alternatively just try to update the firmware with Windows.
Thanks for the reply. Currently our servers are down. I don’t have access either. Please wait for a while, the servers could be up shortly, then I can find it out.