BG96 automatic switch from CAT M1 to EDGE

Hi there!

On BG96 we have the following settings:

  • nwscanmode set on automatic
  • priority is set: LTE / GSM NBIOT
  • connection there is only on LTE CAT M1 & EDGE

In low signal situations like:

+QCSQ: “CAT-M1”,-89,-121,98,-16

It will be useful to drop the CAT-M1 and switch to EDGE for better signal. How to do that?

Below is our sequence used

13:53:09.356 -> ATE1
13:53:09.403 -> ATV1
13:53:09.919 -> +CGMR
13:53:09.919 -> +CGMR
13:53:09.965 -> ok
13:53:09.965 -> "AT+CGMR

13:53:09.965 -> BG96MAR02A07M1G
13:53:09.965 -> 
13:53:09.965 -> OK"
13:53:10.058 -> AT+CGMR

13:53:10.058 -> BG96MAR02A07M1G
13:53:10.058 -> 
13:53:10.058 -> OK

13:53:10.480 -> +QCFG="nwscanseq",020103,1
13:53:10.480 -> +QCFG="nwscanseq",020103,1
13:53:10.528 -> ok
13:53:10.528 -> "AT+QCFG="nwscanseq",020103,1

13:53:10.528 -> OK"
13:53:10.714 -> +QCFG="nwscanmode",0,1
13:53:10.761 -> +QCFG="nwscanmode",0,1
13:53:10.808 -> ok
13:53:10.808 -> "AT+QCFG="nwscanmode",0,1

13:53:10.808 -> OK"
13:53:10.902 -> +QCFG="iotopmode",0,1
13:53:10.994 -> +QCFG="iotopmode",0,1
13:53:10.994 -> +QCFG="iotopmode",0,1
13:53:11.041 -> ok
13:53:11.041 -> "AT+QCFG="iotopmode",0,1

13:53:11.041 -> OK"
13:53:11.134 -> AT+QCFG="iotopmode",0,1

13:53:11.134 -> OK
13:53:11.230 -> +QCFG="band",F,A0E189F,A0E189F,1
13:53:11.276 -> +QCFG="band",F,A0E189F,A0E189F,1
13:53:11.323 -> ok
13:53:11.323 -> "AT+QCFG="band",F,A0E189F,A0E189F,1

13:53:11.323 -> OK"

13:53:23.582 -> 24181 - connecting... to the INTERNET



13:53:23.909 -> +QNWINFO
13:53:23.909 -> +QNWINFO
13:53:23.955 -> ok
13:53:23.955 -> "AT+QNWINFO

13:53:23.955 -> +QNWINFO: "CAT-M1","22610","LTE BAND 3",1600
13:53:23.955 -> 
13:53:23.955 -> OK"
13:53:24.140 -> +CEREG?
13:53:24.187 -> +CEREG?
13:53:24.233 -> ok
13:53:24.233 -> "AT+CEREG?

13:53:24.233 -> +CEREG: 0,0
13:53:24.233 -> 
13:53:24.233 -> OK"
13:53:24.608 -> +CGREG?
13:53:24.654 -> +CGREG?
13:53:24.654 -> ok
13:53:24.654 -> "AT+CGREG?

13:53:24.654 -> +CGREG: 0,4
13:53:24.654 -> 
13:53:24.654 -> OK"
13:53:25.075 -> +COPS?
13:53:25.075 -> +COPS?
13:53:25.122 -> ok
13:53:25.122 -> "AT+COPS?

13:53:25.122 -> +COPS: 1
13:53:25.122 -> 
13:53:25.122 -> OK"
13:53:25.532 -> +QCSQ
13:53:25.532 -> +QCSQ
13:53:25.579 -> ok
13:53:25.579 -> "AT+QCSQ

13:53:25.579 -> +QCSQ: "CAT-M1",-89,-121,98,-16
13:53:25.579 -> 
13:53:25.579 -> OK"
13:53:25.995 -> +QENG="SERVINGCELL"
13:53:25.995 -> +QENG="SERVINGCELL"
13:53:26.041 -> ok
13:53:26.041 -> "AT+QENG="SERVINGCELL"

13:53:26.041 -> +QENG: "servingcell","LIMSRV","CAT-M","FDD",226,10,______,414,1600,3,5,5,4658,-119,-18,-84,9,8
13:53:26.041 -> 
13:53:26.041 -> OK
"
13:53:26.460 -> +CEREG=2
13:53:26.460 -> +CEREG=2
13:53:26.506 -> ok
13:53:26.506 -> "AT+CEREG=2

13:53:26.506 -> OK"
13:53:26.880 -> +CEREG?
13:53:26.926 -> +CEREG?
13:53:26.926 -> ok
13:53:26.926 -> "AT+CEREG?

13:53:26.926 -> +CEREG: 2,0
13:53:26.926 -> 
13:53:26.926 -> OK"
13:53:27.066 -> Dregistration(GPRS) resul is: 
13:53:27.066 -> 0
13:53:30.082 -> CNT:
13:53:30.128 -> 1
13:53:30.128 -> Ck GPRS reg  xyzmIoT................
13:53:30.359 -> +QNWINFO
13:53:30.359 -> +QNWINFO
13:53:30.405 -> ok
13:53:30.405 -> "AT+QNWINFO

13:53:30.405 -> +QNWINFO: "CAT-M1","22610","LTE BAND 3",1600
13:53:30.405 -> 
13:53:30.405 -> OK"
13:53:30.593 -> +CEREG?
13:53:30.638 -> +CEREG?
13:53:30.638 -> ok
13:53:30.638 -> "AT+CEREG?

13:53:30.638 -> +CEREG: 2,0
13:53:30.638 -> 
13:53:30.638 -> OK"
13:53:31.057 -> +CGREG?
13:53:31.057 -> +CGREG?
13:53:31.104 -> ok
13:53:31.104 -> "AT+CGREG?

13:53:31.104 -> +CGREG: 0,4
13:53:31.104 -> 
13:53:31.104 -> OK"

You can configure it through program logic. For example, if the RSRP value is lower than -120 for 5 consecutive times in QCSQ, run AT+QCFG=“nwscanmode”, and switch 0,1 to GSM only mode for switching.

Hi @tabor.tang-Q

I was thinking of something similar, but even with a -80dB threshold for RSSI. I’ll implement it!

Thank you!

If you may suggest something regarding GNSS:

For:

23:53:46.279 -> "AT+QGPSGNMEA="GSV"

23:53:46.279 -> +QGPSGNMEA: $GPGSV,3,1,11,06,45,xxx,xx,,41,xxx,16,11,22,xxx,15,03,35,xxx,*6A

In case of NMEA sentences, GSV ones. Is there a chance to receive for SNR nonvoid values?

If I receive “444,void,555,” it’s pretty challenging to make the parsing.