# Updating EM7565 on openwrt

**URL:** <https://forum.sierrawireless.com/t/updating-em7565-on-openwrt/17723>\
**Category:** MC/EM Series\
**Created:** [September 29, 2019, 11:15pm UTC](https://forum.sierrawireless.com/t/updating-em7565-on-openwrt/17723 "2019-09-29T23:15:56Z")\
**Posts on this page:** 1\
**Showing post:** 33

<div class="post-metadata">

**Author:** ![netpower](https://avatars.discourse-cdn.com/v4/letter/n/aeb1de/32.png) [@netpower](https://forum.sierrawireless.com/u/netpower)\
**Post date:** [October 18, 2022, 8:08pm UTC](https://forum.sierrawireless.com/t/updating-em7565-on-openwrt/17723/33 "2022-10-18T20:08:37Z")

</div>

So here I’m necromancing this post for whoever might be stuck trying to upgrade a Sierra EM7455 Modem.

So I got an old Dell DW5811e card, which i first made recognize as a Sierra MC card using the following AT commands:

Using picocom to connect to the serial port of the modem  
`# picocom -b 19200 /dev/ttyUSB2`

run these commands

```auto
AT!ENTERCND="A710"
AT!USBPID=9071,9070
AT!USBVID=1199
AT!USBPRODUCT="EM7455"
AT!PRIID="9904802","001.001","Generic-Laptop"
AT!RESET

```

Now the modem identifies as a non OEM Sierra EM7455 modem.

i’ve then tried to upgrade the firmware with the automatic solution, being:

```auto
deviceid=`lsusb | grep -i -E '1199:9071|1199:9079|413C:81B6' | awk '{print $6}'`
echo $deviceid
qmi-firmware-update --update -d "$deviceid" SWI9X30C_02.38.00.00.cwe SWI9X30C_02.38.00.00_GENERIC_002.082_000.nvu -L upgrade.log --ignore-mm-runtime-check

```

This did not work, giving me a `error: unsupported download protocol` error.  
In the logs, I got `[qfu-updater] qdl device creation failed: unexpected response received in dload sdp: 0x13`  
Since the modem has 3 serial ports, I probably didn’t talk to the one accepting upgrades.

That’s the tricky part, when the modem gets rebooted in download mode, there should only be one serial port (something like /dev/ttyUSB0) and no /dev/cdc-wdm0 device.  
That actually happens, but `qmi-firmware-update` just waits for too long, and the modem reverts to non download mode. The firmware update them complains it can’t find sahara protocol, which is the update protocol…

I ended up making a manual update with 2 ssh sessions:  
The first terminal shows which devices are up every second:

```auto
watch -n 1 "ls /dev/{cdc-*,ttyUSB*}"

```

On the second terminal, i ran the following:

```auto
qmicli -d /dev/cdc-wdm0 -p --dms-set-firmware-preference="firmware-version=02.38.00.00,config-version=002.082_000,carrier=Generic"
qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=offline
qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=reset

```

Now I just had to wait (about 45 seconds or so) until my first terminal showed me that only `/dev/ttyUSB0` existed, than I could run the actual firmware update with:

```auto
qmi-firmware-update -t "/dev/ttyUSB0" -L upgrade.log --ignore-mm-runtime-check -U SWI9X30C_02.38.00.00.cwe SWI9X30C_02.38.00.00_GENERIC_002.082_000.nvu

```

FW download went well with

```auto

downloading cwe image: SWI9X30C_02.38.00.00.cwe (64.3 MB)...
finalizing download... (may take more than one minute, be patient)
successfully downloaded in 57.90s (1.1 MB/s)
downloading cwe image: SWI9X30C_02.38.00.00_GENERIC_002.082_000.nvu (23.9 kB)...
finalizing download... (may take more than one minute, be patient)
successfully downloaded in 0.08s (298.1 kB/s)
rebooting in normal mode...
firmware update operation finished successfully

```

For an unknown reason, I had to do the update twice on my modem for it to work, eg:

```auto
 qmicli --device=/dev/cdc-wdm0 --dms-swi-get-current-firmware
[/dev/cdc-wdm0] Successfully retrieved current firmware:
        Model: EM7455B
        Boot version: SWI9X30C_02.38.00.00
        AMSS version: SWI9X30C_02.38.00.00
        SKU ID: 1102565
        Package ID: unknown
        Carrier ID: 1
        Config version: 002.017_000

```

Hope this helps someone 😉

---

_[View the full topic](https://forum.sierrawireless.com/t/updating-em7565-on-openwrt/17723)._
