I am using a Linux PC. I need to understand more about firmware upgrade.
Is it possible to upgrade the modem firmware with AT commands?
Or is it possible with QMICLI commands alone? There are commands for setting preference, but is there a way to give the path of the .spk file to the modem to download from? For example, lets say I have downloaded the .spk file in /tmp/firmware/sierraFW.spk, how to provide this path to QMICLI tool?
I do not want to use qmi-firmware-update, if it is possible to use only QMICLI, to reduce build size.
I could enter into boot and hold mode with qmicli:dms commands –dms-set-firmware-preference=… –dms-set-operating-mode=offline –dms-set-operating-mode=reset
At this point, as expected I can see only one ttyUSB. Looking for a simple integratable solution for downloading the firmware to the modem. I know that qmi-firmware-update tool does all of this, but if there are APIs like the QMI APIs, that I can pick and integrate into my application fitting to my needs, it would be the best. Most of the options are fixed and the only thing that really changes is the firmware file (.spk).
After this, it does open only one ttyUSB. But I restart again, it shows up all the three ttyUSB, except that it doesn’t allow me to go back to ‘online’ mode. It stays in ‘low-power’ and throws ‘InvalidTransition’ error when I try to set mode to ‘online’. I had to reflash FW to get it back. Is this expected behaviour? It is not possible to get back to ‘online’ mode smoothly?
Set preference, go to offline and then reset with QMI->DMS
After modem reboot, as expected I can see that we have only on ttyUSB exposed. So I cannot run any AT commands.
Dont go for firmware update by just powercycle again and I can see the three ttyUSBs back
Now I can give AT commands. When you asked the response for AT commands, did you mean at this point? Because the previous response I posted was when, I already retrieved the status by updating the firmware. But now I reproduced the issue again with the first three steps and this is what I see:
at!entercnd=“A710”
at!entercnd=“A710”
OK
at!impref?
at!impref?
!IMPREF:
preferred fw version: 00.08.07.00
preferred carrier name: Generic
preferred config name: Generic_001.081_000
preferred subpri index: 000
current fw version: 00.08.07.00
current carrier name: GENERIC
current config name: GENERIC_001.081_000
current subpri index: 000
carrier name mismatch
config name mismatch
OK
at!gstatus?
at!gstatus?
!GSTATUS:
Current Time: 527 Temperature: 35
Modem Mitigate Level: 0 ModemProc Mitigate Level: 0
Reset Counter: 1 Mode: LOW POWER MODE
OK
at+cfun?
at+cfun?
+CFUN: 0
OK
at+cfun=1
at+cfun=1
+CME ERROR: operation not supported
The only way at the moment to get back to online seems to be to actually update the firmware. I am not sure if I am missing something or this is the expected behavior?
Yes, because when you asked me the response for it, I already retrieved the status back to online to proceed with my work (had to do actual firmware update). But then I realized you meant the response at the point where it was not possible to get back to ‘online’ (without actual firmware update), is that right? So I reproduced the issue and gave the AT commands again. I didn’t delete the previous post as it could be a good reference for ‘expected’ vs ‘actual’ and also your question said ‘after upgrade’.
So my question in short is, if anyone misses the actual firmware update after getting into boothold mode, it should be possible to get back to normal mode (without firmware update), right? If this scenario is not accounted for, then it could be a problem.
Yes, downloaded the latest .spk from Sierra source. The same file works ok if I go for upgrade with qmi-firmware-update, but if I set the modem to boot&hold and then reboot the modem without actual firmware update, it causes the issue. Does it mean that when we put the modem to at!boothold, we cannot get out of it without a firmware update? I would expect that when I put the modem to at!boothold, and for some reason I choose not to go for firmware upgrade, I should be able to do powercycle and get back to normal mode? If this is the expected behavior and only my modem is not responding that way, then something must be wrong with my modem. I am trying to understand if this is the case. If anyone can confirm that with RC76xx, it is possible to enter boot&hold and come back to normal after reset, without actual firmware update, it will be great help.
ok, I tried with exclusive AT commands, and it seems ok. But if I try the same, putting modem to boot&hold with QMICLI:DMS commands, I cannot get back to normal mode with a powercycle.
I don’t use AT commands unless needed to check something. I checked AT!IMPREF?, when you asked me to. So my steps are:
check status with
–dms-get-operating-mode
set modem to boot&hold with
–dms-set-firmware-preference=…
–dms-set-operating-mode=offline
–dms-set-operating-mode=reset
I can see that there is only ttyUSB port as expected. But I just power cycle again without any firmware update
Now, I cannot get back to online. Powercycle only exposes the three ttyUSBs back but can’t set it back to online. Now, if I do a firmware update with qmi-firmware-update, everything is back to normal. Hope it is clear?