Help with EM7565 Firmware and PRI File Update on Linux

Hello everyone,

I’m having trouble updating the Sierra Wireless EM7565 modem firmware and PRI files across Linux systems. Below is a detailed description of my process and the issues I encounter. Any help or suggestions would be greatly appreciated!

To start with, my EM7565 module contains the following images

at!image?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID   BUILD_ID
FW   1    EMPTY  0   0 0
FW   2    GOOD   6   0 0      ?_?         01.14.02.00_?
FW   3    EMPTY  0   0 0                  
FW   4    EMPTY  0   0 0                  
Max FW images: 4
Active FW image is at slot 2

TYPE SLOT STATUS LRU FAILURES UNIQUE_ID   BUILD_ID
PRI  FF   GOOD   0   0 0      002.035_003 01.14.02.00_GENERIC
Max PRI images: 50


OK

at!impref?
!IMPREF: 
 preferred fw version:    01.14.02.00
 preferred carrier name:  GENERIC
 preferred config name:   GENERIC_002.035_003
 preferred subpri index:  000
 current fw version:      01.14.02.00
 current carrier name:    GENERIC
 current config name:     GENERIC_002.035_003
 current subpri index:    000

OK

Windows Setup:

On my Windows machine, I successfully upgraded the EM7565 module to firmware version 01.14.13 using the fdt2.exe tool. Here’s the process I followed:

.\fdt2.exe -d g5k -f .\SWI9X50C_01.14.13.00.cwe .\SWI9X50C_01.14.13.00_GENERIC_002.048_000.nvu

FDT version: 2.0.2012.0
Awaiting adapter ...
Setting images preference ...
Disabling selective suspend ...
Resetting ...
Awaiting download port ...
Switching to streaming mode ...
Downloading images ...
Writing image D:\Projects\EM7565\Bin\x64\release\.\swi9x50c_01.14.13.00.cwe |
Flashing image -
Writing image D:\Projects\EM7565\Bin\x64\release\.\swi9x50c_01.14.13.00_generic_002.048_000.nvu -
Flashing image \
Enabling selective suspend ...
Awaiting adapter ...
Checking update status ...
Firmware image download succeeded.
Final Firmware update succeeded.

Preexisting images information:
        Current:
                Firmware:
                        ImageId: 002.035_003
                        BuildId: 01.14.02.00_GENERIC
                Configuration:
                        ImageId: 002.035_003
                        BuildId: 01.14.02.00_GENERIC
Final images information:
        Current:
                Firmware:
                        ImageId: 002.048_000
                        BuildId: 01.14.13.00_GENERIC
                Configuration:
                        ImageId: 002.048_000
                        BuildId: 01.14.13.00_GENERIC

OEM PRI: 9907344 002.001 Generic-M2M

IMEI: 359260080444141

Total time elapsed: 177234 ms.

Time to switch to boot mode: 25578 ms.

Images downloaded:
        Image ID: ?_?
        Build ID: 01.14.13.00_?
                write time: 13328 ms
                additional flash time: 109328 ms
        Image ID: 002.048_000
        Build ID: 01.14.13.00_GENERIC
                write time: 219 ms
                additional flash time: 109 ms

Time to reset to application mode: 24047 ms.

Press Enter to continue ...

The firmware and PRI files were successfully flashed. and the firmware image switched to 01.14.13.00 and the PRI to 002.048_000. The update was verified with the at!image? and at!impref? commands.

at!image?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID   BUILD_ID
FW   1    EMPTY  0   0 0
FW   2    GOOD   6   0 0      ?_?         01.14.02.00_?
FW   3    GOOD   7   0 0      ?_?         01.14.13.00_?
FW   4    EMPTY  0   0 0                  
Max FW images: 4
Active FW image is at slot 3

TYPE SLOT STATUS LRU FAILURES UNIQUE_ID   BUILD_ID
PRI  FF   GOOD   0   0 0      002.048_000 01.14.13.00_GENERIC
Max PRI images: 50


OK
at!impref?
!IMPREF: 
 preferred fw version:    01.14.13.00
 preferred carrier name:  GENERIC
 preferred config name:   GENERIC_002.048_000
 preferred subpri index:  000
 current fw version:      01.14.13.00
 current carrier name:    GENERIC
 current config name:     GENERIC_002.048_000
 current subpri index:    000

OK

Linux Setup (Issue):

I ran into problems when attempting to perform the same update on an Ubuntu 18.04 machine.
Note: To be clear, I deleted the 01.14.13 firmware and related PRI file and re-flashed the module with 01.14.02 files before trying on Linux

sudo ./fwdwl-litehostx86_64 -m 4 --dmreset -c MBIM -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -f /home/rvl/EM7565/011413 -l /home/rvl/EM7565/upp.log
Modem Manager rules Tested 
litefw version :lite-fwSLQS04.00.27 
INFO: QDL Port  : /dev/ttyUSB0
INFO: Device Path: /dev/cdc-wdm0
INFO: FW  Path  : /home/rvl/EM7565/011413
Package Info:
Carrier    :GENERIC
FW Version :01.14.13.00
Model ID   :SWI9X50C
Package ID :000
PRI Version:002.048
SKU        :9999999
Part Number:9907259
file_type : 6
Switch Modem to QDL mode by DM Reset Command.
Waiting for modem to come up in BOOT and HOLD mode ...
BOOT and HOLD Mode. Downloading firmware ...
litefw_DownloadFW succeeded.
Waiting for modem to come up in ONLINE mode ...
mbim open respons type error  -2147480831
Firmware Download Process completed
Exiting Application!!!

The issue:

  • Only the PRI file is updated to version 01.14.13.
  • The firmware version remains stuck at 01.14.02.
  • The at!image? command shows that the new firmware (01.14.13) is not written to the module.
at!image?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID   BUILD_ID
FW   1    EMPTY  0   0 0
FW   2    GOOD   6   0 0      ?_?         01.14.02.00_?
FW   3    EMPTY  0   0 0                                            
FW   4    EMPTY  0   0 0                                            
Max FW images: 4                                                    
Active FW image is at slot 2                                        
                                                                    
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID   BUILD_ID
PRI  FF   GOOD   0   0 0      002.048_000 01.14.13.00_GENERIC
Max PRI images: 50


OK
at!impref?
!IMPREF: 
 preferred fw version:    01.14.02.00
 preferred carrier name:  GENERIC
 preferred config name:   GENERIC_002.035_003
 preferred subpri index:  000
 current fw version:      01.14.02.00
 current carrier name:    GENERIC
 current config name:     GENERIC_002.035_003
 current subpri index:    000

OK

I also tried just updating the cwe file using below command. But the result is same. No 01.14.13 firmware in the FW list slots.

sudo ./fwdwl-litehostx86_64 -m 4 --dmreset -c MBIM -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -f /home/rvl/EM7565/011413/SWI9X50C_01.14.13.00.cwe -l /home/rvl/EM7565/upp.log

I have also tried the lastest MBPL SDK, but getting the same result

sudo ./fw-download-toolhostx86_64 -F -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -w SWI9X50C_01.14.13.00.cwe -n SWI9X50C_01.14.13.00_GENERIC_002.048_000.nvu -f /home/rvl/EM7565/011413 -l /home/rvl/EM7565/upp2.log -m 4 -c MBIM -t 1

Questions:

  1. Has anyone experienced similar issues with updating the EM7565 on Linux?
  2. Are there any specific commands or settings that need to be configured for proper firmware updates on Linux?
  3. Is there a known workaround to ensure the firmware gets written alongside the PRI file?

Thank you in advance for any advice or help you can provide!

You are using the old SDK…

How about using the mbpl driver and fwdownload tool?

https://source.sierrawireless.com/resources/airprime/software/mbpl/mbpl-software-latest/

Hi,
Thank you for your reply.
I did try the latest MBPL SDK download tool, got the same result.

sudo ./fw-download-toolhostx86_64 -F -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -w SWI9X50C_01.14.13.00.cwe -n SWI9X50C_01.14.13.00_GENERIC_002.048_000.nvu -f /home/rvl/EM7565/011413 -l /home/rvl/EM7565/upp2.log -m 4 -c MBIM -t 1
Application version: 1.0.2405.0
INFO: QDL Port: /dev/ttyUSB0
INFO: Device Path: /dev/cdc-wdm0
INFO: Device Port: 0-0
INFO: FW Path: /home/rvl/EM7565/011413
Target image Info:
Carrier    :GENERIC
FW Version :01.14.13.00
Model ID   :SWI9X50C
Package ID :000
PRI Version:002.048
SKU        :9999999
Modem is already in QDL mode. Continuing FW download.
Waiting for modem to come up in BOOT and HOLD mode ...
BOOT and HOLD Mode. Downloading firmware ...
Downloading: /home/rvl/EM7565/011413/SWI9X50C_01.14.13.00_GENERIC_002.048_000.nvu
FW download failed: eSDP_FWDWL_ERR_FIREHOSE_STATE_ERR(120)

The tool failed with the following error
FW download failed: eSDP_FWDWL_ERR_FIREHOSE_STATE_ERR(120)

But the confusing part is, that the tool only tried to download .nvu file.

is there any clue in /home/rvl/EM7565/upp2.log ?

Sorry, could upload the file as a new user.
The upp2.log file ends with the following text

[18:43:39.636][7]Current mode: 7, previous max_reads_allowed: 2
[18:43:39.636][7]prev_mode (7) same as current mode, skip processing.
[18:43:40.147][7]read timeout
[18:43:40.147][7]Current mode: 7, previous max_reads_allowed: 1
[18:43:40.147][7]prev_mode (7) same as current mode, skip processing.
[18:43:40.655][7]read timeout
[18:43:40.655][7]Current mode: 7, previous max_reads_allowed: 0
[18:43:40.655][7]prev_mode (7) same as current mode, skip processing.
[18:43:41.163][7]read timeout
[18:43:41.163][7]Max allowed reads reached in Firehose on mode: 7, bail out

you can put in google drive

Btw, are you installing the MBPL usb driver?

Hi,
Thank you for your reply. I looked into it but couldn’t find any folder with USB drivers or instructions for where to get the drivers.
Please can you let me know which driver to update and where to find it.

You can get the usb driver MBPL_DRIVERS_R40_ENG3-usb-pice-src.tar here

https://source.sierrawireless.com/resources/airprime/software/mbpl/mbpl-software-latest/

Thank you for a quick reply

Hi,
I got little success on running the MBPL tool.
This tool now stuck at downloading the file.

sudo ./fw-download-toolhostx86_64 -F -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -f /home/rvl/EM7565/011413 -l /home/rvl/EM7565/upp2.log -m 4 -c MBIM -t 1
Application version: 1.0.2405.0
INFO: QDL Port: /dev/ttyUSB0
INFO: Device Path: /dev/cdc-wdm0
INFO: Device Port: 0-0
INFO: FW Path: /home/rvl/EM7565/011413
Target image Info:
Carrier    :?
FW Version :01.14.13.00
Model ID   :SWI9X50C
Package ID :?
PRI Version:?
SKU        :INTERNAL
Modem is already in QDL mode. Continuing FW download.
Waiting for modem to come up in BOOT and HOLD mode ...
BOOT and HOLD Mode. Downloading firmware ...
Downloading: /home/rvl/EM7565/011413/SWI9X50C_01.14.13.00.cwe
-

Content of upp2.log file

[12:31:16.644][7]**************************************************
[12:31:16.644][7]Copyright: © 2015-2017 Sierra Wireless, Inc. all rights reserved
[12:31:16.644][7]lite-fw is only permitted to be used with Sierra Wireless Modems
[12:31:16.644][7]lite-fw version lite-fwMBPL_SDK_R40_ENG6
[12:31:16.644][7]**************************************************
[12:31:16.644][6]Device is in BOOT&HOLD mode.
[12:31:16.644][6]Images list:
[12:31:16.644][6]Image[0]: /home/rvl/EM7565/011413/SWI9X50C_01.14.13.00.cwe
[12:31:16.644][6]Type: SPKG, Version string: INTERNAL_?_SWI9X50C_01.14.13.00_?_?_?_?
[12:31:16.644][6]Type: HASH, Version string: SWI9X50C_01.14.13.00
[12:31:16.644][6]Type: BOOT, Version string: SWI9X50C_01.14.13.00
[12:31:16.644][6]Type: MODM, Version string: SWI9X50C_01.14.13.00
[12:31:16.644][7]litefw_ExtractImageParamsByFile: '/home/rvl/EM7565/011413/SWI9X50C_01.14.13.00.cwe' is a FW image.
[12:31:16.645][7]find_dev_ss_loc: Found device SS path '/sys/bus/usb/devices/1-2/power/control'
[12:31:16.645][7]disable_ss: SS is not enabled, no need to disable SS.
[12:31:16.646][6]litefw_download: Adjust download_type from 1 to REG_DWLD as device is already in B&H mode.
[12:31:16.646][7]Waiting for modem to come up in B&H mode ...
[12:31:17.657][7]Modem is in B&H mode. Downloading firmware ...
[12:31:17.662][7]find_dev_ss_loc: Found device SS path '/sys/bus/usb/devices/1-2/power/control'
[12:31:17.663][7]disable_ss: SS is not enabled, no need to disable SS.
[12:31:17.663][7]QDL Port :/dev/ttyUSB0
[12:31:22.671][7]Read payload [48]
[12:31:22.671][7]Read 48 bytes
[12:31:22.671][7]<-  01 00 00 00 30 00 00 00  02 00 00 00 01 00 00 00   00 04 00 00 02 00 00 00  00 00 00 00 00 00 00 00     ....0...........................
[12:31:22.671][7]<-  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                                                        ................
[12:31:22.671][7]Current mode: 0, previous max_reads_allowed: 29
[12:31:22.671][7]Send 48 bytes
[12:31:22.671][7]->  02 00 00 00 30 00 00 00  02 00 00 00 02 00 00 00   00 00 00 00 03 00 00 00  01 00 00 00 02 00 00 00     ....0...........................
[12:31:22.671][7]->  03 00 00 00 04 00 00 00  05 00 00 00 06 00 00 00                                                        ................
[12:31:22.671][7]Sahara Hello Rsp sent successfully, max_reads_allowed reset to 30
[12:31:23.075][7]Read payload [8]
[12:31:23.075][7]Read 8 bytes
[12:31:23.075][7]<-  0b 00 00 00 08 00 00 00                                                                                 ........
[12:31:23.075][7]Current mode: 1, previous max_reads_allowed: 29
[12:31:23.075][7]Send 12 bytes
[12:31:23.075][7]->  0d 00 00 00 0c 00 00 00  00 ff 00 00                                                                    ............
[12:31:23.075][7]Sahara Command Execute packet sent successfully, max_reads_allowed reset to 30
[12:31:23.105][7]Read payload [16]
[12:31:23.106][7]Read 16 bytes
[12:31:23.106][7]<-  0e 00 00 00 10 00 00 00  00 ff 00 00 09 00 00 00                                                        ................
[12:31:23.106][7]Current mode: 2, previous max_reads_allowed: 29
[12:31:23.106][7]Send 12 bytes
[12:31:23.106][7]->  0f 00 00 00 0c 00 00 00  00 ff 00 00                                                                    ............
[12:31:23.106][7]Sahara Switch to Firehose command sent successfully, max_reads_allowed reset to 30
[12:31:23.125][7]Read payload [9]
[12:31:23.125][7]Read 9 bytes
[12:31:23.125][7]<-  63 6f 6e 66 69 72 6d 65  64                                                                             confirmed
[12:31:23.125][7]Current mode: 15, previous max_reads_allowed: 29
[12:31:23.125][7]Leaving Sahara ...
[12:31:23.628][7]read timeout
[12:31:23.628][7]Current mode: 3, previous max_reads_allowed: 89
[12:31:23.628][7]Tx: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<NOP value="ping"/>
</data>

[12:31:23.628][7]Firehose nop cmd sent, max_reads_allowed reset to 60
[12:31:24.137][7]Read payload [343]
[12:31:24.137][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="Binary build date: Aug 23 2021 @ 16:19:45"/>
</data>

[12:31:24.137][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="Supported Functions: program configure power getstorageinfo nop "/>
</data>

[12:31:24.137][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="SWI supported functions: CWE"/>
</data>

[12:31:24.137][7]Current mode: -1, previous max_reads_allowed: 59
[12:31:24.137][7]Read payload [210]
[12:31:24.137][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="Binary build date: Aug 23 2021 @ 16:19:45
"/>
</data>

[12:31:24.137][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="fh.attrs.Verbose is set to 0"/>
</data>

[12:31:24.137][7]Current mode: -1, previous max_reads_allowed: 58
[12:31:24.138][7]Read payload [134]
[12:31:24.138][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="Supported Functions: program configure power getstorageinfo nop "/>
</data>

[12:31:24.138][7]Current mode: -1, previous max_reads_allowed: 57
[12:31:24.138][7]Read payload [177]
[12:31:24.138][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="SWI supported functions: CWE"/>
</data>

[12:31:24.138][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<response value="ACK" />
</data>

[12:31:24.138][7]Received ACK for NOP command.  Advance to Configure stage.
[12:31:24.138][7]Current mode: 4, previous max_reads_allowed: 56
[12:31:24.138][7]Tx: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<configure MemoryName="nand" Verbose="0" AlwaysValidate="0" MaxDigestTableSizeInBytes="8192" MaxPayloadSizeToTargetInBytes="1048576" ZlpAwareHost="1" SkipStorageInit="0" TargetName="8960" />
</data>

[12:31:24.138][7]Firehose configure cmd sent, max_reads_allowed reset to 30
[12:31:24.153][7]Read payload [237]
[12:31:24.153][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<response value="NAK" MemoryName="NAND" MaxPayloadSizeFromTargetInBytes="2048" MaxPayloadSizeToTargetInBytes="8192" MaxPayloadSizeToTargetInBytesSupported="8192" TargetName="9x55" />
</data
[12:31:24.153][7]Received NAK for Configure command.  Continue to GetStorageInfo stage.
[12:31:24.153][7]MaxPayloadSizeToTargetInBytes: 8192
[12:31:24.153][7]Current mode: 5, previous max_reads_allowed: 29
[12:31:24.153][7]Tx: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<getStorageInfo physical_partition_number="0" />
</data>


[12:31:24.153][7]Firehose getstorageinfo cmd sent, max_reads_allowed reset to 60
[12:31:24.168][7]Read payload [185]
[12:31:24.168][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="[FLASH_INFO]"/>
</data>

[12:31:24.168][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value=";This section provides flash info"/>
</data>

[12:31:24.168][7]Current mode: -1, previous max_reads_allowed: 59
[12:31:24.168][7]Read payload [197]
[12:31:24.168][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="FLASH_NAME=MT29F4G08ABBEA3W   "/>
</data>

[12:31:24.168][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="SECTOR_SIZE_IN_BYTES = 4096"/>
</data>

[12:31:24.168][7]SECTOR_SIZE_IN_BYTES: 4096
[12:31:24.168][7]Current mode: -1, previous max_reads_allowed: 58
[12:31:24.168][7]Read payload [197]
[12:31:24.169][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="NUM_PARTITION_SECTORS = 131072"/>
</data>

[12:31:24.169][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="num_physical_partitions = 1"/>
</data>

[12:31:24.169][7]Current mode: -1, previous max_reads_allowed: 57
[12:31:24.169][7]Read payload [191]
[12:31:24.169][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="TOTAL_SECTOR_SIZE_IN_BYTES= 4320"/>
</data>

[12:31:24.169][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="PAGES_IN_BLOCK = 64"/>
</data>

[12:31:24.169][7]Current mode: -1, previous max_reads_allowed: 56
[12:31:24.169][7]Read payload [300]
[12:31:24.169][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="CONFIGURATION SELECTION FOR THIS DEVICE: BLOCKSIZE:256KB and PAGESIZE:4KB"/>
</data>

[12:31:24.169][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="
"/>
</data>

[12:31:24.169][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="[BAD_BLOCK_LIST]"/>
</data>

[12:31:24.169][7]Current mode: -1, previous max_reads_allowed: 55
[12:31:24.170][7]Read payload [107]
[12:31:24.170][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value=";This section provides bad block list"/>
</data>

[12:31:24.170][7]Current mode: -1, previous max_reads_allowed: 54
[12:31:24.359][7]Read payload [369]
[12:31:24.359][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="TOTAL_BAD_BLOCK=0"/>
</data>

[12:31:24.359][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="{&quot;storage_info&quot;: {&quot;total_blocks&quot;:2048, &quot;block_size&quot;:262144, &quot;page_size&quot;:4096, &quot;mem_type&quot;:&quot;NAND&quot;, &quot;prod_name&quot
[12:31:24.359][7]Current mode: -1, previous max_reads_allowed: 53
[12:31:24.360][7]Read payload [79]
[12:31:24.360][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<response value="ACK" />
</data>

[12:31:24.360][7]Received ACK for GetStorageInfo command.  Advance to Program stage.
[12:31:24.360][7]Current mode: 6, previous max_reads_allowed: 52
[12:31:24.360][7]File: "/home/rvl/EM7565/011413/SWI9X50C_01.14.13.00.cwe", size in bytes: 80247956, size in sectors: 19592
[12:31:24.360][7]Tx: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="spkg.cwe" num_partition_sectors="19592" physical_partition_number="0" start_sector="-1"  />
</data>

[12:31:24.360][7]Firehose program cmd sent, max_reads_allowed reset to 30
[12:31:24.370][7]Read payload [202]
[12:31:24.370][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="INSIDE HANDLE PROGRAM"/>
</data>

[12:31:24.371][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="start_sector 0, last_sector_address 19592"/>
</data>

[12:31:24.371][7]Current mode: -1, previous max_reads_allowed: 29
[12:31:24.371][7]Read payload [206]
[12:31:24.371][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<log value="SWI program command for CWE image spkg.cwe"/>
</data>

[12:31:24.371][7]Complete target 1: <?xml version="1.0" encoding="UTF-8" ?>
<data>
<response value="ACK" rawmode="true" />
</data>

[12:31:24.371][7]Received ACK/RAWMODE_TRUE for Program command.  Advance to payload transfer stage.
[12:31:24.371][7]Current mode: 7, previous max_reads_allowed: 28
[12:31:24.371][7]Write: /home/rvl/EM7565/011413/SWI9X50C_01.14.13.00.cwe

[12:31:24.371][7]Actual read block size used: 0 bytes
[12:31:24.371][7]Write Start

Did you install the mbpl usb driver?

Hi,

Yes I did install the drivers.

Is it ok to upgrade firmware 01.14.22.00

Hi,

Sorry for bothering you. I tried to upgrade to 01.14.22 Generic, but having same issue.

sudo ./fw-download-toolhostx86_64 -F -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -f "./011422" -l /home/rvl/EM7565/upp3.log -m 4 -c MBIM -t 1
Application version: 1.0.2405.0
INFO: QDL Port: /dev/ttyUSB0
INFO: Device Path: /dev/cdc-wdm0
INFO: Device Port: 0-0
INFO: FW Path: ./011422
Target image Info:
Carrier    :GENERIC
FW Version :01.14.22.00
Model ID   :SWI9X50C
Package ID :001
PRI Version:002.059
SKU        :9999999
Modem is already in QDL mode. Continuing FW download.
Waiting for modem to come up in BOOT and HOLD mode ...
BOOT and HOLD Mode. Downloading firmware ...
Downloading: ./011422/SWI9X50C_01.14.22.00.cwe
|

Hi,

Ok let me detail our requirements. We have an embedded Linux device based on an iMX6 processor running Yocto Sumo Linux. This device uses EM7565 module for 4G connections. Now we have a requirement to upgrade this device in the field. We use Airvantage to download different firmware when it is connected to the cloud. But sometimes it loses connections and we need to download the firmware through the Linux command prompt.

I just tried in Ubuntu 18 with EM7565, no problem is found for FW upgrade:


owner@ubuntu:~/QMI/MBPL/MBPL_SDK_R39_ENG2-fwdwl.bin/SampleApps/fw-download-tool$ sudo ./bin/fw-download-toolhostx86_64 -l pcie_mbim.log -f /home/owner/Desktop/EM75xx_FW/SWI9X50C_01.14.22.00_GENERIC_002.059_001/ -m 4 -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -t 1 -w SWI9X50C_01.14.22.00.cwe -n SWI9X50C_01.14.22.00_GENERIC_002.059_001.nvu
Application version: 1.0.2402.1
INFO: QDL Port: /dev/ttyUSB0
INFO: Device Path: /dev/cdc-wdm0
INFO: Device Port: 0-0
INFO: FW Path: /home/owner/Desktop/EM75xx_FW/SWI9X50C_01.14.22.00_GENERIC_002.059_001/
Target image Info:
Carrier    :GENERIC
FW Version :01.14.22.00
Model ID   :SWI9X50C
Package ID :001
PRI Version:002.059
SKU        :9999999
Switching device into download mode for image switch ...
Modem Needs FW
Modem Needs PRI
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/owner/Desktop/EM75xx_FW/SWI9X50C_01.14.22.00_GENERIC_002.059_001//SWI9X50C_01.14.22.00.cwe
Downloading: /home/owner/Desktop/EM75xx_FW/SWI9X50C_01.14.22.00_GENERIC_002.059_001//SWI9X50C_01.14.22.00_GENERIC_002.059_001.nvu
All image data was downloaded successfully.
Device is about to reset ...
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.22.00
Carrier Name        : GENERIC
Carrier PRI Revision: 002.059_001
Firmware download process completed successfully.

I tried your command exactly as it is

rvl@rvl-txgen3-vm:~/EM7565/MBPL/SampleApps/fw-download-tool$ sudo ./bin/fw-download-toolhostx86_64 -l pcie_mbim.log -f /home/rvl/EM7565/011422/ -m 4 -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -t 1 -w SWI9X50C_01.14.22.00.cwe -n SWI9X50C_01.14.22.00_GENERIC_002.059_001.nvu
Application version: 1.0.2405.0
Device mode (MBIM or QMI) unknown. Application terminates.

Then I added -c MBIM to the above command but no success.
The only difference is, you are trying revision R39 and mine is R40. Unfortunately, Sierra does not provide earlier version to download. Can you share me the R39 files please for me to try.

you can try my binary:
fw-download-toolhostx86_64 (3.0 MB)

Hi
No luck. Same issue. I think there is an issue with the module. But can’t understand how I can upgrade successfully in Windows.

how long did you wait for downloading the firmware?