[GH-ISSUE #39] Fibocom L860-GL modem support #160

Closed
opened 2026-03-13 13:18:48 +03:00 by kerem · 54 comments
Owner

Originally created by @newdanceradio on GitHub (Feb 13, 2023).
Original GitHub issue: https://github.com/4IceG/luci-app-3ginfo-lite/issues/39

Hello dear 4IceG
Is it possible to add support for modem L860-GL
I have one, what information I need to send to add support for this modem ?

Originally created by @newdanceradio on GitHub (Feb 13, 2023). Original GitHub issue: https://github.com/4IceG/luci-app-3ginfo-lite/issues/39 Hello dear 4IceG Is it possible to add support for modem L860-GL I have one, what information I need to send to add support for this modem ?
kerem closed this issue 2026-03-13 13:18:53 +03:00
Author
Owner

@4IceG commented on GitHub (Feb 13, 2023):

Hi @newdanceradio , if you have a modem it's easier to add support. Now we just need good documentation, examples of at commands and time to adapt the data read from the modem to my package.

Show command result:

AT+CSQ?
AT+XCESQ?
AT+RSRP?
AT+RSRQ?
AT+RSCP?
AT+XLEC?
AT+MTSM=1
AT+XMCI=1
AT+GTPKGVER?
AT+CGMI
AT+GMM?
AT+CCID
AT+CIMI
AT+CGSN
<!-- gh-comment-id:1428159620 --> @4IceG commented on GitHub (Feb 13, 2023): Hi @newdanceradio , if you have a modem it's easier to add support. Now we just need good documentation, examples of at commands and time to adapt the data read from the modem to my package. Show command result: ``` AT+CSQ? AT+XCESQ? AT+RSRP? AT+RSRQ? AT+RSCP? AT+XLEC? AT+MTSM=1 AT+XMCI=1 AT+GTPKGVER? AT+CGMI AT+GMM? AT+CCID AT+CIMI AT+CGSN ```
Author
Owner

@newdanceradio commented on GitHub (Feb 14, 2023):

Thank you @4IceG for your reply.
Please, here will be output from AT commands


=============================
Output from AT+CSQ? command:
+CSQ: 15,6
OK
=============================

=================================================
Output from AT+XCESQ? command:
+XCESQ: 0,99,99,255,255,26,57,50,255,255,255,255
OK
=================================================

======================================================
Output from AT+RSRP? command:
+RSRP: 502,1820,-82.00,502,6200,-89.00,502,300,-98.00
OK
======================================================

=====================================================
Output from AT+RSRQ? command:
+RSRQ: 502,1820,-9.-50,502,6200,-10.00,502,300,-9.00
OK
=====================================================

===============================
Output from AT+RSCP? command:
OK
===============================

====================================
Output from AT+XLEC? command:
+XLEC: 0,3,5,3,5,BAND_LTE_3,0,0,0,0
OK
====================================

====================================
Output from AT+MTSM=1 command:
+MTSM: 51
OK
====================================

==========================================================================
Output from AT+XMCI=1 command:
+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C",
"0xFFFFFFFF",59,25,50,"0x00000017","0x00000000"
+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF",
"0xFFFFFFFF",52,21,255,"0x7FFFFFFF","0x00000000"
+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF",
"0xFFFFFFFF",43,24,255,"0x7FFFFFFF","0x00000000"
OK
===========================================================================

====================================================
Output from AT+GTPKGVER? command:
+GTPKGVER: "18600.5001.00.35.01.57_5026.01.001.005"
OK
====================================================

==============================================
Output from AT+CGMI command:
Fibocom
OK
==============================================

==============================================
Output from AT+GMM? command:
+GMM: "L860 LTE Module","L860"
OK
==============================================

==============================================
Output from AT+CCID command:
+CCID: 8937105220100124117F
OK
==============================================

==============================================
Output from AT+CIMI command:
247050102982906
OK
==============================================

=============================================
Output from AT+CGSN command:
352279100355589
OK
=============================================
<!-- gh-comment-id:1430310504 --> @newdanceradio commented on GitHub (Feb 14, 2023): Thank you @4IceG for your reply. Please, here will be output from AT commands ``` ============================= Output from AT+CSQ? command: +CSQ: 15,6 OK ============================= ================================================= Output from AT+XCESQ? command: +XCESQ: 0,99,99,255,255,26,57,50,255,255,255,255 OK ================================================= ====================================================== Output from AT+RSRP? command: +RSRP: 502,1820,-82.00,502,6200,-89.00,502,300,-98.00 OK ====================================================== ===================================================== Output from AT+RSRQ? command: +RSRQ: 502,1820,-9.-50,502,6200,-10.00,502,300,-9.00 OK ===================================================== =============================== Output from AT+RSCP? command: OK =============================== ==================================== Output from AT+XLEC? command: +XLEC: 0,3,5,3,5,BAND_LTE_3,0,0,0,0 OK ==================================== ==================================== Output from AT+MTSM=1 command: +MTSM: 51 OK ==================================== ========================================================================== Output from AT+XMCI=1 command: +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C", "0xFFFFFFFF",59,25,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF", "0xFFFFFFFF",52,21,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF", "0xFFFFFFFF",43,24,255,"0x7FFFFFFF","0x00000000" OK =========================================================================== ==================================================== Output from AT+GTPKGVER? command: +GTPKGVER: "18600.5001.00.35.01.57_5026.01.001.005" OK ==================================================== ============================================== Output from AT+CGMI command: Fibocom OK ============================================== ============================================== Output from AT+GMM? command: +GMM: "L860 LTE Module","L860" OK ============================================== ============================================== Output from AT+CCID command: +CCID: 8937105220100124117F OK ============================================== ============================================== Output from AT+CIMI command: 247050102982906 OK ============================================== ============================================= Output from AT+CGSN command: 352279100355589 OK ============================================= ```
Author
Owner

@4IceG commented on GitHub (Feb 14, 2023):

Hi @newdanceradio , thanks for sending commands. If the flu doesn't break me down more, I'll send you a version of the package with this modem on Monday (to test if it works properly).

We don't have an answer to all commands. I'll think what to do with it.
Regards.

<!-- gh-comment-id:1430408290 --> @4IceG commented on GitHub (Feb 14, 2023): Hi @newdanceradio , thanks for sending commands. If the flu doesn't break me down more, I'll send you a version of the package with this modem on Monday (to test if it works properly). We don't have an answer to all commands. I'll think what to do with it. Regards.
Author
Owner

@newdanceradio commented on GitHub (Feb 15, 2023):

Dear @4IceG, what exactly is missing, what kind of answers are not there? maybe on this modem i can see the necessary information using other commands?
when I entered the above commands, the modem was in aggregation of 3 direct channels, B1 (2100 Mhz, 20 Mhz bandwidth), B3 (1800 Mhz, 20 Mhz bandwidth), B20 (800 Mhz, 10 Mhz bandwidth)

<!-- gh-comment-id:1431439168 --> @newdanceradio commented on GitHub (Feb 15, 2023): Dear @4IceG, what exactly is missing, what kind of answers are not there? maybe on this modem i can see the necessary information using other commands? when I entered the above commands, the modem was in aggregation of 3 direct channels, B1 (2100 Mhz, 20 Mhz bandwidth), B3 (1800 Mhz, 20 Mhz bandwidth), B20 (800 Mhz, 10 Mhz bandwidth)
Author
Owner

@4IceG commented on GitHub (Feb 15, 2023):

Hi @newdanceradio ,
The command below returned nothing:
AT+RSCP?
this may mean that the value is shown in some other command.

It's nothing to worry about.

<!-- gh-comment-id:1432042956 --> @4IceG commented on GitHub (Feb 15, 2023): Hi @newdanceradio , The command below returned nothing: `AT+RSCP?` this may mean that the value is shown in some other command. It's nothing to worry about.
Author
Owner

@4IceG commented on GitHub (Feb 20, 2023):

Hi @newdanceradio
Please install the package from my repository (I haven't updated anything, it's still in an older version, but it's OK for testing).

After installation, copy to the router the two files that I sent to the folder
/usr/share/3ginfo-lite/3ginfo-addon/
l860gl.zip

<!-- gh-comment-id:1436524052 --> @4IceG commented on GitHub (Feb 20, 2023): Hi @newdanceradio Please install the package from my repository (I haven't updated anything, it's still in an older version, but it's OK for testing). After installation, copy to the router the two files that I sent to the folder `/usr/share/3ginfo-lite/3ginfo-addon/` [l860gl.zip](https://github.com/4IceG/luci-app-3ginfo-lite/files/10781936/l860gl.zip)
Author
Owner

@newdanceradio commented on GitHub (Feb 20, 2023):

Hi @newdanceradio Please install the package from my repository (I haven't updated anything, it's still in an older version, but it's OK for testing).

After installation, copy to the router the two files that I sent to the folder /usr/share/3ginfo-lite/3ginfo-addon/ l860gl.zip

Thank you @4IceG.
I have copied files, but after that, i have an error
image

<!-- gh-comment-id:1436586063 --> @newdanceradio commented on GitHub (Feb 20, 2023): > Hi @newdanceradio Please install the package from my repository (I haven't updated anything, it's still in an older version, but it's OK for testing). > > After installation, copy to the router the two files that I sent to the folder `/usr/share/3ginfo-lite/3ginfo-addon/` [l860gl.zip](https://github.com/4IceG/luci-app-3ginfo-lite/files/10781936/l860gl.zip) Thank you @4IceG. I have copied files, but after that, i have an error ![image](https://user-images.githubusercontent.com/17381301/220062282-41a7b918-553b-4dac-917e-71145a13149f.png)
Author
Owner

@4IceG commented on GitHub (Feb 20, 2023):

Well, it would be too nice if it worked right away..

@newdanceradio show the result of the commands

/usr/share/3ginfo-lite/3ginfo.sh
sh -x /usr/share/3ginfo-lite/3ginfo.sh

We'll see where the script has a problem.

<!-- gh-comment-id:1436624414 --> @4IceG commented on GitHub (Feb 20, 2023): Well, it would be too nice if it worked right away.. @newdanceradio show the result of the commands ``` /usr/share/3ginfo-lite/3ginfo.sh sh -x /usr/share/3ginfo-lite/3ginfo.sh ``` We'll see where the script has a problem.
Author
Owner

@newdanceradio commented on GitHub (Feb 20, 2023):

+ RES=/usr/share/3ginfo-lite
+ uci -q get '3ginfo.@3ginfo[0].device'
+ DEVICE=/dev/ttyACM2
+ '[' x/dev/ttyACM2 '=' x ]
+ echo /dev/ttyACM2
+ '[' x/dev/ttyACM2 '=' x ]
+ '[' x/dev/ttyACM2 '=' x ]
+ uci -q get '3ginfo.@3ginfo[0].network'
+ SECT=eth1
+ SUB=@
+ '[[' eth1 '==' '*@*' ]]
+ uci -q get '3ginfo.@3ginfo[0].network'
+ SEC=eth1
+ '[' -z eth1 ]
+ CONN_TIME=-
+ RX=-
+ TX=-
+ ifstatus eth1
+ grep '"up": true'
+ NETUP=
+ '[' -n  ]
+ sms_tool -D -d /dev/ttyACM2 at 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?'
+ O='AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ awk '-F[, ]' '/^\+CSQ/ {print $2}'
+ CSQ=5
+ '[' x5 '=' x ]
+ '[' 5 -ge 0 -a 5 -le 31 ]
+ CSQ_PER=16
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ awk '-F["]' '/^\+COPS: .,2/ {print $2}'
+ COPS_NUM=24705
+ '[' x24705 '=' x ]
+ COPS_MCCB=247
+ echo 247
+ tr '\n' ' '
+ sed 's/ //g'
+ COPS_MCC=247
+ COPS_MNCB=05
+ echo 05
+ tr '\n' ' '
+ sed 's/ //g'
+ COPS_MNC=05
+ awk '-F[;]' '/24705/ {print $2}' /usr/share/3ginfo-lite/mccmnc.dat
+ COPS=Bite
+ '[' xBite '=' x ]
+ '[' -z  ]
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ awk '-F["]' '/^\+COPS: .,0/ {print $2}'
+ T=BITE_LV
+ '[' xBITE_LV '!=' x ]
+ COPS=BITE_LV
+ echo BITE_LV
+ sed ':s;s/\(\<\S*\>\)\(.*\)\<\1\>/\1\2/g;ts'
+ COPZ=BITE_LV
+ echo BITE_LV
+ awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1'
+ COPS=BITE_LV
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

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

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

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

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ 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="6";LAC_HEX="D5";CID_HEX="20EB35";LAC_DEC="213";CID_DEC="2157365";MODE_NUM="7"'
+ T=6
+ LAC_HEX=D5
+ CID_HEX=20EB35
+ LAC_DEC=213
+ CID_DEC=2157365
+ MODE_NUM=7
+ REG=6
+ '[' -z 7 ]
+ '[' x7 '=' x0 ]
+ MODE=LTE
+ sms_tool -d /dev/ttyACM2 at at+cereg
' OTX='at+cereg
' echo 'at+cereg
+ awk '-F[,]' '/^\+CEREG/ {printf "%s", toupper($3)}'
+ sed 's/[^A-F0-9]//g'
+ TAC=
+ '[' x '!=' x ]
+ TAC=-
+ TAC_HEX=-
+ uci -q get '3ginfo.@3ginfo[0].device'
+ DEVICE=/dev/ttyACM2
+ echo x/dev/ttyACM2+ grep -q 192.168.

+ awk '/Vendor=/{gsub(/.*Vendor=| ProdID=| Rev.*/,"");print}' /sys/kernel/debug/usb/devices
+ sort -u
+ _DEVS='1d6b0002
1d6b0003
8087095a'
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0002 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0003 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/8087095a ]
+ cat /tmp/sysinfo/board_name
+ . /usr/share/3ginfo-lite/3ginfo-addon/8087095a
+ sms_tool -d /dev/ttyACM2 at 'at+xlec?;+rsrp;+rsrq;+xmci=1'
+ O='at+xlec?;+rsrp;+rsrq;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0
'
+ echo 'at+xlec?;+rsrp;+rsrq;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0
'
+ awk -F '[:_]' '/\+XLEC:/{gsub("\r",""); print $4}'
+ awk -F '[:,]' '{print $1}'
+ T=1
+ '[' -n 1 ]
+ band 1
+ echo 'B1  (2100 MHz)'
+ MODE='LTE B1  (2100 MHz)'
+ echo 'at+xlec?;+rsrp;+rsrq;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0
'
+ awk -F '[:,]' '/\+RSRP:/{printf "%.0f\n", $4}'
+ RSRP=
+ echo 'at+xlec?;+rsrp;+rsrq;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0
'
+ awk -F '[:,]' '/\+RSRQ:/{printf "%.0f\n", $4}'
+ RSRQ=
+ RSSI=-103
+ echo 'at+xlec?;+rsrp;+rsrq;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0
'
+ awk -F '[:,]' '/\+XMCI: 4/{gsub(/"/,""); printf "%.0f\n", $13/4+5}'
+ SINR=
+ echo 'at+xlec?;+rsrp;+rsrq;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0
'
+ awk -F '[:,]' '/\+XLEC:/{print $3}'
+ LTE_Cx=3
+ LTE_CA=2
3ginfo.sh: /usr/share/3ginfo-lite/3ginfo-addon/8087095a: line 242: syntax error: unterminated quoted string
<!-- gh-comment-id:1436635326 --> @newdanceradio commented on GitHub (Feb 20, 2023): ``` + RES=/usr/share/3ginfo-lite + uci -q get '3ginfo.@3ginfo[0].device' + DEVICE=/dev/ttyACM2 + '[' x/dev/ttyACM2 '=' x ] + echo /dev/ttyACM2 + '[' x/dev/ttyACM2 '=' x ] + '[' x/dev/ttyACM2 '=' x ] + uci -q get '3ginfo.@3ginfo[0].network' + SECT=eth1 + SUB=@ + '[[' eth1 '==' '*@*' ]] + uci -q get '3ginfo.@3ginfo[0].network' + SEC=eth1 + '[' -z eth1 ] + CONN_TIME=- + RX=- + TX=- + ifstatus eth1 + grep '"up": true' + NETUP= + '[' -n ] + sms_tool -D -d /dev/ttyACM2 at 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?' + O='AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F[, ]' '/^\+CSQ/ {print $2}' + CSQ=5 + '[' x5 '=' x ] + '[' 5 -ge 0 -a 5 -le 31 ] + CSQ_PER=16 + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F["]' '/^\+COPS: .,2/ {print $2}' + COPS_NUM=24705 + '[' x24705 '=' x ] + COPS_MCCB=247 + echo 247 + tr '\n' ' ' + sed 's/ //g' + COPS_MCC=247 + COPS_MNCB=05 + echo 05 + tr '\n' ' ' + sed 's/ //g' + COPS_MNC=05 + awk '-F[;]' '/24705/ {print $2}' /usr/share/3ginfo-lite/mccmnc.dat + COPS=Bite + '[' xBite '=' x ] + '[' -z ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F["]' '/^\+COPS: .,0/ {print $2}' + T=BITE_LV + '[' xBITE_LV '!=' x ] + COPS=BITE_LV + echo BITE_LV + sed ':s;s/\(\<\S*\>\)\(.*\)\<\1\>/\1\2/g;ts' + COPZ=BITE_LV + echo BITE_LV + awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' + COPS=BITE_LV + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F[, ]' '/^\+CPIN:/ {print $0;exit}' + xargs + T='+CPIN: READY' + '[' -n '+CPIN: READY' ] + '[' '+CPIN: READY' '=' '+CPIN: READY' ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F[, ]' '/^\+CME ERROR:/ {print $0;exit}' + T= + '[' -n ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + 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="6";LAC_HEX="D5";CID_HEX="20EB35";LAC_DEC="213";CID_DEC="2157365";MODE_NUM="7"' + T=6 + LAC_HEX=D5 + CID_HEX=20EB35 + LAC_DEC=213 + CID_DEC=2157365 + MODE_NUM=7 + REG=6 + '[' -z 7 ] + '[' x7 '=' x0 ] + MODE=LTE + sms_tool -d /dev/ttyACM2 at at+cereg ' OTX='at+cereg ' echo 'at+cereg + awk '-F[,]' '/^\+CEREG/ {printf "%s", toupper($3)}' + sed 's/[^A-F0-9]//g' + TAC= + '[' x '!=' x ] + TAC=- + TAC_HEX=- + uci -q get '3ginfo.@3ginfo[0].device' + DEVICE=/dev/ttyACM2 + echo x/dev/ttyACM2+ grep -q 192.168. + awk '/Vendor=/{gsub(/.*Vendor=| ProdID=| Rev.*/,"");print}' /sys/kernel/debug/usb/devices + sort -u + _DEVS='1d6b0002 1d6b0003 8087095a' + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0002 ] + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0003 ] + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/8087095a ] + cat /tmp/sysinfo/board_name + . /usr/share/3ginfo-lite/3ginfo-addon/8087095a + sms_tool -d /dev/ttyACM2 at 'at+xlec?;+rsrp;+rsrq;+xmci=1' + O='at+xlec?;+rsrp;+rsrq;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0 ' + echo 'at+xlec?;+rsrp;+rsrq;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0 ' + awk -F '[:_]' '/\+XLEC:/{gsub("\r",""); print $4}' + awk -F '[:,]' '{print $1}' + T=1 + '[' -n 1 ] + band 1 + echo 'B1 (2100 MHz)' + MODE='LTE B1 (2100 MHz)' + echo 'at+xlec?;+rsrp;+rsrq;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0 ' + awk -F '[:,]' '/\+RSRP:/{printf "%.0f\n", $4}' + RSRP= + echo 'at+xlec?;+rsrp;+rsrq;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0 ' + awk -F '[:,]' '/\+RSRQ:/{printf "%.0f\n", $4}' + RSRQ= + RSSI=-103 + echo 'at+xlec?;+rsrp;+rsrq;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0 ' + awk -F '[:,]' '/\+XMCI: 4/{gsub(/"/,""); printf "%.0f\n", $13/4+5}' + SINR= + echo 'at+xlec?;+rsrp;+rsrq;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,3,20,0,0 ' + awk -F '[:,]' '/\+XLEC:/{print $3}' + LTE_Cx=3 + LTE_CA=2 3ginfo.sh: /usr/share/3ginfo-lite/3ginfo-addon/8087095a: line 242: syntax error: unterminated quoted string ```
Author
Owner

@4IceG commented on GitHub (Feb 20, 2023):

Ok, I found two bugs. I corrected the file for replacement.
808707f9.zip

<!-- gh-comment-id:1436650855 --> @4IceG commented on GitHub (Feb 20, 2023): Ok, I found two bugs. I corrected the file for replacement. [808707f9.zip](https://github.com/4IceG/luci-app-3ginfo-lite/files/10783052/808707f9.zip)
Author
Owner

@newdanceradio commented on GitHub (Feb 20, 2023):

Replaced the file, but, error is the same.

+ RES=/usr/share/3ginfo-lite
+ uci -q get '3ginfo.@3ginfo[0].device'
+ DEVICE=/dev/ttyACM2
+ '[' x/dev/ttyACM2 '=' x ]
+ echo /dev/ttyACM2
+ '[' x/dev/ttyACM2 '=' x ]
+ '[' x/dev/ttyACM2 '=' x ]
+ uci -q get '3ginfo.@3ginfo[0].network'
+ SECT=wan
+ SUB=@
+ '[[' wan '==' '*@*' ]]
+ uci -q get '3ginfo.@3ginfo[0].network'
+ SEC=wan
+ '[' -z wan ]
+ CONN_TIME=-
+ RX=-
+ TX=-
+ ifstatus wan
+ grep '"up": true'
+ NETUP='       "up": true,'
+ '[' -n '      "up": true,' ]
+ uci -q -P /var/state/ get network.wan.connect_time
+ CT=
+ '[' -z ]
+ ifstatus wan
+ awk '-F[:,]' '/uptime/ {print $2}'
+ xargs
+ CT=2139
+ '[' '!' -z 2139 ]
+ expr 2139 / 60 / 60 / 24
+ D=0
+ expr 2139 / 60 / 60 '%' 24
+ H=0
+ expr 2139 / 60 '%' 60
+ M=35
+ expr 2139 '%' 60
+ S=39
+ printf '%dd, %02d:%02d:%02d' 0 0 35 39
+ CONN_TIME='0d, 00:35:39'
+ ifstatus wan
+ awk '-F"' '/l3_device/ {print $4}'
+ IFACE=wan
+ '[' -n wan ]
+ ifconfig wan
+ awk '-F[()]' '/bytes/ {printf "%s",$2}'
+ RX='1.1 MiB'
+ ifconfig wan
+ awk '-F[()]' '/bytes/ {printf "%s",$4}'
+ TX='325.8 KiB'
+ sms_tool -D -d /dev/ttyACM2 at 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?'
+ O='AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ awk '-F[, ]' '/^\+CSQ/ {print $2}'
+ CSQ=5
+ '[' x5 '=' x ]
+ '[' 5 -ge 0 -a 5 -le 31 ]
+ CSQ_PER=16
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ awk '-F["]' '/^\+COPS: .,2/ {print $2}'
+ COPS_NUM=24705
+ '[' x24705 '=' x ]
+ COPS_MCCB=247
+ echo 247
+ tr '\n' ' '
+ sed 's/ //g'
+ COPS_MCC=247
+ COPS_MNCB=05
+ echo 05
+ tr '\n' ' '
+ sed 's/ //g'
+ COPS_MNC=05
+ awk '-F[;]' '/24705/ {print $2}' /usr/share/3ginfo-lite/mccmnc.dat
+ COPS=Bite
+ '[' xBite '=' x ]
+ '[' -z  ]
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ awk '-F["]' '/^\+COPS: .,0/ {print $2}'
+ T=BITE_LV
+ '[' xBITE_LV '!=' x ]
+ COPS=BITE_LV
+ echo BITE_LV
+ sed ':s;s/\(\<\S*\>\)\(.*\)\<\1\>/\1\2/g;ts'
+ COPZ=BITE_LV
+ echo BITE_LV
+ awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1'
+ COPS=BITE_LV
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 5,6

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

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

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

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

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB35",7

'K
+ 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="6";LAC_HEX="D5";CID_HEX="20EB35";LAC_DEC="213";CID_DEC="2157365";MODE_NUM="7"'
+ T=6
+ LAC_HEX=D5
+ CID_HEX=20EB35
+ LAC_DEC=213
+ CID_DEC=2157365
+ MODE_NUM=7
+ REG=6
+ '[' -z 7 ]
+ '[' x7 '=' x0 ]
+ MODE=LTE
+ sms_tool -d /dev/ttyACM2 at at+cereg
' OTX='at+cereg
' echo 'at+cereg
+ awk '-F[,]' '/^\+CEREG/ {printf "%s", toupper($3)}'
+ sed 's/[^A-F0-9]//g'
+ TAC=
+ '[' x '!=' x ]
+ TAC=-
+ TAC_HEX=-
+ uci -q get '3ginfo.@3ginfo[0].device'
+ DEVICE=/dev/ttyACM2
+ echo x/dev/ttyACM2
+ grep -q 192.168.
+ awk '/Vendor=/{gsub(/.*Vendor=| ProdID=| Rev.*/,"");print}' /sys/kernel/debug/usb/devices
+ sort -u
+ _DEVS='1d6b0002
1d6b0003
8087095a'
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0002 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0003 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/8087095a ]
+ cat /tmp/sysinfo/board_name
+ . /usr/share/3ginfo-lite/3ginfo-addon/8087095a
+ sms_tool -d /dev/ttyACM2 at 'at+xlec?;+rsrp?;+rsrq?;+xmci=1'
+ O='at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0

+RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00


+RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00


+XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000"
'
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0

+RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00


+RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00


+XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:_]' '/\+XLEC:/{gsub("\r",""); print $4}'
+ awk -F '[:,]' '{print $1}'
+ T=1
+ '[' -n 1 ]
+ band 1
+ echo 'B1  (2100 MHz)'
+ MODE='LTE B1  (2100 MHz)'
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0

+RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00


+RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00


+XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+RSRP:/{printf "%.0f\n", $4}'
+ RSRP=-103
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0

+RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00


+RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00


+XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+RSRQ:/{printf "%.0f\n", $4}'
+ RSRQ=-7
+ RSSI=-103
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0

+RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00


+RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00


+XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+XMCI: 4/{gsub(/"/,""); printf "%.0f\n", $13/4+5}'
+ SINR=14
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0

+RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00


+RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00


+XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+XLEC:/{print $3}'
+ LTE_Cx=3
+ LTE_CA=2
3ginfo.sh: /usr/share/3ginfo-lite/3ginfo-addon/8087095a: line 242: syntax error: unterminated quoted string
<!-- gh-comment-id:1436667546 --> @newdanceradio commented on GitHub (Feb 20, 2023): Replaced the file, but, error is the same. ``` + RES=/usr/share/3ginfo-lite + uci -q get '3ginfo.@3ginfo[0].device' + DEVICE=/dev/ttyACM2 + '[' x/dev/ttyACM2 '=' x ] + echo /dev/ttyACM2 + '[' x/dev/ttyACM2 '=' x ] + '[' x/dev/ttyACM2 '=' x ] + uci -q get '3ginfo.@3ginfo[0].network' + SECT=wan + SUB=@ + '[[' wan '==' '*@*' ]] + uci -q get '3ginfo.@3ginfo[0].network' + SEC=wan + '[' -z wan ] + CONN_TIME=- + RX=- + TX=- + ifstatus wan + grep '"up": true' + NETUP=' "up": true,' + '[' -n ' "up": true,' ] + uci -q -P /var/state/ get network.wan.connect_time + CT= + '[' -z ] + ifstatus wan + awk '-F[:,]' '/uptime/ {print $2}' + xargs + CT=2139 + '[' '!' -z 2139 ] + expr 2139 / 60 / 60 / 24 + D=0 + expr 2139 / 60 / 60 '%' 24 + H=0 + expr 2139 / 60 '%' 60 + M=35 + expr 2139 '%' 60 + S=39 + printf '%dd, %02d:%02d:%02d' 0 0 35 39 + CONN_TIME='0d, 00:35:39' + ifstatus wan + awk '-F"' '/l3_device/ {print $4}' + IFACE=wan + '[' -n wan ] + ifconfig wan + awk '-F[()]' '/bytes/ {printf "%s",$2}' + RX='1.1 MiB' + ifconfig wan + awk '-F[()]' '/bytes/ {printf "%s",$4}' + TX='325.8 KiB' + sms_tool -D -d /dev/ttyACM2 at 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?' + O='AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F[, ]' '/^\+CSQ/ {print $2}' + CSQ=5 + '[' x5 '=' x ] + '[' 5 -ge 0 -a 5 -le 31 ] + CSQ_PER=16 + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F["]' '/^\+COPS: .,2/ {print $2}' + COPS_NUM=24705 + '[' x24705 '=' x ] + COPS_MCCB=247 + echo 247 + tr '\n' ' ' + sed 's/ //g' + COPS_MCC=247 + COPS_MNCB=05 + echo 05 + tr '\n' ' ' + sed 's/ //g' + COPS_MNC=05 + awk '-F[;]' '/24705/ {print $2}' /usr/share/3ginfo-lite/mccmnc.dat + COPS=Bite + '[' xBite '=' x ] + '[' -z ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F["]' '/^\+COPS: .,0/ {print $2}' + T=BITE_LV + '[' xBITE_LV '!=' x ] + COPS=BITE_LV + echo BITE_LV + sed ':s;s/\(\<\S*\>\)\(.*\)\<\1\>/\1\2/g;ts' + COPZ=BITE_LV + echo BITE_LV + awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' + COPS=BITE_LV + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F[, ]' '/^\+CPIN:/ {print $0;exit}' + xargs + T='+CPIN: READY' + '[' -n '+CPIN: READY' ] + '[' '+CPIN: READY' '=' '+CPIN: READY' ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + awk '-F[, ]' '/^\+CME ERROR:/ {print $0;exit}' + T= + '[' -n ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 5,6 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB35",7 'K + 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="6";LAC_HEX="D5";CID_HEX="20EB35";LAC_DEC="213";CID_DEC="2157365";MODE_NUM="7"' + T=6 + LAC_HEX=D5 + CID_HEX=20EB35 + LAC_DEC=213 + CID_DEC=2157365 + MODE_NUM=7 + REG=6 + '[' -z 7 ] + '[' x7 '=' x0 ] + MODE=LTE + sms_tool -d /dev/ttyACM2 at at+cereg ' OTX='at+cereg ' echo 'at+cereg + awk '-F[,]' '/^\+CEREG/ {printf "%s", toupper($3)}' + sed 's/[^A-F0-9]//g' + TAC= + '[' x '!=' x ] + TAC=- + TAC_HEX=- + uci -q get '3ginfo.@3ginfo[0].device' + DEVICE=/dev/ttyACM2 + echo x/dev/ttyACM2 + grep -q 192.168. + awk '/Vendor=/{gsub(/.*Vendor=| ProdID=| Rev.*/,"");print}' /sys/kernel/debug/usb/devices + sort -u + _DEVS='1d6b0002 1d6b0003 8087095a' + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0002 ] + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0003 ] + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/8087095a ] + cat /tmp/sysinfo/board_name + . /usr/share/3ginfo-lite/3ginfo-addon/8087095a + sms_tool -d /dev/ttyACM2 at 'at+xlec?;+rsrp?;+rsrq?;+xmci=1' + O='at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0 +RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00 +RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00 +XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000" ' + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0 +RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00 +RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00 +XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:_]' '/\+XLEC:/{gsub("\r",""); print $4}' + awk -F '[:,]' '{print $1}' + T=1 + '[' -n 1 ] + band 1 + echo 'B1 (2100 MHz)' + MODE='LTE B1 (2100 MHz)' + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0 +RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00 +RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00 +XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+RSRP:/{printf "%.0f\n", $4}' + RSRP=-103 + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0 +RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00 +RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00 +XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+RSRQ:/{printf "%.0f\n", $4}' + RSRQ=-7 + RSSI=-103 + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0 +RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00 +RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00 +XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+XMCI: 4/{gsub(/"/,""); printf "%.0f\n", $13/4+5}' + SINR=14 + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,5,3,BAND_LTE_1,0,0,0,0 +RSRP: 502,300,-103.00,502,1820,-84.00,502,6200,-90.00,248,300,-124.00 +RSRQ: 502,300,-7.-50,502,1820,-7.00,502,6200,-9.-50,248,300,-20.00 +XMCI: 4,247,05,"0x00D5","0x0020EB35","0x01F6","0x0000012C","0x0000477C","0xFFFFFFFF",37,26,34,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000071C","0xFFFFFFFF","0xFFFFFFFF",57,26,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,25,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x00F8","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",17,0,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+XLEC:/{print $3}' + LTE_Cx=3 + LTE_CA=2 3ginfo.sh: /usr/share/3ginfo-lite/3ginfo-addon/8087095a: line 242: syntax error: unterminated quoted string ```
Author
Owner

@4IceG commented on GitHub (Feb 20, 2023):

The script shows more and now there is another error, but unfortunately it's still an error and has a problem showing the data. I'll check it.

<!-- gh-comment-id:1436688192 --> @4IceG commented on GitHub (Feb 20, 2023): The script shows more and now there is another error, but unfortunately it's still an error and has a problem showing the data. I'll check it.
Author
Owner

@4IceG commented on GitHub (Feb 20, 2023):

Ok, It should work now.

808707f9.zip

<!-- gh-comment-id:1436731620 --> @4IceG commented on GitHub (Feb 20, 2023): Ok, It should work now. [808707f9.zip](https://github.com/4IceG/luci-app-3ginfo-lite/files/10783567/808707f9.zip)
Author
Owner

@newdanceradio commented on GitHub (Feb 20, 2023):

Thank you @4IceG, almost done.

here is visible at commands
image

Also i don't have band B2
image
I have band B20 (800 Mhz)

image

<!-- gh-comment-id:1436823382 --> @newdanceradio commented on GitHub (Feb 20, 2023): Thank you @4IceG, almost done. here is visible at commands ![image](https://user-images.githubusercontent.com/17381301/220095889-11d442b6-92e4-4d34-adeb-56f5ab137f50.png) Also i don't have band B2 ![image](https://user-images.githubusercontent.com/17381301/220096042-60a9c87b-91ec-486c-b421-ef4ea36f8928.png) I have band B20 (800 Mhz) ![image](https://user-images.githubusercontent.com/17381301/220096244-c926fef2-fb3c-414b-8788-346444a042fa.png)
Author
Owner

@newdanceradio commented on GitHub (Feb 20, 2023):

Also here is visible at command
image
And there is no firmware version
also protocol is missing

<!-- gh-comment-id:1436828691 --> @newdanceradio commented on GitHub (Feb 20, 2023): Also here is visible at command ![image](https://user-images.githubusercontent.com/17381301/220096762-7f23ec82-ca9b-4d49-bad5-1c110e2fbc68.png) And there is no firmware version also protocol is missing
Author
Owner

@4IceG commented on GitHub (Feb 20, 2023):

You must have sent me inaccurate command outputs in the beginning, because I wrote data slicing scripts for them.

OK, show me the result of the commands, I'll fix it to this output.

sh -x /usr/share/3ginfo-lite/3ginfo.sh
cat /sys/kernel/debug/usb/devices
<!-- gh-comment-id:1436861502 --> @4IceG commented on GitHub (Feb 20, 2023): You must have sent me inaccurate command outputs in the beginning, because I wrote data slicing scripts for them. OK, show me the result of the commands, I'll fix it to this output. ``` sh -x /usr/share/3ginfo-lite/3ginfo.sh cat /sys/kernel/debug/usb/devices ```
Author
Owner

@newdanceradio commented on GitHub (Feb 20, 2023):

Here is 3ginfo.sh output:

root@OpenWrt:/usr/share/3ginfo-lite# sh -x 3ginfo.sh
+ RES=/usr/share/3ginfo-lite
+ uci -q get '3ginfo.@3ginfo[0].device'
+ DEVICE=/dev/ttyACM2
+ '[' x/dev/ttyACM2 '=' x ]
+ echo /dev/ttyACM2
+ '[' x/dev/ttyACM2 '=' x ]
+ '[' x/dev/ttyACM2 '=' x ]
+ uci -q get '3ginfo.@3ginfo[0].network'
+ SECT=ppp0
+ SUB=@
+ '[[' ppp0 '==' '*@*' ]]
+ uci -q get '3ginfo.@3ginfo[0].network'
+ SEC=ppp0
+ '[' -z ppp0 ]
+ CONN_TIME=-
+ RX=-
+ TX=-
+ ifstatus ppp0
+ grep '"up": true'
+ NETUP=
+ '[' -n  ]
+ sms_tool -D -d /dev/ttyACM2 at 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?'
+ O='AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 15,5

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB17",7

'K
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 15,5

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB17",7

'K
+ awk '-F[, ]' '/^\+CSQ/ {print $2}'
+ CSQ=15
+ '[' x15 '=' x ]
+ '[' 15 -ge 0 -a 15 -le 31 ]
+ CSQ_PER=48
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 15,5

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB17",7

'K
+ awk '-F["]' '/^\+COPS: .,2/ {print $2}'
+ COPS_NUM=24705
+ '[' x24705 '=' x ]
+ COPS_MCCB=247
+ echo 247
+ tr '\n' ' '
+ sed 's/ //g'
+ COPS_MCC=247
+ COPS_MNCB=05
+ echo 05
+ tr '\n' ' '
+ sed 's/ //g'
+ COPS_MNC=05
+ awk '-F[;]' '/24705/ {print $2}' /usr/share/3ginfo-lite/mccmnc.dat
+ COPS=Bite
+ '[' xBite '=' x ]
+ '[' -z  ]
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 15,5

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB17",7

'K
+ awk '-F["]' '/^\+COPS: .,0/ {print $2}'
+ T=BITE_LV
+ '[' xBITE_LV '!=' x ]
+ COPS=BITE_LV
+ echo BITE_LV
+ sed ':s;s/\(\<\S*\>\)\(.*\)\<\1\>/\1\2/g;ts'
+ COPZ=BITE_LV
+ echo BITE_LV
+ awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1'
+ COPS=BITE_LV
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 15,5

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB17",7

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

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB17",7

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

+CPIN: READY

+COPS: 0,0,"BITE_LV",7

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

+CREG: 2,6,"00D5","0020EB17",7

'K
+ 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="6";LAC_HEX="D5";CID_HEX="20EB17";LAC_DEC="213";CID_DEC="2157335";MODE_NUM="7"'
+ T=6
+ LAC_HEX=D5
+ CID_HEX=20EB17
+ LAC_DEC=213
+ CID_DEC=2157335
+ MODE_NUM=7
+ REG=6
+ '[' -z 7 ]
+ '[' x7 '=' x0 ]
+ MODE=LTE
+ sms_tool -d /dev/ttyACM2 at at+cereg
' OTX='at+cereg
' echo 'at+cereg
+ + sedawk 's/[^A-F0-9]//g'
 '-F[,]' '/^\+CEREG/ {printf "%s", toupper($3)}'
+ TAC=
+ '[' x '!=' x ]
+ TAC=-
+ TAC_HEX=-
+ uci -q get '3ginfo.@3ginfo[0].device'
+ DEVICE=/dev/ttyACM2
+ echo x/dev/ttyACM2
+ grep -q 192.168.
+ awk '/Vendor=/{gsub(/.*Vendor=| ProdID=| Rev.*/,"");print}' /sys/kernel/debug/usb/devices
+ sort -u
+ _DEVS='1d6b0002
1d6b0003
8087095a'
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0002 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0003 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/8087095a ]
+ cat /tmp/sysinfo/board_name
+ . /usr/share/3ginfo-lite/3ginfo-addon/8087095a
+ sms_tool -d /dev/ttyACM2 at 'at+xlec?;+rsrp?;+rsrq?;+xmci=1'
+ O='at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:_]' '/\+XLEC:/{gsub("\r",""); print $4}'
+ awk -F '[:,]' '{print $1}'
+ T=3
+ '[' -n 3 ]
+ band 3
+ echo 'B3  (1800 MHz)'
+ MODE='LTE B3  (1800 MHz)'
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+RSRP:/{printf "%.0f\n", $4}'
+ RSRP=-85
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+RSRQ:/{printf "%.0f\n", $4}'
+ RSRQ=-7
+ RSSI=-83
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+XMCI: 4/{gsub(/"/,""); printf "%.0f\n", $13/4+5}'
+ SINR=18
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+XLEC:/{print $3}'
+ LTE_Cx=3
+ LTE_CA=2
+ '[' -n LTE_CA ]
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+RSRP:/{print $6" "$9}'
+ CAx='6200 300'
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+XLEC:/{gsub("\r",""); print $4" "$5" "$6}'
+ BWCx='5 3 5'
+ CA_BAND=
+ convertband 6200
+ band 2
+ echo 'B2  (1900 MHz)'
+ BAND='B2  (1900 MHz)'
+ CA_BAND=' / B2  (1900 MHz)'
+ CABANDx=,2
+ convertband 300
+ band 1
+ echo 'B1  (2100 MHz)'
+ BAND='B1  (2100 MHz)'
+ CA_BAND=' / B2  (1900 MHz) / B1  (2100 MHz)'
+ CABANDx=,2,1
+ band 3
+ echo 'B3  (1800 MHz)'
+ MODE='LTE-A | B3  (1800 MHz) / B2  (1900 MHz) / B1  (2100 MHz)'
+ echo ,2,1
+ awk -F+ sed '[,]' 's/ //g'
 '/\,/{print $2" "}'
+ S1=2
+ echo ,2,1
+ awk -F+ sed 's/ //g'
 '[,]' '/\,/{print $3" "}'
+ S2=1
+ echo ,2,1
+ + sedawk -F 's/ //g'
 '[,]' '/\,/{print $4" "}'
+ S3=
+ echo ,2,1
+ awk -F '[,]' '/\,/{print $5" "}'
+ sed 's/ //g'
+ S4=
+ BWCA=0
+ BWCA_INFO=
+ T5=20
+ BWCA=20
+ '[[' -z ]]
+ BWCA_INFO=20
+ T5=10
+ BWCA=30
+ '[[' -z 20 ]]
+ BWCA_INFO=20,10
+ T5=20
+ BWCA=50
+ '[[' -z 20,10 ]]
+ BWCA_INFO=20,10,20
+ echo 20,10,20
+ awk -F '[,]' '/\,/{print $2" "}'
+ BW1='10 '
+ echo 20,10,20
+ awk -F '[,]' '/\,/{print $3" "}'
+ BW2='20 '
+ echo 20,10,20
+ awk -F '[,]' '/\,/{print $4" "}'
+ BW3=' '
+ echo 20,10,20
+ awk -F '[,]' '/\,/{print $5" "}'
+ BW4=' '
+ echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

+RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00


+RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00


+XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000"

+XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000"
'
+ awk -F '[:,]' '/\+XLEC:/{gsub("\r",""); print $4" "}'
+ T2='5 '
+ T4=20
+ '[' -n 20 ]
+ band 3
+ echo 'B3  (1800 MHz)'
+ PBAND='B3  (1800 MHz) @20 MHz'
+ '[' -n 2 ]
+ band 2
+ echo 'B2  (1900 MHz)'
+ S1BAND='B2  (1900 MHz) @10  MHz'
+ '[' -n 1 ]
+ band 1
+ echo 'B1  (2100 MHz)'
+ S2BAND='B1  (2100 MHz) @20  MHz'
+ '[' -n  ]
+ '[' -n  ]
+ '[[' 'LTE-A | B3  (1800 MHz) / B2  (1900 MHz) / B1  (2100 MHz)' '!=' '*LTE-A*' ]]
+ echo LTE-A '|' B3 '(1800' 'MHz)' / B2 '(1900' 'MHz)' / B1 '(2100' 'MHz)'
+ sed s,/,+,
+ MODE='LTE-A | B3 (1800 MHz) + B2 (1900 MHz) / B1 (2100 MHz)'
+ sms_tool -d /dev/ttyACM2 at 'AT+GTPKGVER?'
+ xargs
+ FWA='AT+GTPKGVER? +GTPKGVER: 18600.5001.00.35.01.57_5026.01.001.005'
+ echo 'AT+GTPKGVER? +GTPKGVER: 18600.5001.00.35.01.57_5026.01.001.005'
+ awk '-F[,:]' '/^\+GTPKGVER:/ {print $2}'
+ xargs
+ FW=
+ sms_tool -d /dev/ttyACM2 at 'AT+GMM?'
+ xargs
+ MDL='AT+GMM? +GMM: L860 LTE Module,L860'
+ echo 'AT+GMM? +GMM: L860 LTE Module,L860'
+ cut -d : -f2
+ cut+ awk '-F"' '{print $2}'
 -d , -f1
+ MODELM=
+ sms_tool -d /dev/ttyACM2 at AT+CGMI
+ xargs
+ MODELF='AT+CGMI Fibocom'
+ echo
+ sed s/OK//
+ MODELMCUT=
+ echo AT+CGMI Fibocom
+ sed s/OK//
+ MODELFCUT='AT+CGMI Fibocom'
+ MODEL='AT+CGMI Fibocom '
+ sms_tool -d /dev/ttyACM2 at 'AT+MTSM=1'
+ xargs
+ TC='AT+MTSM=1 +MTSM: 29'
+ echo 'AT+MTSM=1 +MTSM: 29'
+ awk '-F[:,]' '/\+MTSM:/{print $2}'
+ T=' 29'
+ '[' -n ' 29' ]
+ TEMP=' 29 &deg;C'
+ sms_tool -d /dev/ttyACM2 at AT+CGSN
+ xargs
+ O='AT+CGSN 352279100355589'
+ echo 'AT+CGSN 352279100355589'
+ sed s/OK//
+ NR_I='AT+CGSN 352279100355589'
+ '[' -n 'AT+CGSN 352279100355589' ]
+ NR_IMEI='AT+CGSN 352279100355589'
+ sms_tool -d /dev/ttyACM2 at AT+CIMI
+ xargs
+ O='AT+CIMI 247050102982906'
+ echo 'AT+CIMI 247050102982906'
+ sed s/OK//
+ NR_C='AT+CIMI 247050102982906'
+ '[' -n 'AT+CIMI 247050102982906' ]
+ NR_IMSI='AT+CIMI 247050102982906'
+ sms_tool -d /dev/ttyACM2 at AT+CCID
+ O='AT+CCID
+CCID: 8937105220100124117F
'
+ echo 'AT+CCID
+CCID: 8937105220100124117F
'
+ awk -F '[:]' '/^\+CCID: /{print $2}'
+ xargs
+ NR_D=8937105220100124117F
+ '[' -n 8937105220100124117F ]
+ NR_ICCID=8937105220100124117F
+ cat /sys/kernel/debug/usb/devices
+ PV='
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
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= 5.10
S:  Manufacturer=Linux 5.10.161 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
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=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=095a Rev= 3.50
S:  Manufacturer=Intel Corp.
S:  Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS
S:  SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000
C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA
A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
A:  FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
A:  FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
A:  FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
A:  FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=87(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#= 7 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=89(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=8b(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=00 Driver=(none)
E:  Ad=8d(I) Atr=03(Int.) MxPS=   4 Ivl=125us

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 5.10
S:  Manufacturer=Linux 5.10.161 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
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'
+ awk -F 'Vendor=8087 ProdID=07f9' '{print $2}'
+ cut -c-1220
+ echo T: 'Bus=01' 'Lev=00' 'Prnt=00' 'Port=00' 'Cnt=00' 'Dev#=' 1 'Spd=480' 'MxCh=' 2 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=' 5.10 S: 'Manufacturer=Linux' 5.10.161 xhci-hcd S: 'Product=xHCI' Host Controller S: 'SerialNumber=1e1c0000.xhci' '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=01' 'Lev=01' 'Prnt=01' 'Port=01' 'Cnt=01' 'Dev#=' 2 'Spd=480' 'MxCh=' 0 D: 'Ver=' 2.10 'Cls=ef(misc' ')' 'Sub=02' 'Prot=01' 'MxPS=64' '#Cfgs=' 1 P: 'Vendor=8087' 'ProdID=095a' 'Rev=' 3.50 S: 'Manufacturer=Intel' Corp. S: 'Product=MODEM' + 2 CDC-ACM + 3 CDC-NCM + SS S: 'SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000' 'C:*' '#Ifs=13' 'Cfg#=' 1 'Atr=e0' 'MxPwr=100mA' A: 'FirstIf#=' 0 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=01' A: 'FirstIf#=' 2 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=00' A: 'FirstIf#=' 4 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=00' A: 'FirstIf#=' 6 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' A: 'FirstIf#=' 8 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' A: 'FirstIf#=10' 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'I:*' 'If#=' 0 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=01' 'Driver=cdc_acm' E: 'Ad=81(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 1 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=82(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=02(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 2 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=83(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 3 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=84(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=04(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 4 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=85(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 5 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=86(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=06(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 6 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=87(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=' 7 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=' 7 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=88(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=08(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 8 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=89(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=' 9 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=' 9 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=8a(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=0a(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=10' 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=8b(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=11' 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=11' 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=8c(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=0c(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=12' 'Alt=' 0 '#EPs=' 1 'Cls=ff(vend.)' 'Sub=01' 'Prot=00' 'Driver=(none)' E: 'Ad=8d(I)' 'Atr=03(Int.)' 'MxPS=' 4 'Ivl=125us' T: 'Bus=02' 'Lev=00' 'Prnt=00' 'Port=00' 'Cnt=00' 'Dev#=' 1 'Spd=5000' 'MxCh=' 1 B: 'Alloc=' 0/800 us '(' '0%),' '#Int=' 0, '#Iso=' 0 D: 'Ver=' 3.00 'Cls=09(hub' ')' 'Sub=00' 'Prot=03' 'MxPS=' 9 '#Cfgs=' 1 P: 'Vendor=1d6b' 'ProdID=0003' 'Rev=' 5.10 S: 'Manufacturer=Linux' 5.10.161 xhci-hcd S: 'Product=xHCI' Host Controller S: 'SerialNumber=1e1c0000.xhci' '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'
+ PVCUT=
+ awk -F 'Vendor=8087 ProdID=095a' '{print $2}'
+ cut -c-1220
+ echo T: 'Bus=01' 'Lev=00' 'Prnt=00' 'Port=00' 'Cnt=00' 'Dev#=' 1 'Spd=480' 'MxCh=' 2 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=' 5.10 S: 'Manufacturer=Linux' 5.10.161 xhci-hcd S: 'Product=xHCI' Host Controller S: 'SerialNumber=1e1c0000.xhci' '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=01' 'Lev=01' 'Prnt=01' 'Port=01' 'Cnt=01' 'Dev#=' 2 'Spd=480' 'MxCh=' 0 D: 'Ver=' 2.10 'Cls=ef(misc' ')' 'Sub=02' 'Prot=01' 'MxPS=64' '#Cfgs=' 1 P: 'Vendor=8087' 'ProdID=095a' 'Rev=' 3.50 S: 'Manufacturer=Intel' Corp. S: 'Product=MODEM' + 2 CDC-ACM + 3 CDC-NCM + SS S: 'SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000' 'C:*' '#Ifs=13' 'Cfg#=' 1 'Atr=e0' 'MxPwr=100mA' A: 'FirstIf#=' 0 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=01' A: 'FirstIf#=' 2 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=00' A: 'FirstIf#=' 4 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=00' A: 'FirstIf#=' 6 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' A: 'FirstIf#=' 8 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' A: 'FirstIf#=10' 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'I:*' 'If#=' 0 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=01' 'Driver=cdc_acm' E: 'Ad=81(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 1 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=82(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=02(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 2 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=83(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 3 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=84(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=04(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 4 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=85(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 5 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=86(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=06(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 6 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=87(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=' 7 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=' 7 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=88(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=08(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 8 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=89(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=' 9 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=' 9 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=8a(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=0a(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=10' 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=8b(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=11' 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=11' 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=8c(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=0c(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=12' 'Alt=' 0 '#EPs=' 1 'Cls=ff(vend.)' 'Sub=01' 'Prot=00' 'Driver=(none)' E: 'Ad=8d(I)' 'Atr=03(Int.)' 'MxPS=' 4 'Ivl=125us' T: 'Bus=02' 'Lev=00' 'Prnt=00' 'Port=00' 'Cnt=00' 'Dev#=' 1 'Spd=5000' 'MxCh=' 1 B: 'Alloc=' 0/800 us '(' '0%),' '#Int=' 0, '#Iso=' 0 D: 'Ver=' 3.00 'Cls=09(hub' ')' 'Sub=00' 'Prot=03' 'MxPS=' 9 '#Cfgs=' 1 P: 'Vendor=1d6b' 'ProdID=0003' 'Rev=' 5.10 S: 'Manufacturer=Linux' 5.10.161 xhci-hcd S: 'Product=xHCI' Host Controller S: 'SerialNumber=1e1c0000.xhci' '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'
+ PVCUT=' Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data '
+ grep -q 'Driver=qmi_wwan'
+ echo ' Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data '
+ grep+ echo -q 'Driver=cdc_mbim'
 ' Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data '
+ + grepecho -q 'Driver=cdc_ether'
 ' Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data '
+ break
+ cat
{
"connt":"-",
"conntx":"-",
"connrx":"-",
"modem":"AT+CGMI Fibocom ",
"mtemp":" 29 &deg;C",
"firmware":"",
"cport":"/dev/ttyACM2",
"protocol":"",
"csq":"15",
"signal":"48",
"operator_name":"BITE_LV",
"operator_mcc":"247",
"operator_mnc":"05",
"mode":"LTE-A | B3 (1800 MHz) + B2 (1900 MHz) / B1 (2100 MHz)",
"registration":"6",
"simslot":"",
"imei":"AT+CGSN 352279100355589",
"imsi":"AT+CIMI 247050102982906",
"iccid":"8937105220100124117F",
"lac_dec":"213",
"lac_hex":"D5",
"tac_dec":"",
"tac_hex":"-",
"tac_h":"",
"tac_d":"",
"cid_dec":"2157335",
"cid_hex":"20EB17",
"pci":"",
"earfcn":"",
"pband":"B3  (1800 MHz) @20 MHz",
"s1band":"B2  (1900 MHz) @10  MHz",
"s1pci":"",
"s1earfcn":"",
"s2band":"B1  (2100 MHz) @20  MHz",
"s2pci":"",
"s2earfcn":"",
"s3band":"",
"s3pci":"",
"s3earfcn":"",
"s4band":"",
"s4pci":"",
"s4earfcn":"",
"rsrp":"-85",
"rsrq":"-7",
"rssi":"-83",
"sinr":"18"
}
+ exit 0

Here will be output from devices modem section

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=095a Rev= 3.50
S:  Manufacturer=Intel Corp.
S:  Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS
S:  SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000
C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA
A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
A:  FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
A:  FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
A:  FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
A:  FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=87(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#= 7 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=89(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=8b(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=00 Driver=(none)
E:  Ad=8d(I) Atr=03(Int.) MxPS=   4 Ivl=125us
<!-- gh-comment-id:1436868117 --> @newdanceradio commented on GitHub (Feb 20, 2023): Here is 3ginfo.sh output: ``` root@OpenWrt:/usr/share/3ginfo-lite# sh -x 3ginfo.sh + RES=/usr/share/3ginfo-lite + uci -q get '3ginfo.@3ginfo[0].device' + DEVICE=/dev/ttyACM2 + '[' x/dev/ttyACM2 '=' x ] + echo /dev/ttyACM2 + '[' x/dev/ttyACM2 '=' x ] + '[' x/dev/ttyACM2 '=' x ] + uci -q get '3ginfo.@3ginfo[0].network' + SECT=ppp0 + SUB=@ + '[[' ppp0 '==' '*@*' ]] + uci -q get '3ginfo.@3ginfo[0].network' + SEC=ppp0 + '[' -z ppp0 ] + CONN_TIME=- + RX=- + TX=- + ifstatus ppp0 + grep '"up": true' + NETUP= + '[' -n ] + sms_tool -D -d /dev/ttyACM2 at 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?' + O='AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 15,5 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB17",7 'K + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 15,5 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB17",7 'K + awk '-F[, ]' '/^\+CSQ/ {print $2}' + CSQ=15 + '[' x15 '=' x ] + '[' 15 -ge 0 -a 15 -le 31 ] + CSQ_PER=48 + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 15,5 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB17",7 'K + awk '-F["]' '/^\+COPS: .,2/ {print $2}' + COPS_NUM=24705 + '[' x24705 '=' x ] + COPS_MCCB=247 + echo 247 + tr '\n' ' ' + sed 's/ //g' + COPS_MCC=247 + COPS_MNCB=05 + echo 05 + tr '\n' ' ' + sed 's/ //g' + COPS_MNC=05 + awk '-F[;]' '/24705/ {print $2}' /usr/share/3ginfo-lite/mccmnc.dat + COPS=Bite + '[' xBite '=' x ] + '[' -z ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 15,5 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB17",7 'K + awk '-F["]' '/^\+COPS: .,0/ {print $2}' + T=BITE_LV + '[' xBITE_LV '!=' x ] + COPS=BITE_LV + echo BITE_LV + sed ':s;s/\(\<\S*\>\)\(.*\)\<\1\>/\1\2/g;ts' + COPZ=BITE_LV + echo BITE_LV + awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' + COPS=BITE_LV + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 15,5 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB17",7 'K + awk+ xargs '-F[, ]' '/^\+CPIN:/ {print $0;exit}' + T='+CPIN: READY' + '[' -n '+CPIN: READY' ] + '[' '+CPIN: READY' '=' '+CPIN: READY' ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 15,5 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB17",7 'K + awk '-F[, ]' '/^\+CME ERROR:/ {print $0;exit}' + T= + '[' -n ] + echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 15,5 +CPIN: READY +COPS: 0,0,"BITE_LV",7 +COPS: 0,2,"24705",7 +CREG: 2,6,"00D5","0020EB17",7 'K + 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="6";LAC_HEX="D5";CID_HEX="20EB17";LAC_DEC="213";CID_DEC="2157335";MODE_NUM="7"' + T=6 + LAC_HEX=D5 + CID_HEX=20EB17 + LAC_DEC=213 + CID_DEC=2157335 + MODE_NUM=7 + REG=6 + '[' -z 7 ] + '[' x7 '=' x0 ] + MODE=LTE + sms_tool -d /dev/ttyACM2 at at+cereg ' OTX='at+cereg ' echo 'at+cereg + + sedawk 's/[^A-F0-9]//g' '-F[,]' '/^\+CEREG/ {printf "%s", toupper($3)}' + TAC= + '[' x '!=' x ] + TAC=- + TAC_HEX=- + uci -q get '3ginfo.@3ginfo[0].device' + DEVICE=/dev/ttyACM2 + echo x/dev/ttyACM2 + grep -q 192.168. + awk '/Vendor=/{gsub(/.*Vendor=| ProdID=| Rev.*/,"");print}' /sys/kernel/debug/usb/devices + sort -u + _DEVS='1d6b0002 1d6b0003 8087095a' + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0002 ] + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0003 ] + '[' -e /usr/share/3ginfo-lite/3ginfo-addon/8087095a ] + cat /tmp/sysinfo/board_name + . /usr/share/3ginfo-lite/3ginfo-addon/8087095a + sms_tool -d /dev/ttyACM2 at 'at+xlec?;+rsrp?;+rsrq?;+xmci=1' + O='at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:_]' '/\+XLEC:/{gsub("\r",""); print $4}' + awk -F '[:,]' '{print $1}' + T=3 + '[' -n 3 ] + band 3 + echo 'B3 (1800 MHz)' + MODE='LTE B3 (1800 MHz)' + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+RSRP:/{printf "%.0f\n", $4}' + RSRP=-85 + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+RSRQ:/{printf "%.0f\n", $4}' + RSRQ=-7 + RSSI=-83 + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+XMCI: 4/{gsub(/"/,""); printf "%.0f\n", $13/4+5}' + SINR=18 + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+XLEC:/{print $3}' + LTE_Cx=3 + LTE_CA=2 + '[' -n LTE_CA ] + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+RSRP:/{print $6" "$9}' + CAx='6200 300' + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+XLEC:/{gsub("\r",""); print $4" "$5" "$6}' + BWCx='5 3 5' + CA_BAND= + convertband 6200 + band 2 + echo 'B2 (1900 MHz)' + BAND='B2 (1900 MHz)' + CA_BAND=' / B2 (1900 MHz)' + CABANDx=,2 + convertband 300 + band 1 + echo 'B1 (2100 MHz)' + BAND='B1 (2100 MHz)' + CA_BAND=' / B2 (1900 MHz) / B1 (2100 MHz)' + CABANDx=,2,1 + band 3 + echo 'B3 (1800 MHz)' + MODE='LTE-A | B3 (1800 MHz) / B2 (1900 MHz) / B1 (2100 MHz)' + echo ,2,1 + awk -F+ sed '[,]' 's/ //g' '/\,/{print $2" "}' + S1=2 + echo ,2,1 + awk -F+ sed 's/ //g' '[,]' '/\,/{print $3" "}' + S2=1 + echo ,2,1 + + sedawk -F 's/ //g' '[,]' '/\,/{print $4" "}' + S3= + echo ,2,1 + awk -F '[,]' '/\,/{print $5" "}' + sed 's/ //g' + S4= + BWCA=0 + BWCA_INFO= + T5=20 + BWCA=20 + '[[' -z ]] + BWCA_INFO=20 + T5=10 + BWCA=30 + '[[' -z 20 ]] + BWCA_INFO=20,10 + T5=20 + BWCA=50 + '[[' -z 20,10 ]] + BWCA_INFO=20,10,20 + echo 20,10,20 + awk -F '[,]' '/\,/{print $2" "}' + BW1='10 ' + echo 20,10,20 + awk -F '[,]' '/\,/{print $3" "}' + BW2='20 ' + echo 20,10,20 + awk -F '[,]' '/\,/{print $4" "}' + BW3=' ' + echo 20,10,20 + awk -F '[,]' '/\,/{print $5" "}' + BW4=' ' + echo 'at+xlec?;+rsrp?;+rsrq?;+xmci=1 +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 +RSRP: 502,1820,-85.00,502,6200,-90.00,502,300,-103.00 +RSRQ: 502,1820,-7.-50,502,6200,-10.00,502,300,-7.00 +XMCI: 4,247,05,"0x00D5","0x0020EB17","0x01F6","0x0000071C","0x00004D6C","0xFFFFFFFF",54,26,50,"0x00000017","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x00001838","0xFFFFFFFF","0xFFFFFFFF",51,20,255,"0x7FFFFFFF","0x00000000" +XMCI: 5,000,000,"0xFFFE","0xFFFFFFFF","0x01F6","0x0000012C","0xFFFFFFFF","0xFFFFFFFF",38,26,255,"0x7FFFFFFF","0x00000000" ' + awk -F '[:,]' '/\+XLEC:/{gsub("\r",""); print $4" "}' + T2='5 ' + T4=20 + '[' -n 20 ] + band 3 + echo 'B3 (1800 MHz)' + PBAND='B3 (1800 MHz) @20 MHz' + '[' -n 2 ] + band 2 + echo 'B2 (1900 MHz)' + S1BAND='B2 (1900 MHz) @10 MHz' + '[' -n 1 ] + band 1 + echo 'B1 (2100 MHz)' + S2BAND='B1 (2100 MHz) @20 MHz' + '[' -n ] + '[' -n ] + '[[' 'LTE-A | B3 (1800 MHz) / B2 (1900 MHz) / B1 (2100 MHz)' '!=' '*LTE-A*' ]] + echo LTE-A '|' B3 '(1800' 'MHz)' / B2 '(1900' 'MHz)' / B1 '(2100' 'MHz)' + sed s,/,+, + MODE='LTE-A | B3 (1800 MHz) + B2 (1900 MHz) / B1 (2100 MHz)' + sms_tool -d /dev/ttyACM2 at 'AT+GTPKGVER?' + xargs + FWA='AT+GTPKGVER? +GTPKGVER: 18600.5001.00.35.01.57_5026.01.001.005' + echo 'AT+GTPKGVER? +GTPKGVER: 18600.5001.00.35.01.57_5026.01.001.005' + awk '-F[,:]' '/^\+GTPKGVER:/ {print $2}' + xargs + FW= + sms_tool -d /dev/ttyACM2 at 'AT+GMM?' + xargs + MDL='AT+GMM? +GMM: L860 LTE Module,L860' + echo 'AT+GMM? +GMM: L860 LTE Module,L860' + cut -d : -f2 + cut+ awk '-F"' '{print $2}' -d , -f1 + MODELM= + sms_tool -d /dev/ttyACM2 at AT+CGMI + xargs + MODELF='AT+CGMI Fibocom' + echo + sed s/OK// + MODELMCUT= + echo AT+CGMI Fibocom + sed s/OK// + MODELFCUT='AT+CGMI Fibocom' + MODEL='AT+CGMI Fibocom ' + sms_tool -d /dev/ttyACM2 at 'AT+MTSM=1' + xargs + TC='AT+MTSM=1 +MTSM: 29' + echo 'AT+MTSM=1 +MTSM: 29' + awk '-F[:,]' '/\+MTSM:/{print $2}' + T=' 29' + '[' -n ' 29' ] + TEMP=' 29 &deg;C' + sms_tool -d /dev/ttyACM2 at AT+CGSN + xargs + O='AT+CGSN 352279100355589' + echo 'AT+CGSN 352279100355589' + sed s/OK// + NR_I='AT+CGSN 352279100355589' + '[' -n 'AT+CGSN 352279100355589' ] + NR_IMEI='AT+CGSN 352279100355589' + sms_tool -d /dev/ttyACM2 at AT+CIMI + xargs + O='AT+CIMI 247050102982906' + echo 'AT+CIMI 247050102982906' + sed s/OK// + NR_C='AT+CIMI 247050102982906' + '[' -n 'AT+CIMI 247050102982906' ] + NR_IMSI='AT+CIMI 247050102982906' + sms_tool -d /dev/ttyACM2 at AT+CCID + O='AT+CCID +CCID: 8937105220100124117F ' + echo 'AT+CCID +CCID: 8937105220100124117F ' + awk -F '[:]' '/^\+CCID: /{print $2}' + xargs + NR_D=8937105220100124117F + '[' -n 8937105220100124117F ] + NR_ICCID=8937105220100124117F + cat /sys/kernel/debug/usb/devices + PV=' T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2 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= 5.10 S: Manufacturer=Linux 5.10.161 xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=1e1c0000.xhci 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=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=8087 ProdID=095a Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 6 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#= 7 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=89(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=8b(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=00 Driver=(none) E: Ad=8d(I) Atr=03(Int.) MxPS= 4 Ivl=125us T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1 P: Vendor=1d6b ProdID=0003 Rev= 5.10 S: Manufacturer=Linux 5.10.161 xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=1e1c0000.xhci 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' + awk -F 'Vendor=8087 ProdID=07f9' '{print $2}' + cut -c-1220 + echo T: 'Bus=01' 'Lev=00' 'Prnt=00' 'Port=00' 'Cnt=00' 'Dev#=' 1 'Spd=480' 'MxCh=' 2 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=' 5.10 S: 'Manufacturer=Linux' 5.10.161 xhci-hcd S: 'Product=xHCI' Host Controller S: 'SerialNumber=1e1c0000.xhci' '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=01' 'Lev=01' 'Prnt=01' 'Port=01' 'Cnt=01' 'Dev#=' 2 'Spd=480' 'MxCh=' 0 D: 'Ver=' 2.10 'Cls=ef(misc' ')' 'Sub=02' 'Prot=01' 'MxPS=64' '#Cfgs=' 1 P: 'Vendor=8087' 'ProdID=095a' 'Rev=' 3.50 S: 'Manufacturer=Intel' Corp. S: 'Product=MODEM' + 2 CDC-ACM + 3 CDC-NCM + SS S: 'SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000' 'C:*' '#Ifs=13' 'Cfg#=' 1 'Atr=e0' 'MxPwr=100mA' A: 'FirstIf#=' 0 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=01' A: 'FirstIf#=' 2 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=00' A: 'FirstIf#=' 4 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=00' A: 'FirstIf#=' 6 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' A: 'FirstIf#=' 8 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' A: 'FirstIf#=10' 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'I:*' 'If#=' 0 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=01' 'Driver=cdc_acm' E: 'Ad=81(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 1 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=82(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=02(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 2 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=83(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 3 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=84(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=04(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 4 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=85(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 5 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=86(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=06(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 6 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=87(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=' 7 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=' 7 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=88(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=08(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 8 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=89(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=' 9 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=' 9 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=8a(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=0a(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=10' 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=8b(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=11' 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=11' 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=8c(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=0c(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=12' 'Alt=' 0 '#EPs=' 1 'Cls=ff(vend.)' 'Sub=01' 'Prot=00' 'Driver=(none)' E: 'Ad=8d(I)' 'Atr=03(Int.)' 'MxPS=' 4 'Ivl=125us' T: 'Bus=02' 'Lev=00' 'Prnt=00' 'Port=00' 'Cnt=00' 'Dev#=' 1 'Spd=5000' 'MxCh=' 1 B: 'Alloc=' 0/800 us '(' '0%),' '#Int=' 0, '#Iso=' 0 D: 'Ver=' 3.00 'Cls=09(hub' ')' 'Sub=00' 'Prot=03' 'MxPS=' 9 '#Cfgs=' 1 P: 'Vendor=1d6b' 'ProdID=0003' 'Rev=' 5.10 S: 'Manufacturer=Linux' 5.10.161 xhci-hcd S: 'Product=xHCI' Host Controller S: 'SerialNumber=1e1c0000.xhci' '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' + PVCUT= + awk -F 'Vendor=8087 ProdID=095a' '{print $2}' + cut -c-1220 + echo T: 'Bus=01' 'Lev=00' 'Prnt=00' 'Port=00' 'Cnt=00' 'Dev#=' 1 'Spd=480' 'MxCh=' 2 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=' 5.10 S: 'Manufacturer=Linux' 5.10.161 xhci-hcd S: 'Product=xHCI' Host Controller S: 'SerialNumber=1e1c0000.xhci' '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=01' 'Lev=01' 'Prnt=01' 'Port=01' 'Cnt=01' 'Dev#=' 2 'Spd=480' 'MxCh=' 0 D: 'Ver=' 2.10 'Cls=ef(misc' ')' 'Sub=02' 'Prot=01' 'MxPS=64' '#Cfgs=' 1 P: 'Vendor=8087' 'ProdID=095a' 'Rev=' 3.50 S: 'Manufacturer=Intel' Corp. S: 'Product=MODEM' + 2 CDC-ACM + 3 CDC-NCM + SS S: 'SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000' 'C:*' '#Ifs=13' 'Cfg#=' 1 'Atr=e0' 'MxPwr=100mA' A: 'FirstIf#=' 0 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=01' A: 'FirstIf#=' 2 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=00' A: 'FirstIf#=' 4 'IfCount=' 2 'Cls=02(comm.)' 'Sub=02' 'Prot=00' A: 'FirstIf#=' 6 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' A: 'FirstIf#=' 8 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' A: 'FirstIf#=10' 'IfCount=' 2 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'I:*' 'If#=' 0 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=01' 'Driver=cdc_acm' E: 'Ad=81(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 1 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=82(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=02(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 2 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=83(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 3 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=84(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=04(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 4 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=85(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' 'I:*' 'If#=' 5 'Alt=' 0 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=02' 'Prot=00' 'Driver=cdc_acm' E: 'Ad=86(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=06(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 6 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=87(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=' 7 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=' 7 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=88(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=08(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=' 8 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=89(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=' 9 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=' 9 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=8a(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=0a(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=10' 'Alt=' 0 '#EPs=' 1 'Cls=02(comm.)' 'Sub=0d' 'Prot=00' 'Driver=cdc_ncm' E: 'Ad=8b(I)' 'Atr=03(Int.)' 'MxPS=' 64 'Ivl=1ms' I: 'If#=11' 'Alt=' 0 '#EPs=' 0 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' 'I:*' 'If#=11' 'Alt=' 1 '#EPs=' 2 'Cls=0a(data' ')' 'Sub=00' 'Prot=01' 'Driver=cdc_ncm' E: 'Ad=8c(I)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' E: 'Ad=0c(O)' 'Atr=02(Bulk)' 'MxPS=' 512 'Ivl=0ms' 'I:*' 'If#=12' 'Alt=' 0 '#EPs=' 1 'Cls=ff(vend.)' 'Sub=01' 'Prot=00' 'Driver=(none)' E: 'Ad=8d(I)' 'Atr=03(Int.)' 'MxPS=' 4 'Ivl=125us' T: 'Bus=02' 'Lev=00' 'Prnt=00' 'Port=00' 'Cnt=00' 'Dev#=' 1 'Spd=5000' 'MxCh=' 1 B: 'Alloc=' 0/800 us '(' '0%),' '#Int=' 0, '#Iso=' 0 D: 'Ver=' 3.00 'Cls=09(hub' ')' 'Sub=00' 'Prot=03' 'MxPS=' 9 '#Cfgs=' 1 P: 'Vendor=1d6b' 'ProdID=0003' 'Rev=' 5.10 S: 'Manufacturer=Linux' 5.10.161 xhci-hcd S: 'Product=xHCI' Host Controller S: 'SerialNumber=1e1c0000.xhci' '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' + PVCUT=' Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ' + grep -q 'Driver=qmi_wwan' + echo ' Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ' + grep+ echo -q 'Driver=cdc_mbim' ' Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ' + + grepecho -q 'Driver=cdc_ether' ' Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ' + break + cat { "connt":"-", "conntx":"-", "connrx":"-", "modem":"AT+CGMI Fibocom ", "mtemp":" 29 &deg;C", "firmware":"", "cport":"/dev/ttyACM2", "protocol":"", "csq":"15", "signal":"48", "operator_name":"BITE_LV", "operator_mcc":"247", "operator_mnc":"05", "mode":"LTE-A | B3 (1800 MHz) + B2 (1900 MHz) / B1 (2100 MHz)", "registration":"6", "simslot":"", "imei":"AT+CGSN 352279100355589", "imsi":"AT+CIMI 247050102982906", "iccid":"8937105220100124117F", "lac_dec":"213", "lac_hex":"D5", "tac_dec":"", "tac_hex":"-", "tac_h":"", "tac_d":"", "cid_dec":"2157335", "cid_hex":"20EB17", "pci":"", "earfcn":"", "pband":"B3 (1800 MHz) @20 MHz", "s1band":"B2 (1900 MHz) @10 MHz", "s1pci":"", "s1earfcn":"", "s2band":"B1 (2100 MHz) @20 MHz", "s2pci":"", "s2earfcn":"", "s3band":"", "s3pci":"", "s3earfcn":"", "s4band":"", "s4pci":"", "s4earfcn":"", "rsrp":"-85", "rsrq":"-7", "rssi":"-83", "sinr":"18" } + exit 0 ``` Here will be output from devices modem section ``` T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=8087 ProdID=095a Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 6 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#= 7 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=89(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=8b(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=00 Driver=(none) E: Ad=8d(I) Atr=03(Int.) MxPS= 4 Ivl=125us ```
Author
Owner

@4IceG commented on GitHub (Feb 20, 2023):

OK thanks. I have one more question. This modem now works on the ncm protocol?

I'll fix it tonight.

<!-- gh-comment-id:1436904118 --> @4IceG commented on GitHub (Feb 20, 2023): OK thanks. I have one more question. This modem now works on the ncm protocol? I'll fix it tonight.
Author
Owner

@obsy commented on GitHub (Feb 20, 2023):

elif [ $1 -ge 6150 ] && [ $1 -le 6449 ]; then
newband=2

should be 20.

<!-- gh-comment-id:1436917869 --> @obsy commented on GitHub (Feb 20, 2023): elif [ $1 -ge 6150 ] && [ $1 -le 6449 ]; then newband=2 should be 20.
Author
Owner

@4IceG commented on GitHub (Feb 20, 2023):

Ok fixed, just testing.
808707f9.zip

<!-- gh-comment-id:1436998298 --> @4IceG commented on GitHub (Feb 20, 2023): Ok fixed, just testing. [808707f9.zip](https://github.com/4IceG/luci-app-3ginfo-lite/files/10784558/808707f9.zip)
Author
Owner

@4IceG commented on GitHub (Feb 21, 2023):

@newdanceradio did you test the latest version, is everything ok now?

<!-- gh-comment-id:1438361760 --> @4IceG commented on GitHub (Feb 21, 2023): @newdanceradio did you test the latest version, is everything ok now?
Author
Owner

@newdanceradio commented on GitHub (Feb 21, 2023):

Oh, I'm sorry @4IceG, i didn't have enough time to test, was busy with other things. I'll test later today and let you know.
I also have a question, will 3ginfo-lite will work with modemmanager ?
I have a problem with get my modem work correctly without modemmanager

<!-- gh-comment-id:1438376623 --> @newdanceradio commented on GitHub (Feb 21, 2023): Oh, I'm sorry @4IceG, i didn't have enough time to test, was busy with other things. I'll test later today and let you know. I also have a question, will 3ginfo-lite will work with modemmanager ? I have a problem with get my modem work correctly without modemmanager
Author
Owner

@4IceG commented on GitHub (Feb 21, 2023):

Ok, no rush, you'll test it when you have time.

My packages are not compatible with MM, it makes it very difficult for other programs/packages to access the modem.

MM is good because it takes control over the operation of the modem, monitors the connection and allows you to read data from the modem. It would be best to create dedicated packages for LuCI to MM so that it does not clash with other packages.

<!-- gh-comment-id:1438395167 --> @4IceG commented on GitHub (Feb 21, 2023): Ok, no rush, you'll test it when you have time. My packages are not compatible with MM, it makes it very difficult for other programs/packages to access the modem. MM is good because it takes control over the operation of the modem, monitors the connection and allows you to read data from the modem. It would be best to create dedicated packages for LuCI to MM so that it does not clash with other packages.
Author
Owner

@newdanceradio commented on GitHub (May 23, 2023):

Hello dear @4IceG.
Sorry for big delay from my side about testing modem.

Now i have successfully working L860-GL modem with my OpenWRT router without modemmanager.

I have small questions.
Script is successfully reading data from modem, except Connection statistics and i don't know why it is showing blue rectangle with second information

image

Also, it isn't showing protocol
image

Here will be information about USB devices and drivers

cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
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= 5.10
S:  Manufacturer=Linux 5.10.176 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
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=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=095a Rev= 3.50
S:  Manufacturer=Intel Corp.
S:  Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS
S:  SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000
C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA
A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
A:  FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
A:  FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
A:  FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
A:  FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=87(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#= 7 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=89(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=8b(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=00 Driver=(none)
E:  Ad=8d(I) Atr=03(Int.) MxPS=   4 Ivl=125us

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 5.10
S:  Manufacturer=Linux 5.10.176 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
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

Also, i don't know why, but it's showing incorrect RSSI signal
image

<!-- gh-comment-id:1559453385 --> @newdanceradio commented on GitHub (May 23, 2023): Hello dear @4IceG. Sorry for big delay from my side about testing modem. Now i have successfully working L860-GL modem with my OpenWRT router without modemmanager. I have small questions. Script is successfully reading data from modem, except Connection statistics and i don't know why it is showing blue rectangle with second information ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/664cc581-b1af-468a-9c00-dc99202daf54) Also, it isn't showing protocol ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/12c47852-a416-425b-99a0-688bd58e34b4) Here will be information about USB devices and drivers ``` cat /sys/kernel/debug/usb/devices T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2 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= 5.10 S: Manufacturer=Linux 5.10.176 xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=1e1c0000.xhci 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=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=8087 ProdID=095a Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS S: SerialNumber=004999010640000:004999010640000:004999010640000:004999010640000 C:* #Ifs=13 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01 A: FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00 A: FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 A: FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm E: Ad=85(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=00 Driver=cdc_acm E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 6 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#= 7 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=89(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm E: Ad=8b(I) Atr=03(Int.) MxPS= 64 Ivl=1ms I: If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm E: Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=00 Driver=(none) E: Ad=8d(I) Atr=03(Int.) MxPS= 4 Ivl=125us T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1 P: Vendor=1d6b ProdID=0003 Rev= 5.10 S: Manufacturer=Linux 5.10.176 xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=1e1c0000.xhci 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 ``` Also, i don't know why, but it's showing incorrect RSSI signal ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/f4c1bf05-354e-4a9d-994a-68dc78fdfa28)
Author
Owner

@4IceG commented on GitHub (May 23, 2023):

Hi @newdanceradio , the package shows the user what needs to be corrected/changed in the configuration. If it can't show connection data, you need to change the name of the interface on which the modem works when connecting to the Internet.

As for the missing protocol, the modem is running as ncm?

<!-- gh-comment-id:1559545229 --> @4IceG commented on GitHub (May 23, 2023): Hi @newdanceradio , the package shows the user what needs to be corrected/changed in the configuration. If it can't show connection data, you need to change the name of the interface on which the modem works when connecting to the Internet. As for the missing protocol, the modem is running as ncm?
Author
Owner

@newdanceradio commented on GitHub (May 23, 2023):

As for the missing protocol, the modem is running as ncm?

Yes, the modem is running as ncm

<!-- gh-comment-id:1559552804 --> @newdanceradio commented on GitHub (May 23, 2023): > As for the missing protocol, the modem is running as ncm? Yes, the modem is running as ncm
Author
Owner

@newdanceradio commented on GitHub (May 23, 2023):

you need to change the name of the interface on which the modem works when connecting to the Internet

Sorry, forgot about that, changed interface and now all is good

image

<!-- gh-comment-id:1559562881 --> @newdanceradio commented on GitHub (May 23, 2023): > you need to change the name of the interface on which the modem works when connecting to the Internet Sorry, forgot about that, changed interface and now all is good ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/45a06705-78c5-4df6-bb89-9477b2091cc2)
Author
Owner

@4IceG commented on GitHub (May 23, 2023):

One more thing, you wrote above about rssi. Why do you think rssi is wrong?

<!-- gh-comment-id:1559574731 --> @4IceG commented on GitHub (May 23, 2023): One more thing, you wrote above about rssi. Why do you think rssi is wrong?
Author
Owner

@4IceG commented on GitHub (May 23, 2023):

The protocol should also be read correctly, in the evening I will check the script why has a problem and it does not show anything.

<!-- gh-comment-id:1559589175 --> @4IceG commented on GitHub (May 23, 2023): The protocol should also be read correctly, in the evening I will check the script why has a problem and it does not show anything.
Author
Owner

@newdanceradio commented on GitHub (May 23, 2023):

One more thing, you wrote above about rssi. Why do you think rssi is wrong?

I have one more router Keenetic, when my L860-GL modem is connected to Keenetic router, it is showing stronger RSSI signal
from "-64" to "-59".
Also i have one more modem status script installed on my OpenWrt router and it is showing different result.

image

<!-- gh-comment-id:1559592522 --> @newdanceradio commented on GitHub (May 23, 2023): > One more thing, you wrote above about rssi. Why do you think rssi is wrong? I have one more router Keenetic, when my L860-GL modem is connected to Keenetic router, it is showing stronger RSSI signal from "-64" to "-59". Also i have one more modem status script installed on my OpenWrt router and it is showing different result. ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/affc68f4-32f9-4a01-9534-4f7bfaad66f5)
Author
Owner

@4IceG commented on GitHub (May 23, 2023):

I understand, but in the example shown you have 80% of the signal, and with my package you have 38%, you should compare the indications in the same modem operating conditions.

If you have another script, you can show me how it reads this value, maybe my script is doing it wrong.

<!-- gh-comment-id:1559621304 --> @4IceG commented on GitHub (May 23, 2023): I understand, but in the example shown you have 80% of the signal, and with my package you have 38%, you should compare the indications in the same modem operating conditions. If you have another script, you can show me how it reads this value, maybe my script is doing it wrong.
Author
Owner

@newdanceradio commented on GitHub (May 23, 2023):

you can show me how it reads this value

Sorry @4IceG, i'm not a big professional in these things, but i think it's here
https://github.com/koshev-msk/modemfeed/blob/master/packages/net/modeminfo/root/usr/share/modeminfo/scripts/INTEL

Something like this i think..., or maybe i'm wrong.

CSQ=$(echo $RSRP $NP | awk '{printf "%.0f\n", (($1+10*log(12*$2)/log(10))+113)/2}')            
                [ "x$CSQ" = "x" ] && CSQ=-1                                                                    
                if [ $CSQ -ge 0 -a $CSQ -le 31 ]; then                                                         
                        CSQ_PER=$(($CSQ * 100/31))                                                   
                        CSQ_COL="red"                                                                
                        [ $CSQ -ge 10 ] && CSQ_COL="red"                                             
                        [ $CSQ -ge 15 ] && CSQ_COL="orange"                                          
                        [ $CSQ -ge 20 ] && CSQ_COL="green"                                           
                        CSQ_RSSI=$((2 * CSQ - 113))                                                
                        # Fibocom RSSI up -51dBm. Thanks to TSA74 at 4pda.to                       
                elif [ $CSQ -ge 32 -a $CSQ -le 50 ]; then                                          
                        CSQ_PER="100"                                                              
                        CSQ_COL="green"                                     
                        CSQ_RSSI=$((2 * CSQ - 113))                         
                else                                                        
                        CSQ_PER="0"                                         
                        CSQ_COL="black"                                     
                fi        
<!-- gh-comment-id:1559658941 --> @newdanceradio commented on GitHub (May 23, 2023): > you can show me how it reads this value Sorry @4IceG, i'm not a big professional in these things, but i think it's here https://github.com/koshev-msk/modemfeed/blob/master/packages/net/modeminfo/root/usr/share/modeminfo/scripts/INTEL Something like this i think..., or maybe i'm wrong. ``` CSQ=$(echo $RSRP $NP | awk '{printf "%.0f\n", (($1+10*log(12*$2)/log(10))+113)/2}') [ "x$CSQ" = "x" ] && CSQ=-1 if [ $CSQ -ge 0 -a $CSQ -le 31 ]; then CSQ_PER=$(($CSQ * 100/31)) CSQ_COL="red" [ $CSQ -ge 10 ] && CSQ_COL="red" [ $CSQ -ge 15 ] && CSQ_COL="orange" [ $CSQ -ge 20 ] && CSQ_COL="green" CSQ_RSSI=$((2 * CSQ - 113)) # Fibocom RSSI up -51dBm. Thanks to TSA74 at 4pda.to elif [ $CSQ -ge 32 -a $CSQ -le 50 ]; then CSQ_PER="100" CSQ_COL="green" CSQ_RSSI=$((2 * CSQ - 113)) else CSQ_PER="0" CSQ_COL="black" fi ```
Author
Owner

@newdanceradio commented on GitHub (May 23, 2023):

you should compare the indications in the same modem operating conditions

Conditions are the same, because i have one external antenna to which modem L860-GL is connected, i just switching usb from one router to another.

<!-- gh-comment-id:1559665837 --> @newdanceradio commented on GitHub (May 23, 2023): > you should compare the indications in the same modem operating conditions Conditions are the same, because i have one external antenna to which modem L860-GL is connected, i just switching usb from one router to another.
Author
Owner

@4IceG commented on GitHub (May 23, 2023):

The values ​​should be the same, my script:
RSSI=$((2 * CSQ - 113))
your code:
CSQ_RSSI=$((2 * CSQ - 113)

From what I see, the CSQ value is also calculated, and I don't do it additionally.

<!-- gh-comment-id:1559696212 --> @4IceG commented on GitHub (May 23, 2023): The values ​​should be the same, my script: RSSI=$((2 * CSQ - 113)) your code: CSQ_RSSI=$((2 * CSQ - 113) From what I see, the CSQ value is also calculated, and I don't do it additionally.
Author
Owner

@newdanceradio commented on GitHub (May 23, 2023):

Hmm, very interesting, but why it can be, that it is showing different results ?

<!-- gh-comment-id:1559726258 --> @newdanceradio commented on GitHub (May 23, 2023): Hmm, very interesting, but why it can be, that it is showing different results ?
Author
Owner

@obsy commented on GitHub (May 23, 2023):

Not the same. CSQ from koshev's repository was calculated from RSRP, not taken from AT+CSQ

<!-- gh-comment-id:1559782213 --> @obsy commented on GitHub (May 23, 2023): Not the same. CSQ from koshev's repository was calculated from RSRP, not taken from AT+CSQ
Author
Owner

@4IceG commented on GitHub (May 24, 2023):

Hi @newdanceradio , check if it already shows the protocol correctly. I didn't change anything in CSQ since it reads values normally.
luci-app-3ginfo-lite_1.0.47-20230524_all.zip

<!-- gh-comment-id:1560554289 --> @4IceG commented on GitHub (May 24, 2023): Hi @newdanceradio , check if it already shows the protocol correctly. I didn't change anything in CSQ since it reads values normally. [luci-app-3ginfo-lite_1.0.47-20230524_all.zip](https://github.com/4IceG/luci-app-3ginfo-lite/files/11553669/luci-app-3ginfo-lite_1.0.47-20230524_all.zip)
Author
Owner

@newdanceradio commented on GitHub (May 25, 2023):

Hi @newdanceradio , check if it already shows the protocol correctly. I didn't change anything in CSQ since it reads values normally. luci-app-3ginfo-lite_1.0.47-20230524_all.zip

Yes, now all is good.
Thank you @4IceG

<!-- gh-comment-id:1562839488 --> @newdanceradio commented on GitHub (May 25, 2023): > Hi @newdanceradio , check if it already shows the protocol correctly. I didn't change anything in CSQ since it reads values normally. [luci-app-3ginfo-lite_1.0.47-20230524_all.zip](https://github.com/4IceG/luci-app-3ginfo-lite/files/11553669/luci-app-3ginfo-lite_1.0.47-20230524_all.zip) Yes, now all is good. Thank you @4IceG
Author
Owner

@newdanceradio commented on GitHub (May 26, 2023):

I'm really sorry to bother you again, i found one more thing that isn't showing with L860 modem.
This is PCI and EARFCN
It should be like this

image

But with L860 modem it looks like this

image

This information could be read by the following command: AT+RSRP?
Real output from modem is:
image

<!-- gh-comment-id:1563926414 --> @newdanceradio commented on GitHub (May 26, 2023): I'm really sorry to bother you again, i found one more thing that isn't showing with L860 modem. This is PCI and EARFCN It should be like this ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/67aab873-3f52-4e01-a525-a70212ac098e) But with L860 modem it looks like this ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/e9cbaf60-2391-4ee1-b8ca-c1b48b7d0a5f) This information could be read by the following command: AT+RSRP? Real output from modem is: ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/f4748155-5171-4c8f-aaf9-f1d3c2370b0b)
Author
Owner

@newdanceradio commented on GitHub (May 26, 2023):

I didn't change anything in CSQ since it reads values normally.

About RSSI.
Here is LTE RSRP, RSRQ, RSSI calculator.
https://arimas.com/2017/11/06/lte-rsrp-rsrq-rssi-calculator/
I made some calculation, and there are discrepancies here.
image

If we calculate, that i have RSSI -89 and bandwidth of B3 i have 20MHz
then my RSRP signal should be -119, but in reality i have RSRP: -89
It turns out that the RSSI calculation is not correct.
If i have RSRP -89, than RSSI should be -59

Here is one more link about RSSI calculation
https://www.cablefree.net/wirelesstechnology/4glte/rsrp-rsrq-measurement-lte/#:~:text=RSSI%20%3D%20wideband%20power%20%3D%20noise%20%2B%20serving%20cell%20power%20%2B%20interference%20power

<!-- gh-comment-id:1563963022 --> @newdanceradio commented on GitHub (May 26, 2023): > I didn't change anything in CSQ since it reads values normally. About RSSI. Here is LTE RSRP, RSRQ, RSSI calculator. https://arimas.com/2017/11/06/lte-rsrp-rsrq-rssi-calculator/ I made some calculation, and there are discrepancies here. ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/d9564852-f5f0-47e0-b536-12e1334c36a1) If we calculate, that i have RSSI -89 and bandwidth of B3 i have 20MHz then my RSRP signal should be -119, but in reality i have RSRP: -89 It turns out that the RSSI calculation is not correct. If i have RSRP -89, than RSSI should be -59 Here is one more link about RSSI calculation https://www.cablefree.net/wirelesstechnology/4glte/rsrp-rsrq-measurement-lte/#:~:text=RSSI%20%3D%20wideband%20power%20%3D%20noise%20%2B%20serving%20cell%20power%20%2B%20interference%20power
Author
Owner

@4IceG commented on GitHub (May 26, 2023):

Hi @newdanceradio , Ok I can add PCI and EARFCN if these are the indicated values, I will do it over the weekend when I find a quiet/free moment.

As for the value, I'm stupid, I don't know which value to take for granted and to relate to it.
I'm not sure but the AT+XCESQ? command it can also read RSRP or RSSI 🤔

<!-- gh-comment-id:1564497169 --> @4IceG commented on GitHub (May 26, 2023): Hi @newdanceradio , Ok I can add PCI and EARFCN if these are the indicated values, I will do it over the weekend when I find a quiet/free moment. As for the value, I'm stupid, I don't know which value to take for granted and to relate to it. I'm not sure but the AT+XCESQ? command it can also read RSRP or RSSI 🤔
Author
Owner

@newdanceradio commented on GitHub (May 26, 2023):

Ok I can add PCI and EARFCN if these are the indicated values, I will do it over the weekend when I find a quiet/free moment.

Yes, shure @4IceG no problem.
Yes, this values are indicated by command AT+RSRP?
Here is live example from modem L860

+RSRP: 502,1820,-89.00,502,6200,-90.00,502,300,-95.00,494,1820,-103.00
OK

Explaining about example above
marked with bold is PCI
502,1820,-89.00,502,6200,-90.00,502,300,-95.00,494,1820,-103.00

marked with bold is EARFCN
502,1820,-89.00,502,6200,-90.00,502,300,-95.00,494,1820,-103.00

Next, about correct calculation of RSSI
Here we get bandwidth of primary band, let's say, first band B3 have a 20MHz bandwidth
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 - in this example it will be 5

1) Step

BWDL=$(echo "$O" | awk -F [:,] '/\+XLEC:/{gsub("\r","",$4); print $4}')
		case $BWDL in
			1) NP=15 ;;
			2) NP=25 ;;
			3) NP=50 ;;
			4) NP=75 ;;
			5) NP=100 ;;
			*) NP=0 ;;
		esac

so $BWDL will be 100

Here we do first calculation

2) Step

		CSQ=$(echo $RSRP $NP | awk '{printf "%.0f\n", (($1+10*log(12*$2)/log(10))+113)/2}') 

Here we do the second calculation

3) Step

                             CSQ_RSSI=$((2 * CSQ - 113))

===================================================================================

So, let's try to calculate live example
I have these signals
image

From screenshot we can see, that i have Primary Band B3 with bandwidth 20MHz
On 1) Step we will have digit 100
On 2) Step after calculation (values of variables: $RSRP=-89; $NP=100) we will have digit 27
On 3) Step we make calculation 2*27-113=-59 (RSSI)
let's compare result -59 with screenshot, and we see that everything matches, on screenshot there is RSSI -59 and from our calculation we also got -59

Sorry, described how I could.

<!-- gh-comment-id:1564716634 --> @newdanceradio commented on GitHub (May 26, 2023): > Ok I can add PCI and EARFCN if these are the indicated values, I will do it over the weekend when I find a quiet/free moment. Yes, shure @4IceG no problem. Yes, this values are indicated by command AT+RSRP? Here is live example from modem L860 ``` +RSRP: 502,1820,-89.00,502,6200,-90.00,502,300,-95.00,494,1820,-103.00 OK ``` Explaining about example above marked with bold is PCI **502**,1820,-89.00,**502**,6200,-90.00,**502**,300,-95.00,494,1820,-103.00 marked with bold is EARFCN 502,**1820**,-89.00,502,**6200**,-90.00,502,**300**,-95.00,494,1820,-103.00 Next, about correct calculation of RSSI Here we get bandwidth of primary band, let's say, first band B3 have a 20MHz bandwidth +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0 - in this example it will be 5 ### **1)** Step ``` BWDL=$(echo "$O" | awk -F [:,] '/\+XLEC:/{gsub("\r","",$4); print $4}') case $BWDL in 1) NP=15 ;; 2) NP=25 ;; 3) NP=50 ;; 4) NP=75 ;; 5) NP=100 ;; *) NP=0 ;; esac ``` so $BWDL will be 100 Here we do first calculation ### **2)** Step ``` CSQ=$(echo $RSRP $NP | awk '{printf "%.0f\n", (($1+10*log(12*$2)/log(10))+113)/2}') ``` Here we do the second calculation ### **3)** Step ``` CSQ_RSSI=$((2 * CSQ - 113)) ``` =================================================================================== So, let's try to calculate live example I have these signals ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/61b560a4-f72a-4f76-b4e4-acb147a6fe50) From screenshot we can see, that i have Primary Band B3 with bandwidth 20MHz On 1) Step we will have digit 100 On 2) Step after calculation (values of variables: $RSRP=-89; $NP=100) we will have digit 27 On 3) Step we make calculation 2*27-113=-59 (RSSI) let's compare result -59 with screenshot, and we see that everything matches, on screenshot there is RSSI -59 and from our calculation we also got -59 Sorry, described how I could.
Author
Owner

@4IceG commented on GitHub (May 29, 2023):

Hi @newdanceradio ,
Today I found a moment to work on the update.
Let me know if it's ok 😄 now.

luci-app-3ginfo-lite_1.0.47-20230529_all.zip

Sorry, described how I could.

Cool, thanks for your help, it's nice that We modem users help each other.

<!-- gh-comment-id:1566757308 --> @4IceG commented on GitHub (May 29, 2023): Hi @newdanceradio , Today I found a moment to work on the update. Let me know if it's ok 😄 now. [luci-app-3ginfo-lite_1.0.47-20230529_all.zip](https://github.com/4IceG/luci-app-3ginfo-lite/files/11589993/luci-app-3ginfo-lite_1.0.47-20230529_all.zip) > Sorry, described how I could. Cool, thanks for your help, it's nice that We modem users help each other.
Author
Owner

@newdanceradio commented on GitHub (May 29, 2023):

Hi @4IceG ,
All is good now.
RSSI is calculated correctly!
Also PCI and EARFCN is showing now!
Brilliant !
I would like to tell thank you @4IceG
image

<!-- gh-comment-id:1566928775 --> @newdanceradio commented on GitHub (May 29, 2023): Hi @4IceG , All is good now. RSSI is calculated correctly! Also PCI and EARFCN is showing now! Brilliant ! I would like to tell thank you @4IceG ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/377e3d81-91e7-48f9-b525-3e7ad48bb727)
Author
Owner

@4IceG commented on GitHub (May 29, 2023):

Great 👍🏻 , I'm glad that everything works and the data shown is correct.

<!-- gh-comment-id:1566954749 --> @4IceG commented on GitHub (May 29, 2023): Great 👍🏻 , I'm glad that everything works and the data shown is correct.
Author
Owner

@newdanceradio commented on GitHub (Jun 19, 2024):

Hello @4IceG.
I have upgraded package and now something strange is going on
image
it doesn't show SINR anymore
and about bands also it showing strange things
image
It is showing twice band B1
but in reality output from modem is:
AT+XLEC?
+XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0

<!-- gh-comment-id:2178472477 --> @newdanceradio commented on GitHub (Jun 19, 2024): Hello @4IceG. I have upgraded package and now something strange is going on ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/add805b4-80cd-4d38-9523-bcc5669f55f8) it doesn't show SINR anymore and about bands also it showing strange things ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/e101c5a1-079a-47d1-95f3-83c1ce433639) It is showing twice band B1 but in reality output from modem is: AT+XLEC? +XLEC: 0,3,5,3,5,BAND_LTE_3,20,1,0,0
Author
Owner

@4IceG commented on GitHub (Jun 19, 2024):

Hi,
@newdanceradio Unpack archive fix_test.zip and replace the files. File path \usr\share\3ginfo-lite\modem\usb.

Too many modems, I don't remember all the changes in scripts.

<!-- gh-comment-id:2178520551 --> @4IceG commented on GitHub (Jun 19, 2024): Hi, @newdanceradio Unpack archive [fix_test.zip](https://github.com/user-attachments/files/15900366/fix_test.zip) and replace the files. File path \usr\share\3ginfo-lite\modem\usb. Too many modems, I don't remember all the changes in scripts.
Author
Owner

@newdanceradio commented on GitHub (Jun 19, 2024):

Hi, @newdanceradio Unpack archive fix_test.zip and replace the files. File path \usr\share\3ginfo-lite\modem\usb.

Too many modems, I don't remember all the changes in scripts.

Thank you, BAND's looks fine now, also SINR is showing, but there is something with SINR calculation.
Sometime it is showing
image

<!-- gh-comment-id:2178564681 --> @newdanceradio commented on GitHub (Jun 19, 2024): > Hi, @newdanceradio Unpack archive [fix_test.zip](https://github.com/user-attachments/files/15900366/fix_test.zip) and replace the files. File path \usr\share\3ginfo-lite\modem\usb. > > Too many modems, I don't remember all the changes in scripts. Thank you, BAND's looks fine now, also SINR is showing, but there is something with SINR calculation. Sometime it is showing ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/b7cf1108-c87e-4ea1-a58d-8f6c33fe9304)
Author
Owner

@4IceG commented on GitHub (Jun 19, 2024):

fix2_test.zip
@newdanceradio Is it OK now?

<!-- gh-comment-id:2178622639 --> @4IceG commented on GitHub (Jun 19, 2024): [fix2_test.zip](https://github.com/user-attachments/files/15901003/fix2_test.zip) @newdanceradio Is it OK now?
Author
Owner

@newdanceradio commented on GitHub (Jun 19, 2024):

Yeah, now all is good, seems everything is correct, thank you very much.

I would like to ask one more thing, in modemdefine Fibocom L860 is showing as
image

<!-- gh-comment-id:2178684391 --> @newdanceradio commented on GitHub (Jun 19, 2024): Yeah, now all is good, seems everything is correct, thank you very much. I would like to ask one more thing, in modemdefine Fibocom L860 is showing as ![image](https://github.com/4IceG/luci-app-3ginfo-lite/assets/17381301/eeb77fe4-c067-4d87-9e86-9af16b9f40db)
Author
Owner

@4IceG commented on GitHub (Jun 19, 2024):

@newdanceradio In the Manufacturer / Product field you can enter the corrected name of modem (manually).

Data is taken from command result cat /sys/kernel/debug/usb/devices, sometimes they show stupid things there.

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=095a Rev= 3.50
S:  Manufacturer=Intel Corp.
S:  Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS
<!-- gh-comment-id:2178716773 --> @4IceG commented on GitHub (Jun 19, 2024): @newdanceradio In the `Manufacturer / Product` field you can enter the corrected name of modem (manually). Data is taken from command result `cat /sys/kernel/debug/usb/devices`, sometimes they show stupid things there. ``` T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=8087 ProdID=095a Rev= 3.50 S: Manufacturer=Intel Corp. S: Product=MODEM + 2 CDC-ACM + 3 CDC-NCM + SS ```
Author
Owner

@newdanceradio commented on GitHub (Jun 19, 2024):

Manufacturer / Product field you can enter the corrected name of modem (manually).

Heh, right, didn't noticed right away.
Entered manufacturer and product manually.
Thank you @4IceG as always.

<!-- gh-comment-id:2178739934 --> @newdanceradio commented on GitHub (Jun 19, 2024): > `Manufacturer / Product` field you can enter the corrected name of modem (manually). Heh, right, didn't noticed right away. Entered manufacturer and product manually. Thank you @4IceG as always.
Author
Owner

@4IceG commented on GitHub (Jun 19, 2024):

Heh, right, didn't noticed right away.
Entered manufacturer and product manually.
Thank you @4IceG as always.

Super! The OpenWrt community should help each other 💪🏻 😃.

<!-- gh-comment-id:2178764246 --> @4IceG commented on GitHub (Jun 19, 2024): > Heh, right, didn't noticed right away. > Entered manufacturer and product manually. > Thank you @4IceG as always. Super! The OpenWrt community should help each other 💪🏻 😃.
Author
Owner

@PovilasID commented on GitHub (Jan 2, 2025):

For me SIM seams to be connected but no data is transferred. (▼ 0.0 B ▲ 0.0 B) How do I debug? Can I use any AT commands that would check connection.

<!-- gh-comment-id:2568226197 --> @PovilasID commented on GitHub (Jan 2, 2025): For me SIM seams to be connected but no data is transferred. (▼ 0.0 B ▲ 0.0 B) How do I debug? Can I use any AT commands that would check connection.
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/luci-app-3ginfo-lite#160
No description provided.