Recovery from CME Error: 703

I am getting the BG96 stuck in a loop with a CME Error: 703 (http busy):

22/01/20 17:52:38.089 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:38.105 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:38.111 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:38.496 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:38.512 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:38.517 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:38.902 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:38.919 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:38.924 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:39.609 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:39.625 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:39.631 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:40.015 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:40.032 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:40.037 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:40.422 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:40.438 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:40.444 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:40.828 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:40.845 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:40.850 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:41.235 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:41.251 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:41.565 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:41.950 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:41.966 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:41.972 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:42.356 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:42.373 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:42.378 INFO: RX> "+CME ERROR: 703"
22/01/20 17:52:42.763 INFO: TX> "AT+QHTTPURL=82"
22/01/20 17:52:42.779 INFO: RX> "AT+QHTTPURL=82"
22/01/20 17:52:42.785 INFO: RX> "+CME ERROR: 703"

How should my code recover from this error? It seems that repeating the TX command will never work once an HTTP busy error occurs. Do I need a specific length of delay before retrying or is this error so fatal that I have to reboot the BG96?

Hi Padj,

“HTTP busy” is usually caused by last http session hasn’t been finished. Did you send AT+QHTTPGET or AT+QHTTPPOST command before you get “+CME ERROR: 703”. Could you please confirm that you get the response for command HTTPGET/HTTPPOST, or you will expect to get this error when configure HTTP command.

Best Regards,

I have the same issue. When the BG96 gets into a 703 state, there is nothing I can do to get it out.

I have even tried deactivating the context with AT+QIDEACT=1, and then reactivating, but I still get 703 until i power cycle the BG96.

Hi Matthew,

Adding a delay of 300ms before retrying the tx command seemed to help for me. At least I haven’t seen the problem again since adding that.

Paul.

I wait 30 seconds between attempts to send data to our server. So that won’t solve our problem as we are already waiting. Also once you receive a response from the BG96 you shouldn’t have to wait anymore. You should be able to send another command right away.

For now I am detecting if I get a 703, and then activating the RESET_N pin to reset the device. Which seems to be working as expected, and solves the issue. Although I would rather not have to reset the device. If there is another solution I would be very interested.