Flashing Sierra EM7455 through WE826 Openwrt

yeah... router doesnt have enough space to hold the files...

router has a usb slot. how do i access usb drive through the router?

sorry if i ask a lot, not too familiar with luniz or openwrt.. this is my first router and its been a challenge to get it to work

Assuming all the drivers are there, your memory stick should be mounted under /mnt, check with ls /mnt, so you will need to add something like /mnt/sda1/ before the file names.
You can run ls /mnt/sda1/ (with the correct name) to see the content of the drive.

Got everything setup.. still need to get a bit more familiar with the QMI commands.. im getting some errors when trying to execute command..

but so far mounted external usb drive and the router can see the device and the files inside so its set on that end

Just copy/paste your command and the error(s).

using latest generic from sierra

root@ROOter:~# qmicli -d /dev/cdc-wdm0 -p --dms-set-firmware-preference="SWI9X30
C_02.33.03.00"

error: invalid format string, expected 3 elements: [(fwver),(config),(carrier)]

ok. so got a enw eeror from trying yiur command..

seems like i dont have modemmanager

root@ROOter:~# ls /mnt/sda1/
SWI9X30C_02.33.03.00.cwe                      lost+found
SWI9X30C_02.33.03.00_GENERIC_002.072_000.nvu

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 --ignore-mm-runtime-check

error: unknown firmware image file

used ingore modemanager runtime check since i dont have it .. now got that error.. wtf

You are quoting a space here. Don't do that unless the file name really starts with a space.

even if omitting the fw preference command and going straight for the update it returns that it doesn't recognize the firmware image

When you give it the mistyped file name or does it still do that after you've corrected the typo?

It's very hard for us to guess what you are doing. Can't you please just copy the commands and error messages here instead of describing them in your own words? Most of the time when you get unexpected output, the reason is that the input is different from what you think it is. Describing to us what you think your input is does not help.

Anyway, if you want to verify the images you can compare the MD5 sums with mine:

$ md5sum SWI9X30C_02.33.03.00*
5847f1d62adc3237000c6571f8d87827  SWI9X30C_02.33.03.00.cwe
f17933ab3f1239c5f67e80d6cc48f4d8  SWI9X30C_02.33.03.00_GENERIC_002.072_000.nvu
1 Like
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.