251

Odp: Pakiet luci-app-modemdata i co dalej..

sh -x /usr/share/modemdata/params.sh

{
"csq":"11",
"signal":"87",
"operator_name":"Orange",
"operator_mcc":"260",
"operator_mnc":"03",
"country":"Poland",
"mode":"LTE-A B1 (2100 MHz) / B7 (2600 MHz) / B3 (1800 MHz) / B8 (900 MHz)",
"registration":"1",
"lac_dec":"53112",
"lac_hex":"CF78",
"cid_dec":"59322902",
"cid_hex":"3893216",
"addon":[{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},{"idx":70,"key":"(S3) band","value":"B8 (900 MHz) @5 MHz"},{"idx":76,"key":"(S3) RSRP","value":"-80 dBm"},{"idx":77,"key":"(S3) RSRQ","value":"-9 dB"}]
}

+ DEVICE=/dev/ttyACM2
+ '[' -z /dev/ttyACM2 ]
+ '[' '!' -e /dev/ttyACM2 ]
+ FORCE_PLMN=
+ '[' x '=' x1 ]
+ FORCE_PLMN=
+ RES=/usr/share/modemdata
+ sms_tool -D -d /dev/ttyACM2 at 'AT+CPIN?;+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?'
+ tr -d '\r'
+ O='
+CPIN: READY

+CSQ: 11,6

+COPS: 0,0,"Orange",7

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

+CREG: 2,1,"CF78","03893216",7

OK'
+ echo '
+CPIN: READY

+CSQ: 11,6

+COPS: 0,0,"Orange",7

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

+CREG: 2,1,"CF78","03893216",7

OK'
+ awk '-F[, ]' '/^\+(csq|CSQ)/ {print $2}'
+ CSQ=11
+ '[' -z 11 ]
+ '[' 11 -ge 0 ]
+ '[' 11 -le 31 ]
+ CSQ_PER=35
+ COUNTRY=
+ COPS=
+ COPS_MCC=
+ COPS_MNC=
+ echo '
+CPIN: READY

+CSQ: 11,6

+COPS: 0,0,"Orange",7

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

+CREG: 2,1,"CF78","03893216",7

OK'
+ awk '-F["]' '/^\+COPS:\s*.,2/ {print $2}'
+ COPS_NUM=26003
+ '[' -n 26003 ]
+ COPS_MCC=260
+ COPS_MNC=03
+ '[' -z  ]
+ echo '
+CPIN: READY

+CSQ: 11,6

+COPS: 0,0,"Orange",7

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

+CREG: 2,1,"CF78","03893216",7

OK'
+ awk '{if(NF==2 && tolower($1)==tolower($2)){print $1}else{print $0}}'
+ awk '-F["]' '/^\+COPS:\s*.,0/ {print $2}'
+ COPS=Orange
+ '[' -z Orange ]
+ '[' -n 26003 ]
+ awk '-F[;]' '/^26003;/ {print $2}' /usr/share/modemdata/libs/mccmnc.dat
+ COUNTRY=Poland
+ echo '
+CPIN: READY

+CSQ: 11,6

+COPS: 0,0,"Orange",7

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

+CREG: 2,1,"CF78","03893216",7

OK'
+ busybox 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}'
+ eval 'T="1";LAC_HEX="CF78";CID_HEX="3893216";LAC_DEC="53112";CID_DEC="59322902";MODE_NUM="7"'
+ T=1
+ LAC_HEX=CF78
+ CID_HEX=3893216
+ LAC_DEC=53112
+ CID_DEC=59322902
+ MODE_NUM=7
+ REG=1
+ '[' -z 7 ]
+ '[' x7 '=' x0 ]
+ MODE=LTE
+ echo '
+CPIN: READY

+CSQ: 11,6

+COPS: 0,0,"Orange",7

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

+CREG: 2,1,"CF78","03893216",7

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

+CSQ: 11,6

+COPS: 0,0,"Orange",7

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

+CREG: 2,1,"CF78","03893216",7

OK'
+ + awkxargs '-F[, ]'
 '/^\+CPIN:/ {print $0;exit}'
+ T='+CPIN: READY'
+ '[' -n '+CPIN: READY' ]
+ '[' '+CPIN: READY' '=' '+CPIN: READY' ]
+ REGOK=0
+ '[' x1 '=' x1 ]
+ REGOK=1
+ . /usr/share/modemdata/libs/getdevicevendorproduct
+ getdevicevendorproduct /dev/ttyACM2
+ basename /dev/ttyACM2
+ devname=ttyACM2
+ readlink -f /sys/class/tty/ttyACM2/device
+ devpath=/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1/1-1.1:1.4
+ T=/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1
+ cat /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1/idVendor
+ cat /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1/idProduct
+ echo usb/8087095a
+ VIDPID=usb/8087095a
+ '[' -e /usr/share/modemdata/addon/usb/8087095a ]
+ ADDON=
+ cat /tmp/sysinfo/board_name
+ . /usr/share/modemdata/addon/usb/8087095a
+ sms_tool -d /dev/ttyACM2 at 'AT+MTSM=1'
+ O='
+MTSM: 55

'
+ echo '
+MTSM: 55

'
+ awk -F: '/^\+MTSM:/ {print $2}'
+ xargs
+ T=55
+ '[' -n 55 ]
+ addon 10 Temperature '55 °C'
+ '[' -n  ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"}'
+ '[' 1 '=' 1 ]
+ sms_tool -d /dev/ttyACM2 at 'AT+XLEC?;+XMCI=1;+XCCINFO=1;+XCCINFO?'
+ O='
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ '[' x7 '=' x7 ]
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ xargs
+ awk '-F[,:]' '/^\+XCCINFO:/{print $11}'
+ T=CF78
+ '[' -n CF78 ]
+ printf '%d' 0xCF78
+ T_DEC=53112
+ addon 23 TAC '53112 (CF78)'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"}'
+ PB=
+ S1B=
+ S2B=
+ S3B=
+ S4B=
+ BWP=
+ BWS1=
+ BWS2=
+ BWS3=
+ BWS4=
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $3}'
+ CELLS=4
+ '[' -z 4 ]
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $4}'
+ T=4
+ bandwidth 4
+ echo 15
+ BWP=15
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $5}'
+ T=4
+ bandwidth 4
+ echo 15
+ BWS1=15
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $6}'
+ T=4
+ bandwidth 4
+ echo 15
+ BWS2=15
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $7}'
+ T=2
+ bandwidth 2
+ echo 5
+ BWS3=5
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $8}'
+ T=BAND_LTE_1
+ '[' -n BAND_LTE_1 ]
+ '[' xBAND_LTE_1 '!=' x0 ]
+ band4g 1
+ echo -n B1
+ echo ' (2100 MHz)'
+ PB='B1 (2100 MHz)'
+ '[' -z 15 ]
+ addon 30 'Primary band' 'B1 (2100 MHz) @15 MHz'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"}'
+ MODE='LTE B1 (2100 MHz)'
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $9}'
+ T=0
+ '[' -n 0 ]
+ '[' x0 '!=' x0 ]
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $10}'
+ T=0
+ '[' -n 0 ]
+ '[' x0 '!=' x0 ]
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XLEC:/{print $11}'
+ T=0
+ '[' -n 0 ]
+ '[' x0 '!=' x0 ]
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ xargs
+ awk '-F[,:]' '/^\+XMCI: 4/{print $7}'
+ T=0x0146
+ '[' -n 0x0146 ]
+ printf '%d' 0x0146
+ addon 33 PCI 326
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"}'
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ xargs
+ awk '-F[,:]' '/^\+XMCI: 4/{print $8}'
+ T=0x0000004B
+ '[' 0x0000004B '!=' 0xFFFFFFFF ]
+ printf '%d' 0x0000004B
+ addon 34 'EARFCN DL' 75
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"}'
+ '[' -z 'B1 (2100 MHz)' ]
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ xargs
+ awk '-F[,:]' '/^\+XMCI: 4/{print $9}'
+ T=0x0000469B
+ '[' 0x0000469B '!=' 0xFFFFFFFF ]
+ printf '%d' 0x0000469B
+ addon 34 'EARFCN UL' 18075
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"}'
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XMCI: 4/{print $11}'
+ T=52
+ '[' 52 '!=' 255 ]
+ addon 36 RSRP '-89 dBm'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"}'
+ N=
+ N=75
+ '[' -n 75 ]
+ echo '-89 75'
+ awk '{printf "%d\n", $1 + 10*log(12*$2)/log(10)}'
+ RSSI=-59
+ '[' -n -59 ]
+ '[' -59 -lt -113 ]
+ '[' -59 -gt -51 ]
+ addon 35 RSSI '-59 dBm'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"}'
+ CSQ_PER=87
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ awk '-F[,:]' '/^\+XMCI: 4/{print $12}'
+ T=24
+ '[' 24 '!=' 255 ]
+ addon 37 RSRQ '-8 dB'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"}'
+ IFS='
'
+ IDX=1
+ POS=50
+ echo '
+XLEC: 0,4,4,4,4,2,BAND_LTE_1,0,0,0,0

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,24,50,"0x00000014","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"

+XCCINFO: 1,260,03,"03893216",3,101,"FFFF",1,"FF","CF78",0,0,0,0,0,0,0,0

'
+ grep '+XMCI: 5'
+ LINES='+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"
+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"
+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"
'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"
'
+ + xargsawk
 '-F[,:]' '/^\+XMCI: 5/{print $7}'
+ T=0x0146
+ '[' -n 0x0146 ]
+ printf '%d' 0x0146
+ addon 53 '(S1) PCI' 326
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"}'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"
'
+ xargs
+ awk '-F[,:]' '/^\+XMCI: 5/{print $8}'
+ T=0x00000BD1
+ '[' 0x00000BD1 '!=' 0xFFFFFFFF ]
+ printf '%d' 0x00000BD1
+ addon 54 '(S1) EARFCN DL' 3025
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"}'
+ '[' -z  ]
+ printf '%d' 0x00000BD1
+ channeltoband 3025
+ '[' 3025 -ge 0 ]
+ '[' 3025 -le 599 ]
+ '[' 3025 -ge 1200 ]
+ '[' 3025 -le 1949 ]
+ '[' 3025 -ge 2750 ]
+ '[' 3025 -le 3449 ]
+ echo 7
+ T1=7
+ band4g 7
+ echo -n B7
+ echo ' (2600 MHz)'
+ S1B='B7 (2600 MHz)'
+ '[' -z 15 ]
+ addon 50 '(S1) band' 'B7 (2600 MHz) @15 MHz'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"}'
+ MODE='LTE-A B1 (2100 MHz) / B7 (2600 MHz)'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"
'
+ + xargsawk
 '-F[,:]' '/^\+XMCI: 5/{print $9}'
+ T=0xFFFFFFFF
+ '[' 0xFFFFFFFF '!=' 0xFFFFFFFF ]
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk '-F[,:]' '/^\+XMCI: 5/{print $11}'
+ T=36
+ '[' 36 '!=' 255 ]
+ addon 56 '(S1) RSRP' '-105 dBm'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"}'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",36,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk '-F[,:]' '/^\+XMCI: 5/{print $12}'
+ T=26
+ '[' 26 '!=' 255 ]
+ addon 57 '(S1) RSRQ' '-7 dB'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"}'
+ IDX=2
+ '[' 2 -ge 4 ]
+ POS=60
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"
'
+ + awkxargs '-F[,:]'
 '/^\+XMCI: 5/{print $7}'
+ T=0x0146
+ '[' -n 0x0146 ]
+ printf '%d' 0x0146
+ addon 63 '(S2) PCI' 326
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"}'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"
'
+ + awkxargs '-F[,:]'
 '/^\+XMCI: 5/{print $8}'
+ T=0x000006BD
+ '[' 0x000006BD '!=' 0xFFFFFFFF ]
+ printf '%d' 0x000006BD
+ addon 64 '(S2) EARFCN DL' 1725
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"}'
+ '[' -z  ]
+ printf '%d' 0x000006BD
+ channeltoband 1725
+ '[' 1725 -ge 0 ]
+ '[' 1725 -le 599 ]
+ '[' 1725 -ge 1200 ]
+ '[' 1725 -le 1949 ]
+ echo 3
+ T1=3
+ band4g 3
+ echo -n B3
+ echo ' (1800 MHz)'
+ S2B='B3 (1800 MHz)'
+ '[' -z 15 ]
+ addon 60 '(S2) band' 'B3 (1800 MHz) @15 MHz'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"}'
+ MODE='LTE-A B1 (2100 MHz) / B7 (2600 MHz) / B3 (1800 MHz)'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"
'
+ awk '-F[,:]' '/^\+XMCI: 5/{print $9}'
+ xargs
+ T=0xFFFFFFFF
+ '[' 0xFFFFFFFF '!=' 0xFFFFFFFF ]
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"
'
+ awk '-F[,:]' '/^\+XMCI: 5/{print $11}'
+ T=50
+ '[' 50 '!=' 255 ]
+ addon 66 '(S2) RSRP' '-91 dBm'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"}'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",50,25,255,"0x7FFFFFFF","0x00000000"
'
+ awk '-F[,:]' '/^\+XMCI: 5/{print $12}'
+ T=25
+ '[' 25 '!=' 255 ]
+ addon 67 '(S2) RSRQ' '-8 dB'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"}'
+ IDX=3
+ '[' 3 -ge 4 ]
+ POS=70
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"
'
+ xargs
+ awk '-F[,:]' '/^\+XMCI: 5/{print $7}'
+ T=0x0146
+ '[' -n 0x0146 ]
+ printf '%d' 0x0146
+ addon 73 '(S3) PCI' 326
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"}'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"
'
+ + xargsawk
 '-F[,:]' '/^\+XMCI: 5/{print $8}'
+ T=0x00000EB4
+ '[' 0x00000EB4 '!=' 0xFFFFFFFF ]
+ printf '%d' 0x00000EB4
+ addon 74 '(S3) EARFCN DL' 3764
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"}'
+ '[' -z  ]
+ printf '%d' 0x00000EB4
+ channeltoband 3764
+ '[' 3764 -ge 0 ]
+ '[' 3764 -le 599 ]
+ '[' 3764 -ge 1200 ]
+ '[' 3764 -le 1949 ]
+ '[' 3764 -ge 2750 ]
+ '[' 3764 -le 3449 ]
+ '[' 3764 -ge 3450 ]
+ '[' 3764 -le 3799 ]
+ echo 8
+ T1=8
+ band4g 8
+ echo -n B8
+ echo ' (900 MHz)'
+ S3B='B8 (900 MHz)'
+ '[' -z 5 ]
+ addon 70 '(S3) band' 'B8 (900 MHz) @5 MHz'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},{"idx":70,"key":"(S3) band","value":"B8 (900 MHz) @5 MHz"}'
+ MODE='LTE-A B1 (2100 MHz) / B7 (2600 MHz) / B3 (1800 MHz) / B8 (900 MHz)'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"
'
+ xargs
+ awk '-F[,:]' '/^\+XMCI: 5/{print $9}'
+ T=0xFFFFFFFF
+ '[' 0xFFFFFFFF '!=' 0xFFFFFFFF ]
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"
'
+ awk '-F[,:]' '/^\+XMCI: 5/{print $11}'
+ T=61
+ '[' 61 '!=' 255 ]
+ addon 76 '(S3) RSRP' '-80 dBm'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},{"idx":70,"key":"(S3) band","value":"B8 (900 MHz) @5 MHz"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},{"idx":70,"key":"(S3) band","value":"B8 (900 MHz) @5 MHz"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},{"idx":70,"key":"(S3) band","value":"B8 (900 MHz) @5 MHz"},{"idx":76,"key":"(S3) RSRP","value":"-80 dBm"}'
+ echo '+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,22,255,"0x7FFFFFFF","0x00000000"
'
+ awk '-F[,:]' '/^\+XMCI: 5/{print $12}'
+ T=22
+ '[' 22 '!=' 255 ]
+ addon 77 '(S3) RSRQ' '-9 dB'
+ '[' -n '{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},{"idx":70,"key":"(S3) band","value":"B8 (900 MHz) @5 MHz"},{"idx":76,"key":"(S3) RSRP","value":"-80 dBm"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},{"idx":70,"key":"(S3) band","value":"B8 (900 MHz) @5 MHz"},{"idx":76,"key":"(S3) RSRP","value":"-80 dBm"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"55 °C"},{"idx":23,"key":"TAC","value":"53112 (CF78)"},{"idx":30,"key":"Primary band","value":"B1 (2100 MHz) @15 MHz"},{"idx":33,"key":"PCI","value":"326"},{"idx":34,"key":"EARFCN DL","value":"75"},{"idx":34,"key":"EARFCN UL","value":"18075"},{"idx":36,"key":"RSRP","value":"-89 dBm"},{"idx":35,"key":"RSSI","value":"-59 dBm"},{"idx":37,"key":"RSRQ","value":"-8 dB"},{"idx":53,"key":"(S1) PCI","value":"326"},{"idx":54,"key":"(S1) EARFCN DL","value":"3025"},{"idx":50,"key":"(S1) band","value":"B7 (2600 MHz) @15 MHz"},{"idx":56,"key":"(S1) RSRP","value":"-105 dBm"},{"idx":57,"key":"(S1) RSRQ","value":"-7 dB"},{"idx":63,"key":"(S2) PCI","value":"326"},{"idx":64,"key":"(S2) EARFCN DL","value":"1725"},{"idx":60,"key":"(S2) band","value":"B3 (1800 MHz) @15 MHz"},{"idx":66,"key":"(S2) RSRP","value":"-91 dBm"},{"idx":67,"key":"(S2) RSRQ","value":"-8 dB"},{"idx":73,"key":"(S3) PCI","value":"326"},{"idx":74,"key":"(S3) EARFCN DL","value":"3764"},{"idx":70,"key":"(S3) band","value":"B8 (900 MHz) @5 MHz"},{"idx":76,"key":"(S3) RSRP","value":"-80 dBm"},{"idx":77,"key":"(S3) RSRQ","value":"-9 dB"}'
+ IDX=4
+ '[' 4 -ge 4 ]
+ break
+ cat
+ exit 0
Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS, EDMA-NSS and PPE builds for Xiaomi AX3600 (IPQ8071A) by @Payti

252

Odp: Pakiet luci-app-modemdata i co dalej..

Modemdata nie czyta sinr z tego modemu. I nigdy nie czytał. Mam w kodzie tylko zakomentany snr

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

253

Odp: Pakiet luci-app-modemdata i co dalej..

Aha, czyli wszystko jasne. Gdzie znaleźć i odkomentować pokazywanie SNR?

Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS, EDMA-NSS and PPE builds for Xiaomi AX3600 (IPQ8071A) by @Payti

254

Odp: Pakiet luci-app-modemdata i co dalej..

Tu https://github.com/obsy/modemdata/blob/ … 7095a#L298 oraz tu: https://github.com/obsy/modemdata/blob/ … 7095a#L372

plik /usr/share/modemdata/addon/usb/8087095

Tylko to nie zostało zakomentowane bez powodu. Pewnie była niepewność jak i czy to przeliczać.

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

255 (edytowany przez Payti 2026-03-13 19:18:32)

Odp: Pakiet luci-app-modemdata i co dalej..

Ok, odkomentowałem te linijki i pokazuje SNR dla pasma PCC ...

Thx
Pozdr,

Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS, EDMA-NSS and PPE builds for Xiaomi AX3600 (IPQ8071A) by @Payti

256 (edytowany przez Payti 2026-03-14 14:34:15)

Odp: Pakiet luci-app-modemdata i co dalej..

Wygrzebałem gdzieś jak policzyć SINR'a dla tego modemu Fibocom L860-GL-16, dopisałem j/n w /usr/share/modemdata/addon/usb/8087095a
i działa obliczanie SINR'a dla pasma PCC ...

...
        T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $12}')
        [ "$T" != "255" ] && addon 37 "RSRQ" "$((-20 + T/2)) dB"
#        T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $13}')
#        [ "$T" != "255" ] && addon 38 "SNR" "$T dB"
        T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $13}')
        [ "$T" != "255" ] && [ -n "$T" ] && {
            VAL=$(awk -v t="$T" 'BEGIN {printf "%.0f", t/4+5}')
            addon 38 "SINR" "${VAL} dB"
        }
    fi
...
...
            T=$(echo "$LINE" | awk -F[,:] '/^\+XMCI: 5/{print $12}')
            [ "$T" != "255" ] && addon $((POS + 7)) "(S${IDX}) RSRQ" "$((-20 + T/2)) dB"
#            T=$(echo "$LINE" | awk -F[,:] '/^\+XMCI: 4/{print $13}')
#            [ "$T" != "255" ] && addon $((POS + 8)) "(S${IDX}) SNR" "$T dB"
            T=$(echo "$LINE" | awk -F[,:] '/^\+XMCI: 5/{print $13}')
            [ "$T" != "255" ] && [ -n "$T" ] && {
                VAL=$(awk -v t="$T" 'BEGIN {printf "%.0f", t/4+5}')
                addon $((POS + 8)) "(S${IDX}) SINR" "${VAL} dB"
            }
            IDX=$((IDX + 1))
Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS, EDMA-NSS and PPE builds for Xiaomi AX3600 (IPQ8071A) by @Payti

257

Odp: Pakiet luci-app-modemdata i co dalej..

Tylko że ten parametr jest w pdf'ach opisany jako <RSSNR>; SNR nijak się ma do SINR, nie ma też jak tego przeliczyć bez znajomości interferencja. Więc nawet o ile wzorek na przeliczenie jest prawidłowy (a tego nie wiem bo nie opisali w pdf'ach to na pewnie nie jest to SINR.

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

258 (edytowany przez Payti 2026-03-14 22:14:01)

Odp: Pakiet luci-app-modemdata i co dalej..

W dokumentacji do softu co używa tego modemu znalazłem taką deklarację dla SINR z jednego urządzenia co w nim pracuje taki modem:

SINR=$(at_modem "AT+XMCI=1" | awk -F [:,] '/\+XMCI: 4/{gsub(/"/,""); printf "%.0f\n", $13/4+5}')

więc na tym zabazowałem. Pokazuje to przeliczenie SINR w miarę wiarygodne dane z pomiarem koło modemu 'wypaśnym' miernikiem.

Modem dla komendy AT+XMCI=1 zwraca:

+XMCI: 4,260,03,"0xCF78","0x03893216","0x0146","0x0000004B","0x0000469B","0xFFFFFFFF",52,25,33,"0x00000014","0x00000000"
+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000EB4","0xFFFFFFFF","0xFFFFFFFF",61,21,255,"0x7FFFFFFF","0x00000000"
+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x000006BD","0xFFFFFFFF","0xFFFFFFFF",49,24,255,"0x7FFFFFFF","0x00000000"
+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x0146","0x00000BD1","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
OK

Postudiowałem trochę dokumentacje dla tego Fibocom L860-GL-16 i chipsetu Intela i wychodzi na to, że dane SINR można jedynie przeliczyć j/w i modem zwraca tylko co trzeba dla pasma PCC (i da się z przybliżeniem SINR policzyć), także dla SCC nie będzie obliczanego SINR'a. Posiedziałem też trochę nad modyfikacją 8087095a aby dla wszystkich SCCx pokazywał modemdata także RSSI i wysiedziałem coś takiego:

cat /usr/share/modemdata/addon/usb/8087095a

# Fibocom L860 - Full Script (Optimized with Fixes)

bandwidth() {
        case $1 in
                0) echo "1.4";; 1) echo "3";; 2) echo "5";; 3) echo "10";; 4) echo "15";; 5) echo "20";;
                *) echo "";;
        esac
}

channeltoband() {
        if [ $1 -ge 0 ] && [ $1 -le 599 ]; then echo "1"
        elif [ $1 -ge 1200 ] && [ $1 -le 1949 ]; then echo "3"
        elif [ $1 -ge 2750 ] && [ $1 -le 3449 ]; then echo "7"
        elif [ $1 -ge 3450 ] && [ $1 -le 3799 ]; then echo "8"
        elif [ $1 -ge 6150 ] && [ $1 -le 6449 ]; then echo "20"
        else echo "?"; fi
}

O=$(sms_tool -d $DEVICE at "AT+MTSM=1")
T=$(echo "$O" | awk -F: '/^\+MTSM:/ {print $2}' | xargs)
[ -n "$T" ] && addon 10 "Temperature" "$T &deg;C"

if [ "$REGOK" = "1" ]; then
O=$(sms_tool -d $DEVICE at "AT+XLEC?;+XMCI=1;+XCCINFO=1;+XCCINFO?")

if [ "x$MODE_NUM" = "x7" ]; then
        T=$(echo "$O" | awk -F[,:] '/^\+XCCINFO:/{print $11}' | xargs)
        if [ -n "$T" ]; then
                T_DEC=$(printf "%d" "0x$T")
                addon 23 "TAC" "${T_DEC} ($T)"
        fi

        PB=""; S1B=""; S2B=""; S3B=""; S4B=""
        BWP=""; BWS1=""; BWS2=""; BWS3=""; BWS4=""
        PCC_PCI=""; PCC_EARFCN=""

        CELLS=$(echo "$O" | awk -F[,:] '/^\+XLEC:/{print $3}')
        [ -z "$CELLS" ] && CELLS=0
        
        # Pobieranie szerokości pasm
        BWP=$(bandwidth $(echo "$O" | awk -F[,:] '/^\+XLEC:/{print $4}'))
        BWS1=$(bandwidth $(echo "$O" | awk -F[,:] '/^\+XLEC:/{print $5}'))
        BWS2=$(bandwidth $(echo "$O" | awk -F[,:] '/^\+XLEC:/{print $6}'))
        BWS3=$(bandwidth $(echo "$O" | awk -F[,:] '/^\+XLEC:/{print $7}'))
        BWS4=$(bandwidth $(echo "$O" | awk -F[,:] '/^\+XLEC:/{print $8}'))

        # SEKCJA PASMA GŁÓWNEGO (PCC)
        T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $7}' | xargs)
        if [ -n "$T" ]; then
                PCC_PCI=$(printf "%d" "$T")
                addon 33 "PCI" "$PCC_PCI"
                
                T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $8}' | xargs)
                if [ "$T" != "0xFFFFFFFF" ]; then
                        PCC_EARFCN=$(printf "%d" "$T")
                        addon 34 "EARFCN DL" "$PCC_EARFCN"
                        PB=$(band4g $(channeltoband $PCC_EARFCN))
                        [ -z "$BWP" ] && addon 30 "Primary band" "$PB" || addon 30 "Primary band" "$PB @${BWP} MHz"
                        MODE="$MODE $PB"
                fi

                # EARFCN UL (indeks 32)
                T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $9}' | xargs)
                [ "$T" != "0xFFFFFFFF" ] && [ -n "$T" ] && addon 32 "EARFCN UL" "$(printf "%d" "$T")"
                
                T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $11}')
                if [ "$T" != "255" ] && [ -n "$T" ]; then
                        addon 36 "RSRP" "$((-141 + T)) dBm"
                        N=""; case $BWP in "1.4") N=6;; "3") N=15;; "5") N=25;; "10") N=50;; "15") N=75;; "20") N=100;; esac
                        if [ -n "$N" ]; then
                                RSSI=$(echo "$((-141 + T)) $N" | awk '{printf "%d\n", $1 + 10*log(12*$2)/log(10)}')
                                if [ -n "$RSSI" ]; then
                                        [ $RSSI -lt -113 ] && RSSI="-113"
                                        [ $RSSI -gt -51 ] && RSSI="-51"
                                        addon 35 "RSSI" "$RSSI dBm"
                                        CSQ_PER=$(((RSSI + 113) * 100 / 62))
                                fi
                        fi
                fi
                
                T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $12}')
                [ "$T" != "255" ] && addon 37 "RSRQ" "$((-20 + T/2)) dB"

                T=$(echo "$O" | awk -F[,:] '/^\+XMCI: 4/{print $13}' | xargs)
                if [ "$T" != "255" ] && [ -n "$T" ]; then
                        addon 38 "SNR" "$T dB"
                        VAL=$(printf "%.1f" "$(echo "$T" | awk '{print $1/4+5}')")
                        addon 39 "SINR" "${VAL} dB"
                fi
        fi

IFS="
"
        IDX=1
        POS=50
        LINES=$(echo "$O" | grep "+XMCI: 5")
        for LINE in $LINES; do
                CUR_PCI_RAW=$(echo "$LINE" | awk -F[,:] '{print $7}' | xargs)
                CUR_EARFCN_RAW=$(echo "$LINE" | awk -F[,:] '{print $8}' | xargs)
                [ -z "$CUR_PCI_RAW" ] && continue
                
                C_PCI=$(printf "%d" "$CUR_PCI_RAW")
                C_EARFCN=$(printf "%d" "$CUR_EARFCN_RAW")

                # FILTR DUPLIKATÓW (PCC vs SCC)
                [ "$C_PCI" = "$PCC_PCI" ] && [ "$C_EARFCN" = "$PCC_EARFCN" ] && continue

                addon $((POS + 3)) "(S${IDX}) PCI" "$C_PCI"
                addon $((POS + 4)) "(S${IDX}) EARFCN DL" "$C_EARFCN"
                
                S_BAND=$(band4g $(channeltoband $C_EARFCN))
                case $IDX in
                        1) CBW=$BWS1; addon $POS "(S1) band" "$S_BAND${CBW:+ @$CBW MHz}" ;;
                        2) CBW=$BWS2; addon $POS "(S2) band" "$S_BAND${CBW:+ @$CBW MHz}" ;;
                        3) CBW=$BWS3; addon $POS "(S3) band" "$S_BAND${CBW:+ @$CBW MHz}" ;;
                        4) CBW=$BWS4; addon $POS "(S4) band" "$S_BAND${CBW:+ @$CBW MHz}" ;;
                esac

                # POPRAWKA LTE-A (tylko jedna zmiana)
                case $MODE in
                        *LTE-A*) MODE="$MODE / $S_BAND" ;;
                        *) MODE="${MODE/LTE/LTE-A} / $S_BAND" ;;
                esac

                T=$(echo "$LINE" | awk -F[,:] '{print $11}')
                if [ "$T" != "255" ] && [ -n "$T" ]; then
                        addon $((POS + 6)) "(S${IDX}) RSRP" "$((-141 + T)) dBm"
                        SN=""; case $CBW in "1.4") SN=6;; "3") SN=15;; "5") SN=25;; "10") SN=50;; "15") SN=75;; "20") SN=100;; esac
                        if [ -n "$SN" ]; then
                                SRSSI=$(echo "$((-141 + T)) $SN" | awk '{printf "%d\n", $1 + 10*log(12*$2)/log(10)}')
                                addon $((POS + 5)) "(S${IDX}) RSSI" "$SRSSI dBm"
                        fi
                fi
                
                T=$(echo "$LINE" | awk -F[,:] '{print $12}')
                [ "$T" != "255" ] && addon $((POS + 7)) "(S${IDX}) RSRQ" "$((-20 + T/2)) dB"

                T=$(echo "$LINE" | awk -F[,:] '{print $13}' | xargs)
                if [ "$T" != "255" ] && [ -n "$T" ]; then
                        addon $((POS + 8)) "(S${IDX}) SNR" "$T dB"
                        S_VAL=$(printf "%.1f" "$(echo "$T" | awk '{print $1/4+5}')")
                        addon $((POS + 9)) "(S${IDX}) SINR" "${S_VAL} dB"
                fi

                IDX=$((IDX + 1))
                POS=$((POS + 10))
                [ $IDX -gt 4 ] && break
        done
fi
fi

Działa:
- pokazywanie wszystkich RSSI dla PCC i SCCx
- pokazywanie i odświeżanie SINR dla PCC (przybliżonego obliczanego, nie z danych zwracanych z modemu bo ten ich nie podaje)

https://i.imgur.com/9Egcste.png

Jak uznasz, że nic nie warte poprostu wywal posta ...


Pozdr,

Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS, EDMA-NSS and PPE builds for Xiaomi AX3600 (IPQ8071A) by @Payti

259

Odp: Pakiet luci-app-modemdata i co dalej..

Pokaż mi z której dokumentacji korzystałeś, gdzie jest napisane że jest to SINR.

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

260

Odp: Pakiet luci-app-modemdata i co dalej..

Dokumentacja jest 'strzeżona' nie mogę udostępnić, ale chyba nie zrozumieliśmy się.
Modem wprost nie udostępnia SINR'a w zwracanych danych, ale można go tak z przybliżeniem liczyć jak podałem wyżej ...
I obliczone dane są dość precyzyjnie wiarygodne (ok. +- 10%)

Pozdr,

Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS, EDMA-NSS and PPE builds for Xiaomi AX3600 (IPQ8071A) by @Payti

261

Odp: Pakiet luci-app-modemdata i co dalej..

Więc pozwolisz że zostawię to jednak zakomentowane tak jak jest teraz, jak nie wiadomo czym to jest. Jeżeli ktoś potrzebuje to sobie może odkomentować.

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

262 (edytowany przez Payti 2026-03-14 21:09:13)

Odp: Pakiet luci-app-modemdata i co dalej..

Oczywiście, ja zrobiłem takiego moda skryptu dla siebie dla pewnych wizualizacji ...
Dla oszacowania jakości łącza nie trzeba mieć super precyzyjnego SINR.
Ogólnie w zupełności wystarcza info i oszacowanie przedziału j/n, w którym plasuje się link LTE ...

Dla potomnych :

SINR (Signal to Interference + Noise Ratio) jeden z najważniejszy wskaźników jakości w technologii LTE.

Wartość SINR   | Jakość połączenia    | Co to oznacza w praktyce?
----------------- |-----------------------|------------------------------------------------------------------------------------------------
Powyżej 20 dB  | Doskonała              | Maksymalne prędkości, stabilne 4CA, modulacja 256QAM powinna działać bez błędów.
------------------|-----------------------|------------------------------------------------------------------------------------------------
13 dB do 20 dB | Bardzo dobra          | Szybkie i stabilne połączenie. Bardzo mała ilość retransmisji pakietów.
------------------|-----------------------|------------------------------------------------------------------------------------------------
5 dB do 12 dB   | Dobra / Przeciętna  | Typowe warunki miejskie. Prędkości mogą być zmienne, ale łącze jest stabilne.
------------------|-----------------------|------------------------------------------------------------------------------------------------
0 dB do 4 dB     | Słaba                     | Możliwe zerwania agregacji (powrót do jednego pasma), odczuwalne spowolnienia.
------------------|-----------------------|------------------------------------------------------------------------------------------------
Poniżej 0 dB      | Bardzo słaba           | Duże zakłócenia. Modem walczy o utrzymanie synchronizacji.
------------------|-----------------------|------------------------------------------------------------------------------------------------

Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS, EDMA-NSS and PPE builds for Xiaomi AX3600 (IPQ8071A) by @Payti

263 (edytowany przez Payti 2026-03-14 20:03:13)

Odp: Pakiet luci-app-modemdata i co dalej..

Taka ciekawostka z tej samej dokumentacji -> szacowanie odległości terminala od anteny (sektora):

DISTANCE=$(at_modem "AT+XMCI=1" | awk -F [:,] '/\+XMCI: 4/{gsub(/"/,""); printf "%.2f\n", ($14*78)/1000}')

Dla mojej lokalizacji pomiar wg GPS daje: 1.63km (terminal-maszt) a oszacowana j/w odległość z parametrów daje wynik: 1.56 km
Także widać całkiem nieźle ...
W sumie to można by dodać też takie info do 'modemdata' i zakładki 'Modemdata status' ...

Pozdr,

Banana Pi BPI-R3 + SFP GPON ONT Nokia G-010S-A + LTE FIBOCOM L860-GL-16 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.71)
Zyxel T56 EX5601-T1 (OpenWrt 25.12-SNAPSHOT, kernel 6.12.85)
Xiaomi AX3600 (OpenWrt EDMA-NSS SNAPSHOT, kernel 6.18.44)
OpenWRT NSS, EDMA-NSS and PPE builds for Xiaomi AX3600 (IPQ8071A) by @Payti

264

Odp: Pakiet luci-app-modemdata i co dalej..

Payti napisał/a:

Taka ciekawostka z tej samej dokumentacji -> szacowanie odległości terminala od anteny (sektora):

DISTANCE=$(at_modem "AT+XMCI=1" | awk -F [:,] '/\+XMCI: 4/{gsub(/"/,""); printf "%.2f\n", ($14*78)/1000}')

Dla mojej lokalizacji pomiar wg GPS daje: 1.63km (terminal-maszt) a oszacowana j/w odległość z parametrów daje wynik: 1.56 km
Także widać całkiem nieźle ...
W sumie to można by dodać też takie info do 'modemdata' i zakładki 'Modemdata status' ...

Pozdr,

Nowsze Quectele mają coś podobnego, czy jest to do dodania pewnie by się dało, nie wiem co na to Cezary. Na ten moment nie planuję aktualizacji pakietu dla Lucyny. Nie wnikałem jeszcze w kwestię zmian na BTSearch, więc nie wiem czy wymusi to aktualizację czy nie.

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

265 (edytowany przez omsf21 2026-06-28 16:41:17)

Odp: Pakiet luci-app-modemdata i co dalej..

IceG napisał/a:

Hi @omsf21
Execute command in the console & refresh page:

ln -s /usr/share/modemdata/addon/usb/2c7c0800 /usr/share/modemdata/addon/usb/2c7c0122

Show modem settings in package (no SIM icon, no temperature).


Hi, after the RM551E, I have now received the RG501Q-EU 5G module. I noticed that it is not fully compatible when using it with your plugin. I am attaching the log files here.

Greetings from Turkey!

https://ibb.co/prwzt6B9

luci-app-3ginfo-lite; I checked, and there's a discrepancy here as well.


T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 6.18
S:  Manufacturer=Linux 6.18.36 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=11200000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=10000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.10 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 6.18
S:  Manufacturer=Linux 6.18.36 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=11200000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 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=RG501Q-EU
S:  SerialNumber=673c0b00
C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=896mA
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= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan_q
E:  Ad=88(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms




[
{
"vendor":"Quectel",
"product":"RG501Q-EU",
"revision":"RG501QEUAAR12A06M4G_SAGM",
"imei":"35507599259****",
"iccid":"899002922202185*****",
"imsi":"28602734906****"
}
,
{
"status": "CONNECTED",
"conn_time_sec": "584",
"rx": "204.0 KiB",
"tx": "1.7 MiB"
}
,
{
"csq":"31",
"signal":"100",
"operator_name":"vodafone TR",
"operator_mcc":"286",
"operator_mnc":"02",
"country":"Turkey",
"mode":"LTE",
"registration":"0",
"lac_dec":"0",
"lac_hex":"0",
"cid_dec":"0",
"cid_hex":"0",
"addon":[{"idx":10,"key":"Temperature","value":"45 °C"},{"idx":11,"key":"Slot","value":"1"}]
}
]


{
"vendor":"Quectel",
"product":"RG501Q-EU",
"revision":"RG501QEUAAR12A06M4G_SAGM",
"imei":"35507599259****",
"iccid":"899002922202185*****",
"imsi":"28602734906****"
}

+ DEVICE=/dev/ttyUSB3
+ '[' -n /dev/ttyUSB3 ]
+ '[' -e /dev/ttyUSB3 ]
+ RES=/usr/share/modemdata
+ . /usr/share/modemdata/libs/getdevicevendorproduct
+ getdevicevendorproduct /dev/ttyUSB3
+ basename /dev/ttyUSB3
+ devname=ttyUSB3
+ readlink -f /sys/class/tty/ttyUSB3/device
+ devpath=/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1:1.3/ttyUSB3
+ T=/sys/devices/platform/soc/11200000.usb/usb2/2-1
+ cat /sys/devices/platform/soc/11200000.usb/usb2/2-1/idVendor
+ cat /sys/devices/platform/soc/11200000.usb/usb2/2-1/idProduct
+ echo usb/2c7c0800
+ VIDPID=usb/2c7c0800
+ '[' -e /usr/share/modemdata/vendorproduct/usb/2c7c0800 ]
+ . /usr/share/modemdata/vendorproduct/generic
+ gcom -d /dev/ttyUSB3 -s /usr/share/modemdata/vendorproduct/vendorproduct.gcom
+ O='+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:35507599259****
+CIMI:28602734906****

+ICCID: 899002922202185*****'
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:35507599259****
+CIMI:28602734906****

+ICCID: 899002922202185*****'
+ awk '/CGMI:/{gsub(/.*CGMI[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=Quectel
+ '[' -n Quectel ]
+ VENDOR=Quectel
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:35507599259****
+CIMI:28602734906****

+ICCID: 899002922202185*****'
+ awk '/CGMM:/{gsub(/.*CGMM[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=RG501Q-EU
+ '[' -n RG501Q-EU ]
+ PRODUCT=RG501Q-EU
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:35507599259****
+CIMI:28602734906****

+ICCID: 899002922202185*****'
+ awk '/CGMR:/{gsub(/.*CGMR[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=RG501QEUAAR12A06M4G_SAGM
+ '[' -n RG501QEUAAR12A06M4G_SAGM ]
+ REVISION=RG501QEUAAR12A06M4G_SAGM
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:35507599259****
+CIMI:28602734906****

+ICCID: 899002922202185*****'
+ awk '/CGSN:/{gsub(/.*CGSN[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=35507599259****
+ '[' -n 35507599259**** ]
+ IMEI=35507599259****
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:35507599259****
+CIMI:28602734906****

+ICCID: 899002922202185*****'
+ awk '/CCID:/{gsub(/.*CCID[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=899002922202185*****
+ '[' -n 899002922202185*****]
+ ICCID=899002922202185*****
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:35507599259****
+CIMI:28602734906****

+ICCID: 899002922202185*****'
+ awk '/CIMI:/{gsub(/.*CIMI[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=28602734906****
+ '[' -n 28602734906**** ]
+ IMSI=28602734906****
+ cat
+ exit 0

{
"csq":"31",
"signal":"100",
"operator_name":"vodafone TR",
"operator_mcc":"286",
"operator_mnc":"02",
"country":"Turkey",
"mode":"LTE",
"registration":"0",
"lac_dec":"0",
"lac_hex":"0",
"cid_dec":"0",
"cid_hex":"0",
"addon":[{"idx":10,"key":"Temperature","value":"47 °C"},{"idx":11,"key":"Slot","value":"1"}]
}

+ DEVICE=/dev/ttyUSB3
+ '[' -z /dev/ttyUSB3 ]
+ '[' '!' -e /dev/ttyUSB3 ]
+ FORCE_PLMN=
+ '[' x '=' x1 ]
+ FORCE_PLMN=
+ RES=/usr/share/modemdata
+ sms_tool -D -d /dev/ttyUSB3 at 'AT+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?;+CPIN?'
+ tr -d '\r'
+ O='
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ awk '-F[, ]' '/^\+(csq|CSQ)/ {print $2}'
+ CSQ=31
+ '[' -z 31 ]
+ '[' 31 -ge 0 ]
+ '[' 31 -le 31 ]
+ CSQ_PER=100
+ COUNTRY=
+ COPS=
+ COPS_MCC=
+ COPS_MNC=
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ awk '-F["]' '/^\+COPS:\s*.,2/ {print $2}'
+ COPS_NUM=28602
+ '[' -n 28602 ]
+ COPS_MCC=286
+ COPS_MNC=02
+ '[' -z  ]
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ awk '{if(NF==2 && tolower($1)==tolower($2)){print $1}else{print $0}}'
+ awk '-F["]' '/^\+COPS:\s*.,0/ {print $2}'
+ COPS='vodafone TR'
+ '[' -z 'vodafone TR' ]
+ '[' -n 28602 ]
+ awk '-F[;]' '/^28602;/ {print $2}' /usr/share/modemdata/libs/mccmnc.dat
+ COUNTRY=Turkey
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ busybox 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}'
+ eval 'T="0";LAC_HEX="0";CID_HEX="0";LAC_DEC="0";CID_DEC="0";MODE_NUM="0"'
+ T=0
+ LAC_HEX=0
+ CID_HEX=0
+ LAC_DEC=0
+ CID_DEC=0
+ MODE_NUM=0
+ REG=0
+ '[' -z 0 ]
+ '[' x0 '=' x0 ]
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ + xargsawk
 '-F[,]' '/^\+COPS/ {print $4;exit}'
+ MODE_NUM=7
+ MODE=LTE
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ awk '-F[, ]' '/^\+CME ERROR:/ {print $0;exit}'
+ T=
+ '[' -n  ]
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ + awkxargs '-F[, ]'
 '/^\+CPIN:/ {print $0;exit}'
+ T='+CPIN: READY'
+ '[' -n '+CPIN: READY' ]
+ '[' '+CPIN: READY' '=' '+CPIN: READY' ]
+ REGOK=0
+ '[' x0 '=' x1 ]
+ '[' x0 '=' x5 ]
+ '[' x0 '=' x6 ]
+ '[' x0 '=' x7 ]
+ . /usr/share/modemdata/libs/getdevicevendorproduct
+ getdevicevendorproduct /dev/ttyUSB3
+ basename /dev/ttyUSB3
+ devname=ttyUSB3
+ readlink -f /sys/class/tty/ttyUSB3/device
+ devpath=/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1:1.3/ttyUSB3
+ T=/sys/devices/platform/soc/11200000.usb/usb2/2-1
+ cat /sys/devices/platform/soc/11200000.usb/usb2/2-1/idVendor
+ cat /sys/devices/platform/soc/11200000.usb/usb2/2-1/idProduct
+ echo usb/2c7c0800
+ VIDPID=usb/2c7c0800
+ '[' -e /usr/share/modemdata/addon/usb/2c7c0800 ]
+ ADDON=
+ cat /tmp/sysinfo/board_name
+ . /usr/share/modemdata/addon/usb/2c7c0800
+ sms_tool -d /dev/ttyUSB3 at at+qtemp
+ O='
+QTEMP:"qfe_wtr_pa0","-273"
+QTEMP:"qfe_wtr_pa1","-273"
+QTEMP:"qfe_wtr_pa2","-273"
+QTEMP:"qfe_wtr_pa3","-273"
+QTEMP:"aoss0-usr","45"
+QTEMP:"mdm-q6-usr","46"
+QTEMP:"ipa-usr","47"
+QTEMP:"cpu0-a7-usr","45"
+QTEMP:"mdm-5g-usr","45"
+QTEMP:"mdm-vpe-usr","46"
+QTEMP:"mdm-core-usr","46"
+QTEMP:"xo-therm-usr","45"
+QTEMP:"sdx-case-therm-usr","45"
+QTEMP:"ambient-therm-usr","45"

'
+ echo '
+QTEMP:"qfe_wtr_pa0","-273"
+QTEMP:"qfe_wtr_pa1","-273"
+QTEMP:"qfe_wtr_pa2","-273"
+QTEMP:"qfe_wtr_pa3","-273"
+QTEMP:"aoss0-usr","45"
+QTEMP:"mdm-q6-usr","46"
+QTEMP:"ipa-usr","47"
+QTEMP:"cpu0-a7-usr","45"
+QTEMP:"mdm-5g-usr","45"
+QTEMP:"mdm-vpe-usr","46"
+QTEMP:"mdm-core-usr","46"
+QTEMP:"xo-therm-usr","45"
+QTEMP:"sdx-case-therm-usr","45"
+QTEMP:"ambient-therm-usr","45"

'
+ + sortawk -r '-F[,:]' '/^\+QTEMP/ {print $3}'

+ head -n1
+ xargs
+ T=47
+ '[' -n 47 ]
+ addon 10 Temperature '47 °C'
+ '[' -n  ]
+ ADDON='{"idx":10,"key":"Temperature","value":"47 °C"}'
+ sms_tool -d /dev/ttyUSB3 at 'AT+QUIMSLOT?'
+ O='
+QUIMSLOT: 1

'
+ echo '
+QUIMSLOT: 1

'
+ + awkxargs -F
 '[:]' '/^\+QUIMSLOT/{print $2}'
+ T=1
+ '[' -n 1 ]
+ addon 11 Slot 1
+ '[' -n '{"idx":10,"key":"Temperature","value":"47 °C"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"47 °C"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"47 °C"},{"idx":11,"key":"Slot","value":"1"}'
+ '[' -z 0 ]
+ '[' x7 '=' x11 ]
+ '[' -z 0 ]
+ '[' x7 '=' x13 ]
+ '[' 0 '=' 1 ]
+ cat
+ exit 0

266

Odp: Pakiet luci-app-modemdata i co dalej..

It is supported, but for some reason your modem is not returning full information in CREG for LTE (and it should). So the scripts refuse to read any further data because they think the modem isn't fully connected/initialized.

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

267

Odp: Pakiet luci-app-modemdata i co dalej..

Cezary napisał/a:

It is supported, but for some reason your modem is not returning full information in CREG for LTE (and it should). So the scripts refuse to read any further data because they think the modem isn't fully connected/initialized.

Yes, it’s a curious issue because my connection is actually active and I can check my connected bands using manual AT commands. However, the plugin doesn't display certain data in both 3ginfo and modemdata. It’s not a major problem, I just wanted to drop this message for your information.

268

Odp: Pakiet luci-app-modemdata i co dalej..

Try this:

rm /usr/share/modemdata/params.sh
wget http://dl.eko.one.pl/test/params.sh -O /usr/share/modemdata/params.sh
chmod 755 /usr/share/modemdata/params.sh
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

269

Odp: Pakiet luci-app-modemdata i co dalej..

Cezary napisał/a:

Try this:

rm /usr/share/modemdata/params.sh
wget http://dl.eko.one.pl/test/params.sh -O /usr/share/modemdata/params.sh
chmod 755 /usr/share/modemdata/params.sh

I've tested it but the result remains the same. I can see the correct output in the AT command interface.

https://ibb.co/CsVFLYBL
https://ibb.co/8q7yJVp

270

Odp: Pakiet luci-app-modemdata i co dalej..

Show debug again.

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

271

Odp: Pakiet luci-app-modemdata i co dalej..

Cezary napisał/a:

Show debug again.


T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 6.18
S:  Manufacturer=Linux 6.18.36 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=11200000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=10000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.10 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 6.18
S:  Manufacturer=Linux 6.18.36 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=11200000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 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=RG501Q-EU
S:  SerialNumber=c44aef3a
C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=896mA
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= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan_q
E:  Ad=88(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

[
{
"vendor":"Quectel",
"product":"RG501Q-EU",
"revision":"RG501QEUAAR12A06M4G_SAGM",
"imei":"86343605167****",
"iccid":"8990029222021856****",
"imsi":"28602734906****"
}
,
{
"status": "CONNECTED",
"conn_time_sec": "70",
"rx": "1.0 MiB",
"tx": "21.5 MiB"
}
,
{
"csq":"31",
"signal":"100",
"operator_name":"vodafone TR",
"operator_mcc":"286",
"operator_mnc":"02",
"country":"Turkey",
"mode":"LTE",
"registration":"0",
"lac_dec":"0",
"lac_hex":"0",
"cid_dec":"0",
"cid_hex":"0",
"addon":[{"idx":10,"key":"Temperature","value":"52 °C"},{"idx":11,"key":"Slot","value":"1"}]
}
]
{
"vendor":"Quectel",
"product":"RG501Q-EU",
"revision":"RG501QEUAAR12A06M4G_SAGM",
"imei":"86343605167****",
"iccid":"8990029222021856****",
"imsi":"28602734906****"
}

+ DEVICE=/dev/ttyUSB3
+ '[' -n /dev/ttyUSB3 ]
+ '[' -e /dev/ttyUSB3 ]
+ RES=/usr/share/modemdata
+ . /usr/share/modemdata/libs/getdevicevendorproduct
+ getdevicevendorproduct /dev/ttyUSB3
+ basename /dev/ttyUSB3
+ devname=ttyUSB3
+ readlink -f /sys/class/tty/ttyUSB3/device
+ devpath=/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1:1.3/ttyUSB3
+ T=/sys/devices/platform/soc/11200000.usb/usb2/2-1
+ cat /sys/devices/platform/soc/11200000.usb/usb2/2-1/idVendor
+ cat /sys/devices/platform/soc/11200000.usb/usb2/2-1/idProduct
+ echo usb/2c7c0800
+ VIDPID=usb/2c7c0800
+ '[' -e /usr/share/modemdata/vendorproduct/usb/2c7c0800 ]
+ . /usr/share/modemdata/vendorproduct/generic
+ gcom -d /dev/ttyUSB3 -s /usr/share/modemdata/vendorproduct/vendorproduct.gcom
+ O='+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:86343605167****
+CIMI:28602734906****

+ICCID: 8990029222021856****'
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:86343605167****
+CIMI:28602734906****

+ICCID: 8990029222021856****'
+ awk '/CGMI:/{gsub(/.*CGMI[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=Quectel
+ '[' -n Quectel ]
+ VENDOR=Quectel
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:86343605167****
+CIMI:28602734906****

+ICCID: 8990029222021856****'
+ awk '/CGMM:/{gsub(/.*CGMM[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=RG501Q-EU
+ '[' -n RG501Q-EU ]
+ PRODUCT=RG501Q-EU
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:86343605167****
+CIMI:28602734906****

+ICCID: 8990029222021856****'
+ awk '/CGMR:/{gsub(/.*CGMR[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=RG501QEUAAR12A06M4G_SAGM
+ '[' -n RG501QEUAAR12A06M4G_SAGM ]
+ REVISION=RG501QEUAAR12A06M4G_SAGM
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:86343605167****
+CIMI:28602734906****

+ICCID: 8990029222021856****'
+ awk '/CGSN:/{gsub(/.*CGSN[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=86343605167****
+ '[' -n 86343605167**** ]
+ IMEI=86343605167****
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:86343605167****
+CIMI:28602734906****

+ICCID: 8990029222021856****'
+ awk '/CCID:/{gsub(/.*CCID[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=8990029222021856****
+ '[' -n 8990029222021856**** ]
+ ICCID=8990029222021856****
+ echo '+CGMI:Quectel
+CGMM:RG501Q-EU
+CGMR:RG501QEUAAR12A06M4G_SAGM
+CGSN:86343605167****
+CIMI:28602734906****

+ICCID: 8990029222021856****'
+ awk '/CIMI:/{gsub(/.*CIMI[ ]*:[ ]*/,"");gsub(/"/,"");print $0}'
+ T=28602734906****
+ '[' -n 28602734906**** ]
+ IMSI=28602734906****
+ cat
+ exit 0

{
"csq":"31",
"signal":"100",
"operator_name":"vodafone TR",
"operator_mcc":"286",
"operator_mnc":"02",
"country":"Turkey",
"mode":"LTE",
"registration":"0",
"lac_dec":"0",
"lac_hex":"0",
"cid_dec":"0",
"cid_hex":"0",
"addon":[{"idx":10,"key":"Temperature","value":"52 °C"},{"idx":11,"key":"Slot","value":"1"}]
}

+ DEVICE=/dev/ttyUSB3
+ '[' -z /dev/ttyUSB3 ]
+ '[' '!' -e /dev/ttyUSB3 ]
+ FORCE_PLMN=
+ '[' x '=' x1 ]
+ FORCE_PLMN=
+ RES=/usr/share/modemdata
+ sms_tool -D -d /dev/ttyUSB3 at 'AT+CSQ;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?;+CPIN?'
+ tr -d '\r'
+ O='
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ awk '-F[, ]' '/^\+(csq|CSQ)/ {print $2}'
+ CSQ=31
+ '[' -z 31 ]
+ '[' 31 -ge 0 ]
+ '[' 31 -le 31 ]
+ CSQ_PER=100
+ COUNTRY=
+ COPS=
+ COPS_MCC=
+ COPS_MNC=
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ awk '-F["]' '/^\+COPS:\s*.,2/ {print $2}'
+ COPS_NUM=28602
+ '[' -n 28602 ]
+ COPS_MCC=286
+ COPS_MNC=02
+ '[' -z  ]
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ awk '{if(NF==2 && tolower($1)==tolower($2)){print $1}else{print $0}}'
+ awk '-F["]' '/^\+COPS:\s*.,0/ {print $2}'
+ COPS='vodafone TR'
+ '[' -z 'vodafone TR' ]
+ '[' -n 28602 ]
+ awk '-F[;]' '/^28602;/ {print $2}' /usr/share/modemdata/libs/mccmnc.dat
+ COUNTRY=Turkey
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ busybox 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}'
+ eval 'T="0";LAC_HEX="0";CID_HEX="0";LAC_DEC="0";CID_DEC="0";MODE_NUM="0"'
+ T=0
+ LAC_HEX=0
+ CID_HEX=0
+ LAC_DEC=0
+ CID_DEC=0
+ MODE_NUM=0
+ REG=0
+ '[' -z 0 ]
+ '[' x0 '=' x0 ]
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ + awkxargs '-F[,]' '/^\+COPS/ {print $4;exit}'

+ MODE_NUM=7
+ MODE=LTE
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ awk '-F[, ]' '/^\+CME ERROR:/ {print $0;exit}'
+ T=
+ '[' -n  ]
+ echo '
+CSQ: 31,99

+COPS: 0,0,"vodafone TR",7

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

+CREG: 2,0

+CPIN: READY

OK'
+ + xargsawk
 '-F[, ]' '/^\+CPIN:/ {print $0;exit}'
+ T='+CPIN: READY'
+ '[' -n '+CPIN: READY' ]
+ '[' '+CPIN: READY' '=' '+CPIN: READY' ]
+ REGOK=0
+ '[' x0 '=' x1 ]
+ '[' x0 '=' x5 ]
+ '[' x0 '=' x6 ]
+ '[' x0 '=' x7 ]
+ . /usr/share/modemdata/libs/getdevicevendorproduct
+ getdevicevendorproduct /dev/ttyUSB3
+ basename /dev/ttyUSB3
+ devname=ttyUSB3
+ readlink -f /sys/class/tty/ttyUSB3/device
+ devpath=/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1:1.3/ttyUSB3
+ T=/sys/devices/platform/soc/11200000.usb/usb2/2-1
+ cat /sys/devices/platform/soc/11200000.usb/usb2/2-1/idVendor
+ cat /sys/devices/platform/soc/11200000.usb/usb2/2-1/idProduct
+ echo usb/2c7c0800
+ VIDPID=usb/2c7c0800
+ '[' -e /usr/share/modemdata/addon/usb/2c7c0800 ]
+ ADDON=
+ cat /tmp/sysinfo/board_name
+ . /usr/share/modemdata/addon/usb/2c7c0800
+ sms_tool -d /dev/ttyUSB3 at at+qtemp
+ O='
+QTEMP:"qfe_wtr_pa0","-273"
+QTEMP:"qfe_wtr_pa1","-273"
+QTEMP:"qfe_wtr_pa2","-273"
+QTEMP:"qfe_wtr_pa3","-273"
+QTEMP:"aoss0-usr","50"
+QTEMP:"mdm-q6-usr","50"
+QTEMP:"ipa-usr","52"
+QTEMP:"cpu0-a7-usr","51"
+QTEMP:"mdm-5g-usr","50"
+QTEMP:"mdm-vpe-usr","51"
+QTEMP:"mdm-core-usr","50"
+QTEMP:"xo-therm-usr","49"
+QTEMP:"sdx-case-therm-usr","50"
+QTEMP:"ambient-therm-usr","49"

'
+ echo '
+QTEMP:"qfe_wtr_pa0","-273"
+QTEMP:"qfe_wtr_pa1","-273"
+QTEMP:"qfe_wtr_pa2","-273"
+QTEMP:"qfe_wtr_pa3","-273"
+QTEMP:"aoss0-usr","50"
+QTEMP:"mdm-q6-usr","50"
+QTEMP:"ipa-usr","52"
+QTEMP:"cpu0-a7-usr","51"
+QTEMP:"mdm-5g-usr","50"
+QTEMP:"mdm-vpe-usr","51"
+QTEMP:"mdm-core-usr","50"
+QTEMP:"xo-therm-usr","49"
+QTEMP:"sdx-case-therm-usr","50"
+QTEMP:"ambient-therm-usr","49"

'
+ + awksort -r '-F[,:]' '/^\+QTEMP/ {print $3}'

+ head -n1
+ xargs
+ T=52
+ '[' -n 52 ]
+ addon 10 Temperature '52 °C'
+ '[' -n  ]
+ ADDON='{"idx":10,"key":"Temperature","value":"52 °C"}'
+ sms_tool -d /dev/ttyUSB3 at 'AT+QUIMSLOT?'
+ O='
+QUIMSLOT: 1

'
+ echo '
+QUIMSLOT: 1

'
+ + awkxargs -F
 '[:]' '/^\+QUIMSLOT/{print $2}'
+ T=1
+ '[' -n 1 ]
+ addon 11 Slot 1
+ '[' -n '{"idx":10,"key":"Temperature","value":"52 °C"}' ]
+ ADDON='{"idx":10,"key":"Temperature","value":"52 °C"},'
+ ADDON='{"idx":10,"key":"Temperature","value":"52 °C"},{"idx":11,"key":"Slot","value":"1"}'
+ '[' -z 0 ]
+ '[' x7 '=' x11 ]
+ '[' -z 0 ]
+ '[' x7 '=' x13 ]
+ '[' 0 '=' 1 ]
+ cat
+ exit 0

272

Odp: Pakiet luci-app-modemdata i co dalej..

Download and try again.

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

273

Odp: Pakiet luci-app-modemdata i co dalej..

Cezary napisał/a:

Download and try again.

fixed, thank you

https://ibb.co/65Vshc1

Kudos to your work! The cell ID isn't a must-have anyway smile

274

Odp: Pakiet luci-app-modemdata i co dalej..

Could you show me output of

sms_tool -d /dev/ttyUSB2 at "at+cereg=2;+cereg?"

Because maybe it can be done in a more elegant way.

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

275

Odp: Pakiet luci-app-modemdata i co dalej..

Cezary napisał/a:

Could you show me output of

sms_tool -d /dev/ttyUSB2 at "at+cereg=2;+cereg?"

Because maybe it can be done in a more elegant way.


https://ibb.co/R4TKsh4G

root@H5000M:~# sms_tool -d /dev/ttyUSB2 at "at+cereg=2;+cereg?"

+CEREG: 2,1,"A92F","1468F51",7

root@H5000M:~#