Page 1 of 1
Switching between modem firmware with at!impref not working
Posted: Mon Jun 24, 2019 6:22 pm
by xdavidx
When I set up my system, I left the modem at the modem firmware that it came with for the EM7565. Last week, I decided I'd try to set up the AirVantage system to do over the air updates of the modem firmware. (That's a whole other topic, as it didn't work on my first attempt, but I did finally get it working. I think I'll try to do a tutorial on that at some point.) During the course of doing that (and before anything had been pushed down from Sierra Wireless), I noticed that I had 2 firmware images in my modem. One was Generic and one was for AT&T.
How did the AT&T image get there? Do they come from the factory that way? If so, why do they pick AT&T and not some other cellular provider?
Now, even though I have 2 images in the modem, and have succeeded in updating both of them to one version newer over AirVantage, I still can't seem to switch between the two of them using the at!impref= command. I've tried numerous times to set it to "ATT" (if currently on GENERIC) and "GENERIC" (if currently on ATT). It doesn't change the slot to the one I'm trying to set it to (checked via at!image?), whether before or after a reboot.
The only way I've been able to change which slot is active is to push down the firmware again from AirVantage. If Generic is active in my modem and I tell AirVantage to push down the AT&T firmware, then that becomes the active firmware. The only way to get back to Generic is to push down Generic from AirVantage.
Is there a known limitation where the at!impref= command doesn't work for switching between the images?
I don't *need this. It is more just for knowledge of how things work. There wasn't a noticeable speed change between Generic and AT&T. I figured there might be situations where something doesn't work or works differently and I might want to quickly swap images, for troubleshooting, without needing to push one down from AirVantage.
Re: Switching between modem firmware with at!impref not working
Posted: Mon Jun 24, 2019 9:21 pm
by JimHelms
The EM7565 like the MC7455 will hold up to 4 carrier firmware images.
The OEM MC7455 comes with all four of the major carrier images.
The carrier images on the EM7565 seem to vary with the versions. Some have but a single generic image, while others have both ATT and Generic.
Take this particular EM7565:
Firmware Images 1.png
I then updated the modem with the latest AT&T, Verizon and Generic Firmware by flashing each image twice.
I next wanted to test the AT!IMPREF command and to verify that all three images were now on the modem.
Code: Select all
ATI
Manufacturer: Sierra Wireless, Incorporated
Model: EM7565
Revision: SWI9X50C_01.08.04.00 dbb5d0 jenkins 2018/08/21 21:40:11
IMEI: 3592XXXXXX
IMEI SV: 8
FSN: UF82XXXXXXX
+GCAP: +CGSM
OK
at!entercnd="A710"
OK
AT!IMAGE?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
FW 1 GOOD 1 0 0 ?_? 01.05.03.00_?
FW 2 GOOD 6 0 0 ?_? 01.08.04.00_?
FW 3 GOOD 5 0 0 ?_? 01.07.02.00_?
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.008_004 01.07.02.00_ATT
PRI FF GOOD 0 0 0 002.012_000 01.08.04.00_GENERIC
PRI FF GOOD 0 0 0 002.015_001 01.08.04.00_VERIZON
Max PRI images: 50
AT!IMPREF?
!IMPREF:
preferred fw version: 01.08.04.00
preferred carrier name: GENERIC
preferred config name: GENERIC_002.012_000
current fw version: 01.08.04.00
current carrier name: GENERIC
current config name: GENERIC_002.012_000
OK
AT!IMPREF=?
!IMPREF ="<carrier name>"
OK
AT!IMPREF="ATT"
OK
So to this point, it appears to accept the preferred image as AT&T. But, when I checked the preferred image again:
Code: Select all
AT!IMPREF?
!IMPREF:
preferred fw version: 01.07.02.00
preferred carrier name: ATT
preferred config name: ATT_002.008_004
current fw version: 01.08.04.00
current carrier name: GENERIC
current config name: GENERIC_002.012_000
fw version mismatch
carrier name mismatch
config name mismatch
OK
But, when checking farther, I get a firmware, carrier and config mismatch....hmm.
I decided to set it back to Generic as I have ran out of play time.
Code: Select all
AT!IMPREF="GENERIC"
OK
AT!IMPREF?
!IMPREF:
preferred fw version: 01.08.04.00
preferred carrier name: GENERIC
preferred config name: GENERIC_002.012_000
current fw version: 01.08.04.00
current carrier name: GENERIC
current config name: GENERIC_002.012_000
OK
Not sure what is going on...
Re: Switching between modem firmware with at!impref not working
Posted: Mon Jun 24, 2019 9:36 pm
by xdavidx
I can't remember if mine even let me set the preferred to another value. I think it just left current and preferred the same. I could be wrong, however. I'll have to try it again.
I thought I read online that if you get a mismatch, it just means you have to reboot for it to take effect.
I did find this:
https://source.sierrawireless.com/~/med ... de_r2.ashx
image_switching_reference_table.png
It seems the EM7565 doesn't support image switching. However, the document could be out of date and it could be user error. But the fact that you are having an issue too makes me less inclined to believe that.
Re: Switching between modem firmware with at!impref not working
Posted: Mon Jun 24, 2019 9:40 pm
by JimHelms
You know, I did not reboot the modem after I got the mismatch. But I am not optimistic it would correct the issue. I will try again when I get some more play time.
Re: Switching between modem firmware with at!impref not working
Posted: Mon Jun 24, 2019 9:42 pm
by xdavidx
Oh, I thought that said EM75XX. It says WP75XX. It still doesn't have EM75XX listed, but that could be due to it predating that module.
Re: Switching between modem firmware with at!impref not working
Posted: Mon Jun 24, 2019 10:32 pm
by xdavidx
I get an error when I try to set a value:
Code: Select all
ati
Manufacturer: Sierra Wireless, Incorporated
Model: EM7565U
Revision: SWI9X50C_01.08.04.00 dbb5d0 jenkins 2018/08/21 21:40:11
IMEI: xxx
IMEI SV: 8
FSN: xxx
+GCAP: +CGSM
OK
at!image?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
FW 1 GOOD 4 0 0 ?_? 01.08.04.00_?
FW 2 GOOD 3 0 0 ?_? 01.07.02.00_?
FW 3 FOTA 0 0 0
FW 4 EMPTY 0 0 0
Max FW images: 4
Active FW image is at slot 1
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
PRI FF GOOD 0 0 0 002.008_002 01.07.02.00_ATT
PRI FF GOOD 0 0 0 002.012_000 01.08.04.00_GENERIC
Max PRI images: 50
OK
At!impref?
!IMPREF:
preferred fw version: 01.08.04.00
preferred carrier name: GENERIC
preferred config name: GENERIC_002.012_000
current fw version: 01.08.04.00
current carrier name: GENERIC
current config name: GENERIC_002.012_000
OK
at!impref=?
!IMPREF ="<carrier name>"
OK
at!impref="ATT"
ERROR
at!impref="GENERIC"
ERROR
The only differences I noticed is that mine always reports as EM7565U (note the "U") and I have that FOTA in the 3rd slot, which I assume has something to do with the AirVantage process.
The manual says the password isn't required, but I did try it both with and without the password.
Any idea what the difference is between a regular EM7565 and an EM7565U?
Re: Switching between modem firmware with at!impref not working
Posted: Mon Jun 24, 2019 10:52 pm
by xdavidx
I figured it out. Switching doesn't work with QMI composition!
This was after I set it to MBIM and did a reset:
Code: Select all
at!entercnd="A710"
OK
at!usbcomp?
Config Index: 1
Config Type: 3 (Generic)
Interface bitmask: 0000100D (diag,nmea,modem,mbim)
OK
at!impref?
!IMPREF:
preferred fw version: 01.08.04.00
preferred carrier name: GENERIC
preferred config name: GENERIC_002.012_000
current fw version: 01.08.04.00
current carrier name: GENERIC
current config name: GENERIC_002.012_000
OK
at!impref="ATT"
OK
at!impref?
!IMPREF:
preferred fw version: 01.07.02.00
preferred carrier name: ATT
preferred config name: ATT_002.008_002
current fw version: 01.08.04.00
current carrier name: GENERIC
current config name: GENERIC_002.012_000
fw version mismatch
carrier name mismatch
config name mismatch
OK
at!reset
OK
At this point, the Network Status wouldn't find the modem. I did a software reboot on the router and then it came back (*whew*):
Code: Select all
at!image?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
FW 1 GOOD 4 0 0 ?_? 01.08.04.00_?
FW 2 GOOD 5 0 0 ?_? 01.07.02.00_?
FW 3 FOTA 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.008_002 01.07.02.00_ATT
PRI FF GOOD 0 0 0 002.012_000 01.08.04.00_GENERIC
Max PRI images: 50
OK
at!impref?
!IMPREF:
preferred fw version: 01.07.02.00
preferred carrier name: ATT
preferred config name: ATT_002.008_002
current fw version: 01.07.02.00
current carrier name: ATT
current config name: ATT_002.008_002
OK
In the amount of time it took to do all that, I probably could have just pushed down the one I wanted from AirVantage! I guess they don't call it "fast" image switching.