Sometimes, my Q2501 switches to a different GSM operator and keeps locked to it for several days. It happens on several tens of modules, so I guess it’s a problem in the firmware.
The manual choice of an operator (AT+COPS=1,xx) is not possible, since I need to allow roaming.
I thought it would help to restart the module, and it does. However, that’s not nice since the application looses the whole RAM content during the restart. So I’m looking for a way to restart only the GSM part.
First I was using AT+COPS=2, then AT+COPS=0. It seemed to work but then I found that in roaming, the module never chooses the operator it was before. So, I would need to do the cycle twice, and I don’t like that.
Then I found this AT+WMBS=2,1 then AT+WMBS=5,1 cycle. It works really nice, just what I needed. But there’s another problem: the AT+CPAS starts to return 5 (asleep), even though the calls and everything works fine. The problem is that when the ON/~OFF pin goes low, the module turns off, and that’s a showstopper for my app.
I also have no more free GPIO that could be used to reset the SIM or something.
So, this is what I need:
- A way to restart the GSM, or re-run the process of looking for an optimal “service provider” (operator).
- or -
- A way to go from +CPAS: 5 to +CPAS: 0 without restart.
It would also help if someone could confirm that after AT+WMBS=1,1 the +CPAS goes to 5 forever. My firmware is quite old and this may have been fixed already.