I am doing some firmware development for BC660K, and since we are under development yet, we are refleshing the FW, testing, bug-fixing, etc…
And, the problem is that it causes the AT+CGATT=1 to take so long to complete.
For example, the Firmware we developed does the very common thing:
Steps of the Firmware:
1 - attach to the network
2 - connect to the MQTT broker
3 - exchange data
These steps are done fine. And, if we find some bug, we do the following:
Steps of bug fixing:
1 - fix bug
2 - turn off the BC660K
3 - flash the new Firmware to the module
4 - run the Firmware (which will go to the steps above mentioned).
However, after every flashing, the AT+CGATT=1 takes too much (returns error, and Firmware then retry after a while, and keep it until it connects).
I suspected that the very first trial to attach to the network had something to do with the fact taht we simply turn off (step 2 of Bug Fix steps), so the Network Provider would trigger some “timeout” or something, and that would be the cause of taking too much until the registration can happen again.
So, before turning the BC660K off, I ran the command “AT+CGATT=0” to detach from network, then I turn off the BC660K. However, after flashing the module again, the registration takes time.
It can take sometimes 5 minutes, sometimes 10 minutes… Worst case I have experienced was about 15 minutes. Because we are flashing several times a day for bugfix/new features, etc… at the end of the day we loose much time with this registration.
So, my question is if is there something I could do to have the registration to happen faster? Or is this behavior expected?