I have an OpenAT application running on an SL808XT module which depends on a GPRS connection for it to work.
Startup time is important for this applications use case, and I’ve noticed it takes ten seconds or more for the SIM to finish initialising before a GPRS connection can be established. This might not sound like much, but when combined with the total module + gprs + application startup time it’s becoming irritating to the end user.
Every time the module is restarted it goes through the same cycle of taking ten or more seconds waiting for the SIM to initialise before going online. I have to put a loop in my application to continually test the SIM is available before the GPRS connection can be established.
Is there any way of reducing the time it takes for the SIM to become available, or is there some way of caching the SIM details so the GSM connection can be established immediately when the module restarts? The SIM is very rarely changed.
I appreciate any help you can offer.
i dont think we can reduce the start up time of sim registration. Every time after a rest, it will take the same time to connect to the network.
If you shut down the GSM connection using AT+CFUN=4, it retains access to the SIM, so when you restart the GSM stack using AT+CFUN=1,0 your start time should be fast. If you are powering down the modem completely, then this will not be possible.
Also, make sure the SIM Speed enhancement function is enabled, this should give you a SIM init and GSM registration time of around 9 seconds under good GSM conditions.
Thanks for your reply.
I’ll check we are using the SIM Speed enhancement function to see if that makes any difference.
Unfortunately when our application loses its GPRS connection we need to restart the entire OpenAT application (using a hard modem reboot) as an embedded component doesn’t reset cleanly when the connection is resumed. So the AT+CFUN trick won’t work for us.
Does anyone else have any tips/tricks I could try?
Just a thought: does it help if you put the SIM into Manual Operator Selection
It looks like the SIMSPEEDENH feature is enabled by default:
23:31:31:644 - AT+WFM=2,"SIMSPEEDENH"
23:31:31:654 - +WFM: "SIMSPEEDENH",1,0
I’ll try the manual operator selection but our product sometimes needs to roam.
“Manual” does fall-back to automatic if the manual-select fails…
Nice, setting the SIM to manual mode does shave a few seconds off the GPRS connection time!
…where XXXXX equals the operator identifier. You can obtain the current operator identifier with:
Good to know - it was just a guess!