Hello everyone,
I’d like to know what’s your preferred method for handling Out Of Service scenarios?
I’m using BC66 to transmit UDP message and within 2-10 seconds receive an ACK message from the server.
The system is primary battery powered so transmissions should be as short as possible, but since not all messages are critical, a few missing per day (out of 24) wouldn’t be that bad, as long as the system isn’t prevented from entering deep sleep mode (which happens if the device loses connection between wake-up events).
Attached is a power-up procedure and first initialization, along with successful wake up and send routine, and unsuccessful one (both with good signal quality).
Quectel customer support suggested to use AT+QOOSAIND command for OOS URC messages, but these don’t work consistently and when they do, the waiting period for the module to enter deep sleep is too long, so they suggested to power down the module if a certain timeout without receiving CEREG URC expires.
11/29/2022 09:10:33.815 [COM16] - <LF><CR>
F1: 0000 0000<LF><CR>
V0: 0000 0000 [0001]<LF><CR>
00: 0006 000C<LF><CR>
01: 0000 0000<LF><CR>
U0: 0000 0001 [0000]<LF><CR>
T0: 0000 00B4<LF><CR>
Leaving the BROM<LF><CR>
<LF><CR>
11/29/2022 09:10:35.596 [COM4] - ATE0<CR>
11/29/2022 09:10:35.617 [COM4] - ATI<CR>
11/29/2022 09:10:35.632 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.636 [COM4] - ATV1<CR>
11/29/2022 09:10:35.637 [COM16] - <CR><LF>
Quectel_Ltd<CR><LF>
Quectel_BC66<CR><LF>
Revision: BC66NBR01A11<CR><LF>
<CR><LF>
OK<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.646 [COM4] - AT+QICFG="showlength",1<CR>
11/29/2022 09:10:35.676 [COM4] - AT+CPIN?<CR>
11/29/2022 09:10:35.677 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.692 [COM4] - AT+CMEE=1<CR>
11/29/2022 09:10:35.692 [COM16] - <CR><LF>
+CPIN: READY<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.701 [COM4] - AT+CGSN=1<CR>
11/29/2022 09:10:35.710 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.719 [COM4] - AT+QCCID<CR>
11/29/2022 09:10:35.720 [COM16] - <CR><LF>
+CGSN: xxx<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.734 [COM4] - AT+CEREG=5<CR>
11/29/2022 09:10:35.735 [COM16] - <CR><LF>
+QCCID: xxx<CR><LF>
<CR><LF>
OK<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.746 [COM4] - AT+CPSMS=1,,,"11000001","00000000"<CR>
11/29/2022 09:10:35.771 [COM4] - AT+QNBIOTEVENT=1,1<CR>
11/29/2022 09:10:35.771 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.782 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.782 [COM4] - AT+QCFG="dsevent",1<CR>
11/29/2022 09:10:35.803 [COM4] - AT+QEDRXCFG=0<CR>
11/29/2022 09:10:35.804 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.816 [COM4] - AT+QCGDEFCONT?<CR>
11/29/2022 09:10:35.816 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:35.832 [COM4] - AT+COPS=1,2,"21901",9<CR>
11/29/2022 09:10:35.835 [COM16] - <CR><LF>
+QCGDEFCONT: "IP","iot.1nce.net"<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.079 [COM16] - <CR><LF>
+CEREG: 5,"0907","0557C95D",9,0,0,"00000010","00001001"<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.098 [COM4] - AT+CEREG?<CR>
11/29/2022 09:10:39.108 [COM16] - <CR><LF>
+CEREG: 5,5,"0907","0557C95D",9,0,0,"00000010","00001001"<CR><LF>
<CR><LF>
O
11/29/2022 09:10:39.109 [COM4] - AT+CSQ<CR><LF>
11/29/2022 09:10:39.110 [COM16] - K<CR><LF>
11/29/2022 09:10:39.142 [COM4] - AT+CESQ<CR><LF>
11/29/2022 09:10:39.143 [COM16] - <CR><LF>
+CSQ: 16,0<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.163 [COM4] - AT+CGATT?<CR>
11/29/2022 09:10:39.164 [COM16] - <CR><LF>
+CESQ: 30,0,255,255,16,48<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.182 [COM16] - <CR><LF>
+CGATT: 1<CR><LF>
11/29/2022 09:10:39.184 [COM4] - AT+QCGDEFCONT?<CR>
11/29/2022 09:10:39.185 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.216 [COM16] - <CR><LF>
+QCGDEFCONT: "IP","iot.1nce.net"<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.317 [COM4] - AT+QGACT=1,1,"iot.1nce.net","",""<CR>
11/29/2022 09:10:39.350 [COM16] - <CR><LF>
+QGACT: 1<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.617 [COM16] - <CR><LF>
+IP: 100.80.116.80<CR><LF>
11/29/2022 09:10:39.637 [COM16] - <CR><LF>
+QGACT: 1,1,1,1<CR><LF>
11/29/2022 09:10:39.656 [COM4] - AT+QIOPEN=1,1,"UDP","xx.xxx.xxx.xxx",xxxx,0,0<CR>
11/29/2022 09:10:39.735 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.810 [COM4] - AT+QISTATE?<CR>
11/29/2022 09:10:39.811 [COM16] - <CR><LF>
+QIOPEN: 1,0<CR><LF>
11/29/2022 09:10:39.845 [COM16] - <CR><LF>
+QISTATE: 1,"UDP","xx.xxx.xxx.xxx",xxxx,0,2,1,0<CR><LF>
11/29/2022 09:10:39.847 [COM4] - AT+QNBIOTRAI=2<CR>
11/29/2022 09:10:39.848 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.868 [COM4] - AT+CCLK?<CR>
11/29/2022 09:10:39.869 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.889 [COM4] - AT+QNBIOTRAI=2<CR>
11/29/2022 09:10:39.889 [COM16] - <CR><LF>
+CCLK: 2022/11/29,08:10:39GMT+1<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.911 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:39.971 [COM4] - AT+QISENDEX=1,48,xxx<CR>
11/29/2022 09:10:40.020 [COM16] - <CR><LF>
OK<CR><LF>
11/29/2022 09:10:40.053 [COM16] - <CR><LF>
SEND OK<CR><LF>
11/29/2022 09:10:40.591 [COM4] - AT+QIRD=1,512<CR>
11/29/2022 09:10:40.591 [COM16] - <CR><LF>
+QIURC: "recv",1,1<CR><LF>
11/29/2022 09:10:40.645 [COM4] - AT+QSCLK=1<CR>
11/29/2022 09:10:40.645 [COM16] - <CR><LF>
+QIRD: 1,0<CR><LF>
<ACK>_<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:40.679 [COM4] - AT+QRELLOCK<CR>
11/29/2022 09:10:40.684 [COM16] - <CR><LF>
OK<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:10:44.657 [COM16] - <CR><LF>
+QNBIOTEVENT: "ENTER PSM"<CR><LF>
11/29/2022 09:10:49.515 [COM16] - +QNBIOTEVENT: "ENTER DEEPSLEEP"<CR><LF>
Subsequent wake up and send routine (case where everything is fine):
11/29/2022 09:18:30.822 [COM4] - AT+CSQ<CR><LF>
11/29/2022 09:18:31.364 [COM16] - <LF><CR>
F1: 0000 0000<LF><CR>
V0: 0000 0000 [0001]<LF><CR>
00: 0000 0000<LF><CR>
U0: 0000 0001 [0000]<LF><CR>
T0: 0000 001E<LF><CR>
Leaving the BROM<LF><CR>
<LF><CR>
11/29/2022 09:18:31.577 [COM16] - <CR><LF>
+CEREG: 5,"0907","0557C95D",9,0,0,"00000010","00001001"<CR><LF>
11/29/2022 09:18:31.611 [COM16] - <CR><LF>
+CPIN: READY<CR><LF>
11/29/2022 09:18:32.109 [COM4] - AT+CSQ<CR><LF>
11/29/2022 09:18:32.120 [COM4] - AT+CESQ<CR><LF>
11/29/2022 09:18:32.121 [COM16] - <CR><LF>
+CSQ: 16,0<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:18:32.129 [COM4] - AT+CGATT?<CR>
11/29/2022 09:18:32.130 [COM16] - <CR><LF>
+CESQ: 29,0,255,255,16,48<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:18:32.136 [COM4] - AT+CCLK?<CR>
11/29/2022 09:18:32.138 [COM16] - <CR><LF>
+CGATT: 1<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:18:32.147 [COM4] - AT+QNBIOTRAI=2<CR>
11/29/2022 09:18:32.147 [COM16] - <CR><LF>
+CCLK: 2022/11/29,08:18:31GMT+1<CR><LF>
<CR><LF>
OK<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:18:32.236 [COM4] - AT+QISENDEX=1,48,xxx<CR>
11/29/2022 09:18:32.273 [COM16] - <CR><LF>
OK<CR><LF>
<CR><LF>
+CEREG: 2,"0907","0557C95D",9,0,0,"00000010","00001001"<CR><LF>
<CR><LF>
+QNBIOTEVENT: "EXIT PSM"<CR><LF>
11/29/2022 09:18:32.289 [COM16] - <CR><LF>
SEND OK<CR><LF>
11/29/2022 09:18:38.698 [COM16] - <CR><LF>
+CEREG: 5,"0907","0557755C",9,0,0,"00000010","00001001"<CR><LF>
11/29/2022 09:18:40.034 [COM4] - AT+QIRD=1,512<CR>
11/29/2022 09:18:40.034 [COM16] - <CR><LF>
+QIURC: "recv",1,1<CR><LF>
11/29/2022 09:18:40.049 [COM4] - AT+QSCLK=1<CR>
11/29/2022 09:18:40.050 [COM16] - <CR><LF>
+QIRD: 1,0<CR><LF>
<ACK>_<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:18:40.063 [COM4] - AT+QRELLOCK<CR>
11/29/2022 09:18:40.064 [COM16] - <CR><LF>
OK<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 09:18:43.914 [COM16] - <CR><LF>
+QNBIOTEVENT: "ENTER PSM"<CR><LF>
11/29/2022 09:18:44.044 [COM16] - +QNBIOTEVENT: "ENTER DEEPSLEEP"<CR><LF>
Subsequent wake up and send routine (case where CEREG: 5, URC doesn’t arrive and I’m shutting the module down to prevent energy expenditure):
11/29/2022 08:34:33.055 [COM4] - AT+CSQ<CR><LF>
11/29/2022 08:34:33.597 [COM16] - <LF><CR>
F1: 0000 0000<LF><CR>
V0: 0000 0000 [0001]<LF><CR>
00: 0000 0000<LF><CR>
U0: 0000 0001 [0000]<LF><CR>
T0: 0000 001E<LF><CR>
Leaving the BROM<LF><CR>
<LF><CR>
11/29/2022 08:34:33.811 [COM16] - <CR><LF>
+CEREG: 5,"0907","0557755C",9,0,0,"00000010","00001001"<CR><LF>
11/29/2022 08:34:33.845 [COM16] - <CR><LF>
+CPIN: READY<CR><LF>
11/29/2022 08:34:34.343 [COM4] - AT+CSQ<CR><LF>
11/29/2022 08:34:34.354 [COM4] - AT+CESQ<CR><LF>
AT+CGATT?<CR>
11/29/2022 08:34:34.369 [COM16] - <CR><LF>
+CSQ: 14,0<CR><LF>
<CR><LF>
OK<CR><LF>
<CR><LF>
+CESQ: 26,0,255,255,14,44<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 08:34:34.371 [COM4] - AT+CCLK?<CR>
11/29/2022 08:34:34.372 [COM16] - <CR><LF>
+CGATT: 1<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 08:34:34.381 [COM4] - AT+QNBIOTRAI=2<CR>
11/29/2022 08:34:34.381 [COM16] - <CR><LF>
+CCLK: 2022/11/29,07:34:33GMT+1<CR><LF>
<CR><LF>
OK<CR><LF>
<CR><LF>
OK<CR><LF>
11/29/2022 08:34:34.460 [COM4] - AT+QISENDEX=1,50,xxx<CR>
11/29/2022 08:34:34.495 [COM16] - <CR><LF>
OK<CR><LF>
<CR><LF>
+CEREG: 2,"0907","0557755C",9,0,0,"00000010","00001001"<CR><LF>
<CR><LF>
+QNBIOTEVENT: "EXIT PSM"<CR><LF>
11/29/2022 08:34:34.514 [COM16] - <CR><LF>
SEND OK<CR><LF>
11/29/2022 08:34:50.509 [COM4] - AT+QPOWD=0<CR>
11/29/2022 08:34:55.894 [COM16] - <LF><CR>
F1: 0000 0000<LF><CR>
V0: 0000 0000 [0001]<LF><CR>
00: 0006 000C<LF><CR>
01: 0000 0000<LF><CR>
U0: 0000 0001 [0000]<LF><CR>
T0: 0000 00B4<LF><CR>
Leaving the BROM<LF><CR>
<LF><CR>
11/29/2022 08:34:58.706 [COM4] - AT+QPOWD=0<CR>
11/29/2022 08:34:58.733 [COM16] - <CR><LF>
OK<CR><LF>