Flashing Sierra EM7455 through WE826 Openwrt

root@ROOter:~# qmi-firmware-update -w /dev/cdc-wdm0 -U /mnt/sda1/SWI9X30C_02.33.
03.00.cwe /mnt/sda1/SWI9X30C_02.33.03.00_GENERIC_002.072_000.nvu
error: couldn't check if ModemManager running: Couldn't get system bus: Could not connect: No such file or directory


Note: in order to do a clean firmware upgrade, ModemManager must NOT be running;
please stop it and retry. On a 'systemd' based system this may be done as follows:
 # systemctl stop ModemManager

You can also ignore this runtime check (at your own risk) using --ignore-mm-runtime-check.

that is my result and the command i am using

how do i find my md5 sum #?

@bmork I see no --update or -u option with OpenWrt version of the tool:

# qmi-firmware-update -V

qmi-firmware-update 1.24.12
[...]
# qmi-firmware-update --help | grep -i update
  qmi-firmware-update [OPTION…] FILE1 FILE2... - Update firmware in QMI devices
Update options (download mode)
  -U, --update-download         Launch firmware update process while in download (boot & hold) mode.

Doh! You're right. Sorry about the confusion. I should test on OpenWrt and not on a PC. But I just don't have a suitable test system right now.

Those options are disabled when libqmi is built without udev support, which is how it is on OpenWrt of course.

OK, so you do need to run qmicli --dms-set-firmware-preference. I recommend using the first example from qmi-firmware-update -H as a template:

  1. Set firmware preference setting:
qmicli -d /dev/cdc-wdm0 --dms-set-firmware-preference="firmware-version=02.33.03.00,config-version=002.072_000,carrier=GENERIC"
  1. Request power cycle:
qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=reset
  1. Wait for the /dev/ttyUSB device to appear (need to veriy the device name - it could be different from /dev/ttyUSB0 ).

  2. Run updater operation while in QDL download mode:

qmi-firmware-update -t /dev/ttyUSB0 --update-download /mnt/sda1/SWI9X30C_02.33.03.00.cwe /mnt/sda1/SWI9X30C_02.33.03.00_GENERIC_002.072_000.nvu
  1. Now wait for the device to fully reboot, may take up to several minutes.

Hoping I'm closer to something actually working now...

EDIT: I will remove my previous bogus posts now to avoid confusing anyone reading this thread later

1 Like

I initially used a desktop example as well. I already corrected my earlier post with the right syntax.

managed to get in download mode:
root@ROOter:~# qmicli -d /dev/cdc-wdm0 --dms-set-firmware-preference="02.33.03.00,002.072_000,GENERIC"
[/dev/cdc-wdm0] Firmware preference successfully selected

    You may want to power-cycle the modem now, or just set it offline and reset it:
            $> sudo qmicli ... --dms-set-operating-mode=offline
            $> sudo qmicli ... --dms-set-operating-mode=reset

    After reset, the modem will wait in QDL mode for new firmware.
    Images to download: 'pri'

still having trouble actually flashing the file:

root@ROOter:~# qmi-firmware-update -t /dev/ttyUSB0 --update-download /mnt/sda1/SWI9X30C_02.33.03.00.cwe /mnt/sda1/SW
I9X30C_02.33.03.00_GENERIC_002.072_000.nvu
error: couldn't check if ModemManager running: Couldn't get system bus: Could not connect: No such file or directory

Note: in order to do a clean firmware upgrade, ModemManager must NOT be running;
please stop it and retry. On a 'systemd' based system this may be done as follows:

systemctl stop ModemManager

You can also ignore this runtime check (at your own risk) using --ignore-mm-runtime-check.

tried without modemmanager runtime check and returned unknown firmware image file

root@ROOter:~# qmi-firmware-update -t /dev/ttyUSB0 --update-download /mnt/sda1/SWI9X30C_02.33.03.00.cwe /mnt/sda1/SW
I9X30C_02.33.03.00_GENERIC_002.072_000.nvu --ignore-mm-runtime-check
error: unknown firmware image file

You need to put all the options before the file names.
qmi-firmware-update -t /dev/ttyUSB0 --ignore-mm-runtime-check -U /mnt/sda1/SWI9X30C_02.33.03.00.cwe /mnt/sda1/SW I9X30C_02.33.03.00_GENERIC_002.072_000.nvu

even doing so returns unknown firmware image

root@ROOter:~# qmi-firmware-update -t /dev/ttyUSB0 --ignore-mm-runtime-check -U /mnt/sda1/SWI9X30C_02.33.03.00.cwe /
mnt/sda1/SW I9X30C_02.33.03.00_GENERIC_002.072_000.nvu
error: unknown firmware image file

Remove extra space in the 2nd file name

still same result

Give me the access to the box and I'll do this for you.
PM me if you're interested.