danielewood/sierra-wireless-modems

should set firmware preference

yannick opened this issue · 2 comments

i updated my modem via

autoflash-7455.sh  -e 2 -u 0 -m 6 -b 0

however it would not connect afterwards. only after i set the preference via

qmicli -d /dev/cdc-wdm0 --dms-set-firmware-preference="02.33.03.00,002.045_000,GENERIC"

it worked.

for me, setting

qmicli -d /dev/cdc-wdm0 --dms-set-firmware-preference="02.33.03.00,002.007_001,GENERIC"

power cycling (unplugging) the device and then manually updating the firmware via

deviceid=`lsusb | grep -i -E '1199:9071|1199:9079|413C:81B6' | awk '{print $6}'`
qmi-firmware-update --update -d "$deviceid" SWI9X30C_02.33.03.00.cwe SWI9X30C_02.33.03.00_GENERIC_002.072_001.nvu

got me a Dell-branded EM7455 back to life (was stuck in low power mode with a fw mismatch). The deviceid was already set, so maybe it is smarter to run this command first.

+1000 😅

This is essential for solving LPM lock-in issues caused by IMSWITCH:1 due to fw/config mismatches.
IMHO it should at least be included somewhere in the README.md for poor dudes like me to find.

I overlooked this issue and wasted numerous hours trying to find a way to override these weird "preferences".
Finally found this (version adapted) command hidden in some linux forum and was able to get my modem working:
qmicli -p -d /dev/cdc-wdm0 --device-open-mbim --dms-set-firmware-preference=02.38.00.00,002.082_000,GENERIC
(I updated the fw first, so the order really doesn't matter.)

I was not able to find any AT command for doing this, though I assume this command does something alike.