Temat: RM500Q-GL - 3ginfo

Mam modem RM500Q-GL w trybie cdc_ether
Działa AT picocom komunikacja jest

Zainstalowałem 3ginfo textowe jak i webowe

Brakuje wielu danych odnośnie poziomów odbieranej celki

Ale na początek może jedna rzecz 3ginfo pokazuje że modem jest w LTE w momencie w którym widzę i wiem że jest w trybie EN-DC NSA i ma zapiętą poza celką LTE celkę 5G

modem świetnie reaguje na komendę AT(AT+QENG="servingcell") i odpowiada kiedy i co ma zapięte, można wykrywanie dodać i zmieniać mode w 3ginfo smile


OK
AT+CGMM
RM500Q-GL

OK

AT+C5GREG?
+C5GREG: 0,0

OK
AT+QENG="servingcell"
+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,,,1300,3,5,5,,-91,-13,-59,13,-
+QENG:"NR5G-NSA",260,01,,-92,200,-11

OK
AT+QENG="servingcell"
+QENG: "servingcell","NOCONN","LTE","FDD",260,01,,,1300,3,5,5,,-90,-13,-56,12,0,-32768,37

OK

https://www.waveshare.com/wiki/USB_TO_M.2_B_KEY

https://files.waveshare.com/upload/7/78 … l_V1.2.pdf

2

Odp: RM500Q-GL - 3ginfo

Pokaż wyniki:

cat /sys/kernel/debug/usb/devices
sh -x /usr/share/3ginfo/infoparams.sh /dev/ttyUSB2
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: RM500Q-GL - 3ginfo

Proszę

w *** były numerki które ukryłem ***

root@OpenWrt-LTE-5G:/# cat /sys/kernel/debug/usb/devices



T:  Bus=10 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=2c7c ProdID=0800 Rev= 4.14
S:  Manufacturer=Quectel
S:  Product=RM500Q-GL
S:  SerialNumber=85d4e215
C:* #Ifs= 6 Cfg#= 1 Atr=80 MxPwr=896mA
A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=86(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
I:  If#= 5 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#= 5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E:  Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms




root@OpenWrt-LTE-5G:/# sh -x /usr/share/3ginfo/infoparams.sh /dev/ttyUSB2
+ RES=/usr/share/3ginfo
+ DEVICE=/dev/ttyUSB2
+ '[' -z /dev/ttyUSB2 ]
+ O=
+ '[' -e /usr/bin/sms_tool ]
+ sms_tool -D -d /dev/ttyUSB2 at 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?'
+ O='
+CPIN: READY

+CSQ: 29,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"***tu był TAC ale ukryłem***","***tu były dane ale ukryłem***",7

'K
+ awk '-F[, ]' '/^\+(csq|CSQ)/ {print $2}'
+ echo '
+CPIN: READY

+CSQ: 29,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"***tu był TAC ale ukryłem***","***tu były dane ale ukryłem***",7

'K
+ CSQ=29
+ '[' x29 '=' x ]
+ '[' 29 -ge 0 ]
+ '[' 29 -le 31 ]
+ CSQ_PER=93
+ COPS=
+ COPS_MCC=
+ COPS_MNC=
+ awk '-F["]' '/^\+COPS: .,2/ {print $2}'
+ echo '
+CPIN: READY

+CSQ: 29,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"***tu był TAC ale ukryłem***","***tu były dane ale ukryłem***",7

'K
+ COPS_NUM=26001
+ '[' -n 26001 ]
+ COPS_MCC=260
+ COPS_MNC=01
+ '[' -z  ]
+ awk '{if(NF==2 && $1==$2){print $1}else{print $0}}'
+ awk '-F["]' '/^\+COPS: .,0/ {print $2}'+ echo '
+CPIN: READY

+CSQ: 29,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"***tu był TAC ale ukryłem***","***tu były dane ale ukryłem***",7

'K

+ COPS='Cyfrowy Polsat'
+ '[' -z 'Cyfrowy Polsat' ]
+ awk '-F[,]' '/^\+CREG/ {gsub(/[[:space:]"]+/,"");printf "T=\"%d\";LAC_HEX=\"%X\";CID_HEX=\"%X\";LAC_DEC=\"%d\";CID_DEC=\"%d\";MODE_NUM=\"%d\"", $2, "0x"$3, "0x"$4, "0x"$3, "0x"$4, $5}'+ echo '
+CPIN: READY

+CSQ: 29,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"***tu był TAC ale ukryłem***","***tu były dane ale ukryłem***",7

'K

+ eval 'T="1";LAC_HEX="***tu był TAC ale ukryłem***";CID_HEX="***tu były dane ale ukryłem***";LAC_DEC="***tu były LAC ale ukryłem***";CID_DEC="***tu były CID ale ukryłem***";MODE_NUM="7"'
+ T=1
+ LAC_HEX=***tu był TAC ale ukryłem***
+ CID_HEX=***tu były dane ale ukryłem***
+ LAC_DEC=***tu były LAC ale ukryłem***
+ CID_DEC=***tu były CID ale ukryłem***
+ MODE_NUM=7
+ REG=1
+ '[' -z 7 ]
+ '[' x7 '=' x0 ]
+ MODE=LTE
+ awk '-F[, ]' '/^\+CME ERROR:/ {print $0;exit}'+ echo '
+CPIN: READY

+CSQ: 29,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"***tu był TAC ale ukryłem***","***tu były dane ale ukryłem***",7

'K

+ T=
+ '[' -n  ]
+ xargs
+ awk '-F[, ]' '/^\+CPIN:/ {print $0;exit}'
+ echo '
+CPIN: READY

+CSQ: 29,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"***tu był TAC ale ukryłem***","***tu były dane ale ukryłem***",7

'K
+ T='+CPIN: READY'
+ '[' -n '+CPIN: READY' ]
+ '[' '+CPIN: READY' '=' '+CPIN: READY' ]
+ '[' -e /usr/bin/sms_tool ]
+ REGOK=0
+ '[' x1 '=' x1 ]
+ REGOK=1
+ getdevicevendorproduct /dev/ttyUSB2
+ basename /dev/ttyUSB2
+ devname=ttyUSB2
+ readlink -f /sys/class/tty/ttyUSB2/device
+ devpath=/sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/0000:07:1b.0/usb10/10-1/10-1:1.2/ttyUSB2
+ T=/sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/0000:07:1b.0/usb10/10-1
+ cat /sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/0000:07:1b.0/usb10/10-1/idVendor
+ cat /sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/0000:07:1b.0/usb10/10-1/idProduct
+ echo usb/2c7c0800
+ VIDPID=usb/2c7c0800
+ '[' -e /usr/share/3ginfo/addon/usb/2c7c0800 ]
+ ADDON=
+ cat /tmp/sysinfo/board_name
+ . /usr/share/3ginfo/addon/usb/2c7c0800
+ sms_tool -d /dev/ttyUSB2 at at+qtemp
+ O='

+QTEMP:"qfe_wtr_pa0","35"

+QTEMP:"qfe_wtr_pa1","0"

+QTEMP:"qfe_wtr_pa2","0"

+QTEMP:"qfe_wtr_pa3","-273"

+QTEMP:"aoss0-usr","36"

+QTEMP:"mdm-q6-usr","37"

+QTEMP:"ipa-usr","37"

+QTEMP:"cpu0-a7-usr","36"

+QTEMP:"mdm-5g-usr","38"

+QTEMP:"mdm-vpe-usr","37"

+QTEMP:"mdm-core-usr","36"

+QTEMP:"xo-therm-usr","36"

+QTEMP:"sdx-case-therm-usr","36"
'
+ xargs
+ head -n1
+ sort -r
+ awk '-F[,:]' '/^\+QTEMP/ {print $3}'
+ echo '

+QTEMP:"qfe_wtr_pa0","35"

+QTEMP:"qfe_wtr_pa1","0"

+QTEMP:"qfe_wtr_pa2","0"

+QTEMP:"qfe_wtr_pa3","-273"

+QTEMP:"aoss0-usr","36"

+QTEMP:"mdm-q6-usr","37"

+QTEMP:"ipa-usr","37"

+QTEMP:"cpu0-a7-usr","36"

+QTEMP:"mdm-5g-usr","38"

+QTEMP:"mdm-vpe-usr","37"

+QTEMP:"mdm-core-usr","36"

+QTEMP:"xo-therm-usr","36"

+QTEMP:"sdx-case-therm-usr","36"
'
+ T=38
+ '[' -n 38 ]
+ addon 10 Temperature '38 °C'
+ '[' -n  ]
+ ADDON='{"idx":10,"key":"Temperature","value":"38 °C"}'
+ '[' 1 '=' 0 ]
+ '[' x7 '=' x11 ]
+ '[' 1 '=' 1 ]
+ sms_tool -d /dev/ttyUSB2 at 'at+qnwinfo;+qcainfo;+qeng="servingcell";+qspn'
+ O='
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,***tu były dane ale ukryłem***,***tu były PCI LTE ale ukryłem***,1300,3,5,5,***tu był TAC ale ukryłem***,-90,-12,-56,13,-
+QENG:"NR5G-NSA",260,01,***tu były PCI NR ale ukryłem***,-91,160,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ xargs
+ awk '-F[,:]' '/^\+QSPN/ {print $2}'
+ echo '
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,***tu były dane ale ukryłem***,***tu były PCI LTE ale ukryłem***,1300,3,5,5,***tu był TAC ale ukryłem***,-90,-12,-56,13,-
+QENG:"NR5G-NSA",260,01,***tu były PCI NR ale ukryłem***,-91,160,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ T='Cyfrowy Polsat'
+ '[' -n 'Cyfrowy Polsat' ]
+ '[' -z  ]
+ COPS='Cyfrowy Polsat'
+ grep -q -i '+QCAINFO.*SCC'
+ echo '
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,***tu były dane ale ukryłem***,***tu były PCI LTE ale ukryłem***,1300,3,5,5,***tu był TAC ale ukryłem***,-90,-12,-56,13,-
+QENG:"NR5G-NSA",260,01,***tu były PCI NR ale ukryłem***,-91,160,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ awk '-F[,:]' '/^\+QCAINFO: "(pcc|PCC)"/{print $5}'
+ echo '
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,***tu były dane ale ukryłem***,***tu były PCI LTE ale ukryłem***,1300,3,5,5,***tu był TAC ale ukryłem***,-90,-12,-56,13,-
+QENG:"NR5G-NSA",260,01,***tu były PCI NR ale ukryłem***,-91,160,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ T=
+ '[' -n  ]
+ '[' x7 '=' x7 ]
+ xargs
+ awk '-F[,:]' '/^\+QENG:/ {print $4}'
+ echo '
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,***tu były dane ale ukryłem***,***tu były PCI LTE ale ukryłem***,1300,3,5,5,***tu był TAC ale ukryłem***,-90,-12,-56,13,-
+QENG:"NR5G-NSA",260,01,***tu były PCI NR ale ukryłem***,-91,160,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ T='260 01'
+ '[' 'x260 01' '=' xLTE ]
+ '[' x7 '=' x11 ]
+ IFS='
'
+ '[' x7 '=' x13 ]
+ awk '-F[,:]' '/^\+QCAINFO: "(pcc|PCC)"/{print $5}'
+ echo '
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,***tu były dane ale ukryłem***,***tu były PCI LTE ale ukryłem***,1300,3,5,5,***tu był TAC ale ukryłem***,-90,-12,-56,13,-
+QENG:"NR5G-NSA",260,01,***tu były PCI NR ale ukryłem***,-91,160,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ T=
+ '[' -n  ]
+ cat
{
"csq":"29",
"signal":"93",
"operator_name":"Cyfrowy Polsat",
"operator_mcc":"260",
"operator_mnc":"01",
"mode":"LTE",
"registration":"1",
"lac_dec":"***tu były LAC ale ukryłem***",
"lac_hex":"***tu był TAC ale ukryłem***",
"cid_dec":"***tu były CID ale ukryłem***",
"cid_hex":"***tu były dane ale ukryłem***",
"addon":[{"idx":10,"key":"Temperature","value":"38 °C"}]
}
+ exit 0

root@OpenWrt-LTE-5G:/# sh -x /usr/share/3ginfo/infoparams.sh /dev/ttyUSB2^C

root@OpenWrt-LTE-5G:/# 3ginfo 
Device: Quectel RM500Q-GL
Revision: RM500Q******
IMEI: ********
ICCID: ******

Connected time: 
TX: 
RX: 

Signal: 96 %
Mode: LTE
Operator: Cyfrowy Polsat (260 01)
Registration: registered, home network
Temperature: 39 °C
CellID: *********
LAC: ***************
root@OpenWrt-LTE-5G:/# 

4

Odp: RM500Q-GL - 3ginfo

A aktualnie jest w mbim i to wynik dla mbim, to chyba bez różnicy w tym przypadku czy cdc czy mbim?

5

Odp: RM500Q-GL - 3ginfo

Kolego @a.stanczyk robisz zamieszanie, skoro piszesz, że dla cdc_ether brakuje danych to na tym trybie powinieneś podać wyniki poleceń.

Inna sprawa, że zakrywasz dane, z takim podejściem to możemy później w pakietach też pokazać "coś tu powinno być" smile.
Nie chcesz aby wszyscy widzieli to wyślij np. na maila.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

6

Odp: RM500Q-GL - 3ginfo

Problem jest w tym że wg jednych parametrów jesteś w lte a wg drugich parametrów nasz składową na 5G. Spotkaliśmy się z czymś takim tylko w drugą stronę i wspólnie uradziliśmy że to musi być jakiś błąd firmware.

I tak, jak chcesz więcej parametrów to pokaż wszystko, bo inaczej nie jesteśmy w stanie sprawdzić czy dane się dobrze parsują.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: RM500Q-GL - 3ginfo

A to przepraszam poniżej z cdc_ether

T:  Bus=10 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=2c7c ProdID=0800 Rev= 4.14
S:  Manufacturer=Quectel
S:  Product=RM500Q-GL
S:  SerialNumber=85d4e215
C:* #Ifs= 6 Cfg#= 1 Atr=80 MxPwr=896mA
A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=86(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
E:  Ad=88(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
I:  If#= 5 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:* If#= 5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E:  Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
root@OpenWrt-LTE-5G:/# 



root@OpenWrt-LTE-5G:/# 
root@OpenWrt-LTE-5G:/# 
root@OpenWrt-LTE-5G:/# 
root@OpenWrt-LTE-5G:/# sh -x /usr/share/3ginfo/infoparams.sh /dev/ttyUSB2
+ RES=/usr/share/3ginfo
+ DEVICE=/dev/ttyUSB2
+ '[' -z /dev/ttyUSB2 ]
+ O=
+ '[' -e /usr/bin/sms_tool ]
+ sms_tool -D -d /dev/ttyUSB2 at 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?'
+ O='AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CPIN: READY

+CSQ: 31,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"12D15","330B68",7

'K
+ awk '-F[, ]' '/^\+(csq|CSQ)/ {print $2}'
+ echo 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CPIN: READY

+CSQ: 31,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"12D15","330B68",7

'K
+ CSQ=31
+ '[' x31 '=' x ]
+ '[' 31 -ge 0 ]
+ '[' 31 -le 31 ]
+ CSQ_PER=100
+ COPS=
+ COPS_MCC=
+ COPS_MNC=
+ awk '-F["]' '/^\+COPS: .,2/ {print $2}'
+ echo 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CPIN: READY

+CSQ: 31,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"12D15","330B68",7

'K
+ COPS_NUM=26001
+ '[' -n 26001 ]
+ COPS_MCC=260
+ COPS_MNC=01
+ '[' -z  ]
+ awk '{if(NF==2 && $1==$2){print $1}else{print $0}}'
+ awk '-F["]' '/^\+COPS: .,0/ {print $2}'
+ echo 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CPIN: READY

+CSQ: 31,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"12D15","330B68",7

'K
+ COPS='Cyfrowy Polsat'
+ '[' -z 'Cyfrowy Polsat' ]
+ awk '-F[,]' '/^\+CREG/ {gsub(/[[:space:]"]+/,"");printf "T=\"%d\";LAC_HEX=\"%X\";CID_HEX=\"%X\";LAC_DEC=\"%d\";CID_DEC=\"%d\";MODE_NUM=\"%d\"", $2, "0x"$3, "0x"$4, "0x"$3, "0x"$4, $5}'+ echo 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CPIN: READY

+CSQ: 31,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"12D15","330B68",7

'K

+ eval 'T="1";LAC_HEX="12D15";CID_HEX="330B68";LAC_DEC="77077";CID_DEC="3345256";MODE_NUM="7"'
+ T=1
+ LAC_HEX=12D15
+ CID_HEX=330B68
+ LAC_DEC=77077
+ CID_DEC=3345256
+ MODE_NUM=7
+ REG=1
+ '[' -z 7 ]
+ '[' x7 '=' x0 ]
+ MODE=LTE
+ awk '-F[, ]' '/^\+CME ERROR:/ {print $0;exit}'
+ echo 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CPIN: READY

+CSQ: 31,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"12D15","330B68",7

'K
+ T=
+ '[' -n  ]
+ xargs
+ awk '-F[, ]' '/^\+CPIN:/ {print $0;exit}'
+ echo 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CPIN: READY

+CSQ: 31,99

+COPS: 0,0,"Cyfrowy Polsat",7

+COPS: 0,2,"26001",7

+CREG: 2,1,"12D15","330B68",7

'K
+ T='+CPIN: READY'
+ '[' -n '+CPIN: READY' ]
+ '[' '+CPIN: READY' '=' '+CPIN: READY' ]
+ '[' -e /usr/bin/sms_tool ]
+ REGOK=0
+ '[' x1 '=' x1 ]
+ REGOK=1
+ getdevicevendorproduct /dev/ttyUSB2
+ basename /dev/ttyUSB2
+ devname=ttyUSB2
+ readlink -f /sys/class/tty/ttyUSB2/device
+ devpath=/sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/0000:07:1b.0/usb10/10-1/10-1:1.2/ttyUSB2
+ T=/sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/0000:07:1b.0/usb10/10-1
+ cat /sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/0000:07:1b.0/usb10/10-1/idVendor
+ cat /sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/0000:07:1b.0/usb10/10-1/idProduct
+ echo usb/2c7c0800
+ VIDPID=usb/2c7c0800
+ '[' -e /usr/share/3ginfo/addon/usb/2c7c0800 ]
+ ADDON=
+ cat /tmp/sysinfo/board_name
+ . /usr/share/3ginfo/addon/usb/2c7c0800
+ sms_tool -d /dev/ttyUSB2 at at+qtemp
+ O='at+qtemp

+QTEMP:"qfe_wtr_pa0","40"

+QTEMP:"qfe_wtr_pa1","38"

+QTEMP:"qfe_wtr_pa2","36"

+QTEMP:"qfe_wtr_pa3","-273"

+QTEMP:"aoss0-usr","39"

+QTEMP:"mdm-q6-usr","40"

+QTEMP:"ipa-usr","40"

+QTEMP:"cpu0-a7-usr","39"

+QTEMP:"mdm-5g-usr","40"

+QTEMP:"mdm-vpe-usr","40"

+QTEMP:"mdm-core-usr","39"

+QTEMP:"xo-therm-usr","39"

+QTEMP:"sdx-case-therm-usr","38"
'
+ xargs
+ head -n1
+ sort -r
+ awk '-F[,:]' '/^\+QTEMP/ {print $3}'
+ echo 'at+qtemp

+QTEMP:"qfe_wtr_pa0","40"

+QTEMP:"qfe_wtr_pa1","38"

+QTEMP:"qfe_wtr_pa2","36"

+QTEMP:"qfe_wtr_pa3","-273"

+QTEMP:"aoss0-usr","39"

+QTEMP:"mdm-q6-usr","40"

+QTEMP:"ipa-usr","40"

+QTEMP:"cpu0-a7-usr","39"

+QTEMP:"mdm-5g-usr","40"

+QTEMP:"mdm-vpe-usr","40"

+QTEMP:"mdm-core-usr","39"

+QTEMP:"xo-therm-usr","39"

+QTEMP:"sdx-case-therm-usr","38"
'
+ T=40
+ '[' -n 40 ]
+ addon 10 Temperature '40 °C'
+ '[' -n  ]
+ ADDON='{"idx":10,"key":"Temperature","value":"40 °C"}'
+ '[' 1 '=' 0 ]
+ '[' x7 '=' x11 ]
+ '[' 1 '=' 1 ]
+ sms_tool -d /dev/ttyUSB2 at 'at+qnwinfo;+qcainfo;+qeng="servingcell";+qspn'
+ O='at+qnwinfo;+qcainfo;+qeng="servingcell";+qspn
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-79,-12,-45,18,-
+QENG:"NR5G-NSA",260,01,452,-92,225,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ xargs
+ awk '-F[,:]' '/^\+QSPN/ {print $2}'+ echo 'at+qnwinfo;+qcainfo;+qeng="servingcell";+qspn
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-79,-12,-45,18,-
+QENG:"NR5G-NSA",260,01,452,-92,225,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'

+ T='Cyfrowy Polsat'
+ '[' -n 'Cyfrowy Polsat' ]
+ '[' -z  ]
+ COPS='Cyfrowy Polsat'
+ grep -q -i '+QCAINFO.*SCC'
+ echo 'at+qnwinfo;+qcainfo;+qeng="servingcell";+qspn
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-79,-12,-45,18,-
+QENG:"NR5G-NSA",260,01,452,-92,225,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ awk '-F[,:]' '/^\+QCAINFO: "(pcc|PCC)"/{print $5}'
+ echo 'at+qnwinfo;+qcainfo;+qeng="servingcell";+qspn
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-79,-12,-45,18,-
+QENG:"NR5G-NSA",260,01,452,-92,225,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ T=
+ '[' -n  ]
+ '[' x7 '=' x7 ]
+ xargs
+ awk '-F[,:]' '/^\+QENG:/ {print $4}'
+ echo 'at+qnwinfo;+qcainfo;+qeng="servingcell";+qspn
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-79,-12,-45,18,-
+QENG:"NR5G-NSA",260,01,452,-92,225,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ T='260 01'
+ '[' 'x260 01' '=' xLTE ]
+ '[' x7 '=' x11 ]
+ IFS='
'
+ '[' x7 '=' x13 ]
+ awk '-F[,:]' '/^\+QCAINFO: "(pcc|PCC)"/{print $5}'
+ echo 'at+qnwinfo;+qcainfo;+qeng="servingcell";+qspn
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-79,-12,-45,18,-
+QENG:"NR5G-NSA",260,01,452,-92,225,-11

+QSPN: "Cyfrowy Polsat","CP","",0,"26001"
'
+ T=
+ '[' -n  ]
+ cat
{
"csq":"31",
"signal":"100",
"operator_name":"Cyfrowy Polsat",
"operator_mcc":"260",
"operator_mnc":"01",
"mode":"LTE",
"registration":"1",
"lac_dec":"77077",
"lac_hex":"12D15",
"cid_dec":"3345256",
"cid_hex":"330B68",
"addon":[{"idx":10,"key":"Temperature","value":"40 °C"}]
}
+ exit 0
root@OpenWrt-LTE-5G:/# 

8

Odp: RM500Q-GL - 3ginfo

Cezary napisał/a:

Problem jest w tym że wg jednych parametrów jesteś w lte a wg drugich parametrów nasz składową na 5G. Spotkaliśmy się z czymś takim tylko w drugą stronę i wspólnie uradziliśmy że to musi być jakiś błąd firmware.

I tak, jak chcesz więcej parametrów to pokaż wszystko, bo inaczej nie jesteśmy w stanie sprawdzić czy dane się dobrze parsują.


Pytanie jakim AT to sprawdzane jest bo na tym AT "AT+QENG="servingcell"" ładnie pokazuje kiedy dopina nośną 5G do LTE w przypadku tego urządzenia co mam

9

Odp: RM500Q-GL - 3ginfo

Wg dokumentacji:

+CREG: 2,1,"12D15","330B68",7

7 na końcu mówi że jesteś w LTE (czystym, nie 5G SA czy NSA).

Linie

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-79,-12,-45,18,-
+QENG:"NR5G-NSA",260,01,452,-92,225,-11

Są zaś specyficzne dla 5G NSA którego wcześniejszy wskaźnik nie sugeruje że powinny wystąpić, więc nie są parsowane. Ja nie wiem więc co jest prawdziwą opcją i tym samym trzymam się generycznych danych. Możesz zapytać się na forum quectela (tutaj: https://forums.quectel.com/latest ) czemu mają takie niescisłości w danych, ale nie spodziewał bym się produktywnej odpowiedzi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: RM500Q-GL - 3ginfo

PS. QCAINFO w ogóle modem nie podał.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: RM500Q-GL - 3ginfo

@a.stanczyk w wyniku dla at+qnwinfo śladu po 5G brak, agregowanych pasm 5G też nie widać (at+qcainfo), więc wszystko znów wskazuje na błąd w fw modemu.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

12

Odp: RM500Q-GL - 3ginfo

Cezary napisał/a:

Wg dokumentacji:

+CREG: 2,1,"12D15","330B68",7

7 na końcu mówi że jesteś w LTE (czystym, nie 5G SA czy NSA).

Linie

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-79,-12,-45,18,-
+QENG:"NR5G-NSA",260,01,452,-92,225,-11

Są zaś specyficzne dla 5G NSA którego wcześniejszy wskaźnik nie sugeruje że powinny wystąpić, więc nie są parsowane. Ja nie wiem więc co jest prawdziwą opcją i tym samym trzymam się generycznych danych. Możesz zapytać się na forum quectela (tutaj: https://forums.quectel.com/latest ) czemu mają takie niescisłości w danych, ale nie spodziewał bym się produktywnej odpowiedzi.

+CREG: 2,1,"12D15","330B68",7
Tak z 7 masz racje to jest błąd ewidentny, nie mam zamiaru wojować z wiatrakami u nich

QCAINFO  fakt też nie podaje... Nawet zmieniłem tryb na LTE only aby LTE CA zrobił i nic nie wyrzuca po AT

U mnie jedynie reaguje poprawnie na komendę poniższą i faktycznie zmienia stan + podaje informacje RSRP PCI etc...

Najwyżej sam sobie ogarnę skryptem aby mi wyciągał z tego i dostarczał tam gdzie chcę

OK
AT+QENG="servingcell"
+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-80,-8,-53,18,-
+QENG:"NR5G-NSA",260,01,452,-87,210,-11

OK
AT+QENG="servingcell"
+QENG: "servingcell","NOCONN","LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-78,-6,-51,19,0,-32768,50

Ewentualnie spróbuję ogarnąć nowszy firmware o ile wyszedł i zrobić upgrade modemu

Dzięki!

13

Odp: RM500Q-GL - 3ginfo

IceG napisał/a:

@a.stanczyk w wyniku dla at+qnwinfo śladu po 5G brak, agregowanych pasm 5G też nie widać (at+qcainfo), więc wszystko znów wskazuje na błąd w fw modemu.


qnwinfo nie jest od raportowania 5G NSA, tylko 5G SA, poniżej wypis możliwych trybów raportowania dla qnwinfo
"NONE"
"WCDMA"
"TDD LTE"
"FDD LTE"
"TDD NR5G"
"FDD NR5G"

14

Odp: RM500Q-GL - 3ginfo

Jak zapytasz na forum quectela to oni prędzej czy później odpowiadają i dają link do firmware, więc możesz sobie zaktualizować.

PS. Właśnie to drugie QENG: "servingcell","NOCONN","LTE"," wg dokumentacji jest właściwe dla LTE, nie takie jak ci wychodzi z 5g-nsa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15 (edytowany przez IceG 2024-04-27 18:00:42)

Odp: RM500Q-GL - 3ginfo

tak wygląda u mnie wynik at+qnwinfo:

+QNWINFO: "FDD LTE","26006","LTE BAND 7",3350
+QNWINFO: "TDD NR5G","26006","NR5G BAND 78",635616

oczywiście 5G NSA brak..

Sprawdzałeś sobie wersję fw modemu AT+GMR, może są jakieś aktualizacje.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

16

Odp: RM500Q-GL - 3ginfo

Ta wersja fw RM500QGLABR13A03M4G rzuciła mi się w oczy, ale nie wiem czy jest najbardziej aktualna.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

17

Odp: RM500Q-GL - 3ginfo

Zrobiłem update do tego co udało mi się dorwać najnowszego na szybko SW RM500QGLABR11A05M4G z bodajże RM500QGLABR10A02M4G

W trybie NSA mam jak poniżej

OK
at
OK
AT+QNWINFO
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

OK
AT+C5GREG?
+C5GREG: 0,0

OK
AT+QENG="servingcell"
+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-80,-9,-46,17,12,-230,-
+QENG:"NR5G-NSA",260,01,452,-81,22,-11,518910,41,6,1

OK
AT+CREG?
+CREG: 2,1,"12D15","330B68",7

OK
AT+QCAINFO
+QCAINFO: "PCC",1300,100,"LTE BAND 3",1,25,-79,-9,-52,15

OK

W CREG dalej 7, a miałem NSA zapięte, może muszę jeszcze SW podbić w górę, może pomoże jak nie wątek założę na Quectell ale póki co czekam na autoryzacje na ich forum...
Dla 5G mam poprawny EARFCN oraz PCI poziomy RSRP i więcej danych sensownych w porównaniu do poprzedniego SW

Przełączam w LTE modem

OK
AT+QNWPREFCFG= "mode_pref",LTE
OK
AT+QCAINFO
+QCAINFO: "PCC",1300,100,"LTE BAND 3",1,25,-75,-9,-44,20
+QCAINFO: "SCC",2850,100,"LTE BAND 7",1,126,-87,-11,-66,0
+QCAINFO: "SCC",3526,25,"LTE BAND 8",1,83,-82,-13,-60,0

OK


OK
AT+QNWINFO
+QNWINFO: "FDD LTE","26001","LTE BAND 3",1300

OK
AT+QENG="servingcell"
+QENG: "servingcell","NOCONN","LTE","FDD",260,01,330B68,25,1300,3,5,5,12D15,-74,-7,-47,19,13,-170,-

OK

1. Pytanie skąd jest brany mode i czemu nie wskoczył na 5G w 3ginfo, czy jest to uzależnione od tej nieszczęsnej 7 w CREG? Pytanie czy ktoś ma poprawnie, może to błąd Quectella globalny?

2. W trybie Auto czyli z 5G NSA w 3ginfo brakuje mi danych EARFCN/RSSI/RSRP/RSRQ/SINR dla 5G analogicznie jak mamy dla LTE celek

Teraz QNWINFO prawidłowo mi pokazuje mi tylko celkę LTE(w trybie NSA), pytanie @IceG do jaki masz SW, czy to u ciebie to nie jest błąd z raportowaniem 5G w tamtym miejscu?

18

Odp: RM500Q-GL - 3ginfo

1. Właśnie zależy od tego co mówią parametry. A mówią że jesteś na LTE (powinno być 11 dla 5G-SA lub 13 dla 5G-NSA)
2. Nie będziesz miał danych skoro skrypt nie uważa że jesteś w 5G NSA, no to już miałeś przecież napisane. Możesz sztucznie to wymusisz dając coś takiego:

echo "$O" | grep -q 'QENG:\s*"NR5G-NSA' && MODE_NUM=13

Przed

case "$MODE_NUM" in
...

Trzy inne polecenia mówią że siedzisz na LTE a qeng twierdzi swoje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: RM500Q-GL - 3ginfo

Okej dzięki! Tylko pytanie czy dobry skrypt aktualizuję?

/usr/share/3ginfo/infoparams.sh

Bo tu w ogóle nie ma opcji 5G, czy ja jakąś nie aktualną wersję zainstalowałem?

case "$MODE_NUM" in
    2*) MODE="UMTS";;
    3*) MODE="EDGE";;
    4*) MODE="HSDPA";;
    5*) MODE="HSUPA";;
    6*) MODE="HSPA";;
    7*) MODE="LTE";;
    *) MODE="";;
esac

20

Odp: RM500Q-GL - 3ginfo

Nie, nie ten skrypt. /usr/share/3ginfo/addon/usb/2c7c0800

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: RM500Q-GL - 3ginfo

a.stanczyk napisał/a:

(...)pytanie @IceG do jaki masz SW, czy to u ciebie to nie jest błąd z raportowaniem 5G w tamtym miejscu?

Nie wiem co znaczy dla ciebie SW, wyjasnij co miales na mysli.

U mnie nie ma bledu, co bym tu nie pokazal to mam 5G NSA.

Musisz sprawdzić swojego BTS-a co obsluguje, bo jezeli masz tam 5G to moze niewystarczajaca jakość sygnalu jest problemem.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

22

Odp: RM500Q-GL - 3ginfo

IceG napisał/a:
a.stanczyk napisał/a:

(...)pytanie @IceG do jaki masz SW, czy to u ciebie to nie jest błąd z raportowaniem 5G w tamtym miejscu?

Nie wiem co znaczy dla ciebie SW, wyjasnij co miales na mysli.

U mnie nie ma bledu, co bym tu nie pokazal to mam 5G NSA.

Musisz sprawdzić swojego BTS-a co obsluguje, bo jezeli masz tam 5G to moze niewystarczajaca jakość sygnalu jest problemem.


Firmware miałem namyśli

Jakość jest dobra bym określił
+QENG:"NR5G-NSA",260,01,452,-81,22,-11,518910,41,6,1
SINR: 22

In EN-DC mode:
+QENG: "servingcell",<state>
+QENG: "LTE",<is_tdd>,<MCC>,<MNC>,<cellID>,<PCI
D>,<earfcn>,<freq_band_ind>,<UL_bandwidth>,<DL_ban
dwidth>,<TAC>,<RSRP>,<RSRQ>,<RSSI>,<SINR>,<CQI>,
<tx_power>,<srxlev>
+QENG: "NR5G-NSA",<MCC>,<MNC>,<PCID>,<RSRP>,<
SINR>,<RSRQ>,<ARFCN>,<band>,<NR_DL_bandwidth>,
<scs>

Doczytałem w spece dla AT QNWINFO

For
5G NR NSA, it returns both LTE and 5G NR information.

Czyli u mnie błąd muszę podciągnąć FW, a ostatecznie jak nie naprawi się zgłosić
Dzięki!

23

Odp: RM500Q-GL - 3ginfo

Tak w ogóle to skąd masz modem? W sensie ze sprzętu z chin czy z polskiej dystrybucji?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: RM500Q-GL - 3ginfo

Cezary napisał/a:

Tak w ogóle to skąd masz modem? W sensie ze sprzętu w chinach czy z polskiej dystrybucji?

Sugerujesz Cezary aby sprawdzić AT+QMBNCFG="List" czy nie jest pomerdane w konfiguracji.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

25

Odp: RM500Q-GL - 3ginfo

Cezary napisał/a:

Nie, nie ten skrypt. /usr/share/3ginfo/addon/usb/2c7c0800

Zmieniłem i nadal LTE ale widzę że NSA jest uzależnione od QCAINFO czy zawiera "NR5G"?

Zgodnie ze specką komenda AT+QCAINFO Query Carrier Aggregation Parameters
Czyli Carrier Aggregation od strony 3GPP dotyczy tylko agregacji pasm tej samej technologii i tu w żadnym wypadku nie będzie nic z NSA gdzie łączymy  4G i 5G czyli tak zwane Dual Connectivity

QCAINFO zawiera tylko bandy LTE

<band> String type. DL Band information.
"LTE BAND 1"
"LTE BAND 2"
"LTE BAND 3"
…
"LTE BAND 66"
<pcell_state> Integer type. Primary cell state.
0 No serving
1 Registered
<scell_state> Integer type. Secondary cell

dalej w definicji powołują się na specki 36 one są od LTE tylko

<RSRP> Integer type. Reference Signal Received Power (see 3GPP 36.214).
<RSRQ> Integer type. Reference Signal Received Quality (see 3GPP 36.214).
<RSSI> Integer type. Received Signal Strength Indication.
<RSSNR> Integer type. Logarithmic value of RSSNR. Range: -10 to +30 dB.

echo "$O" | grep -q 'QENG:\s*"NR5G-NSA' && MODE_NUM=13

case "$MODE_NUM" in
        7*)
                if echo "$O" | grep -q -i "+QCAINFO.*SCC"; then
                        MODE="LTE_A"
                fi
                ;;
        11*)
                MODE="5G SA"
                ;;
        13*)
                if echo "$O" | grep -q -i "+QCAINFO.*NR5G"; then
                        MODE="5G NSA"
                else
                        if echo "$O" | grep -q -i "+QCAINFO.*PCC.*LTE"; then
                                MODE="LTE"
                                if echo "$O" | grep -q -i "+QCAINFO.*SCC"; then
                                        MODE="LTE_A"
                                fi
                        fi
                fi
                ;;
esac