Closed HansBorjes closed 1 year ago
Hi @HansBorjes , it's nice that you want to help add support to the modem, but that's not how I do it. I downloaded a file with commands for this modem, so I saw that a lot of at commands are universal, which will make it easier to add.
At the beginning of.. Send comment with modem description VID and PID identifier on the USB bus.
@4IceG Just wanted to let you know what I hacked locally on my machine. My proposal is actually independent of any modems. I looked the enumerations up from the ETSI standard. At the moment it is important for me to distinguish between the different flavours of 5G, as networks here are evolving at present and I am testing SIM cards from different providers. So, would be nice if you could incorporate that.
I guess this is what you are looking for:
[ 1.953650] usb 2-3: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd [ 1.986451] usb 2-3: New USB device found, idVendor=2cb7, idProduct=0104, bcdDevice= 4.14 [ 1.994672] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2.001831] usb 2-3: Product: Fibocom Modem_SN:854Fxxxx [ 2.007062] usb 2-3: Manufacturer: Fibocom [ 2.011154] usb 2-3: SerialNumber: 854fxxxx [ 2.034417] usb 2-3: Enable of device-initiated U1 failed. [ 2.040702] usb 2-3: Enable of device-initiated U2 failed.
I understand your reasoning, it is ok in principle, but it differs from what I would like my package to show.
To make my package as universal as possible, I can't show everything. Anyway, I want the package to be pleasing to the eye and easy to read.
Yes, I needed these two data "idVendor=2cb7, idProduct=0104"
After this data, 3ginfo-lite knows what modem it will work with. Now it will be possible to slowly add support for this modem.
Hi @HansBorjes , could you check if these commands work? I haven't found commands from the signal/network for this modem and I want to check if those from lower models will work.
AT+XCESQ?
AT+XCCINFO?
AT+XLEC?
AT+GTCCINFO?
AT+GTRAT?
AT+GTCAINFO?
AT+XACT?
Hi @4IceG, result as follows:
AT+XCESQ? - no response AT+XCCINFO? - no response AT+XLEC? - no response
AT+GTCCINFO? +GTCCINFO: LTE service cell: 1,4,262,01,5D4,1BC7511,1900,1CD,120,50,12,35,35,20 LTE neighbor cell: 2,4,,,,,1900,1B4,,25,25,0 2,4,,,,,514,19D,,26,26,8 2,4,,,,,514,172,,26,26,8
AT+GTRAT? +GTRAT: 10,6,3
AT+GTCAINFO? PCC: 120,461,6400,50,2,1,1,1,34
AT+XACT? - no response
Thanks for working on FM-150!
It's hard to add anything for this modem, I can't find any documentation/at commands anywhere. It's not helping.
AT+XCESQ? - no response
But this one works.
AT+CESQ +CESQ: 99,99,255,255,18,34,255,255,255
Taken from this document: https://guidessimo.com/document/1509878/fibocom-l860-gl-at-command-user-manual-254.html
As for the 5G modem, we still know very little.
They should provide documentation to make the modem easy to configure = more popular.
Fibocom states they are according to https://www.etsi.org/deliver/etsi_ts/127000_127099/127007/10.03.00_60/ts_127007v100300p.pdf
In this document is a section 8.69 "Extended signal quality +CESQ" with remark: Implementation Optional.
For me it would be fine to use the commands we have and omit the ones that are not implemented.
Best effort approach?
The documentation is actually online on a chinese website. https://download.csdn.net/download/w659377727/21736838?utm_source=iteye
The document index contains +CLAC, List of all available AT commands
My modem returns
AT+CLAC &C &D &E &F &S &V &W E I L M Q V X Z T P \Q \S \V %V D A H O S0 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S30 S103 S104 +FCLASS +ICF +IFC +IPR +GMI +GMM +GMR +GCAP +GSN +DR +DS +CMEE +WS46 +PACSP +CFUN +CLCC +CBST +CRLP +CV120 +CHSN +CSSN +CREG +CGREG +CEREG +C5GREG +CSCS +CSTA +CR +CEER +CRC +CGDCONT +CGDSCONT +CGTFT +CGEQREQ +CGEQMIN +CGEQOS +CGCONTRDP +CGSCONTRDP +CGTFTRDP +CGEQOSRDP +CGQREQ +CGQMIN +CGEREP +CGPADDR +CGDATA +CGCLASS +CGPIAF +C5GNSSAI +C5GNSSAIRDP +CGSMS +CSMS +CMGF +CSAS +CRES +CSCA +CSMP +CSDH +CSCB +C5GSMS +C5GUSMS +ES +ESA +CMOD +CEMODE +CVHU +QCGEQMIN +QCGEQOS +QCGEQREQ +QCGQMIN +QCGQREQ +QCGTFT +CEMBMSCFG +CEMBMSSRV +CEMBMSDATA +CEMBMSCNT +CEMBMSSAI +CSVM +CSQ +CBC +CPAS +CPIN +CMEC +CIND +CMER +CGATT +CGACT +CGCMOD +CPBS +CPBR +CPBF +CPBW +CPMS +CNMI +CMGL +CMGR +CMGS +CMSS +CMGW +CMGD +CMGC +CNMA +CMMS +CHUP +CCFC +CCUG +COPS +CLCK +CPWD +CUSD +CAOC +CACM +CAMM +CPUC +CCWA +CHLD +CIMI +CGMI +CGMM +CGMR +CGSN +CNUM +CSIM +CRSM +CCLK +COPN +CPOL +CPLS +CTZR +CTZU +CLAC +CLIP +COLP +CDIP +CTFR +CLIR +VTS +ICCID +CUAD +CEAP +CERP +CSTF +CSDF +CVMOD +CEN +CNMPSD +CMCCS +CCMMD +CCFCU +CSUPI +CFSN +GTUSIM +VTD +VTA +RESET +CPWROFF +CFUN +GTOTA +MTSM +GTTHML +GTFMODE +GTUSBMODE +MMAD +CBC +DIAGEN +DUMPEN +SYSCMD $QCSIMSTAT $QCPBMPREF $CREG $CCLK $QCCNMI *CNTI $QCCLR $QCDMR $QCDNSP $QCDNSS $QCTER $QCSIMAPP $QCPINSTAT $QCPDPP $QCPDPLT $QCPWRDN $QCDGEN $QCPDPCFGE $QCANTE $QCRPW $QCSQ $CSQ $QCSYSMODE $QCCTM $QCBANDPREF ^SYSINFO ^SYSCONFIG ^CARDMODE ^DSCI $QCVOLT $QCHWREV $QCBOOTVER $QCDEFPROF $QCMRUE $QCMRUC $QCAPNE $QCPDPIMSCFGE $QCCLAC ^SPN $QCRMCALL $QCDRX $QCRSRP $QCRSRQ $QCACQDBC $QCATMOD $QCCOPS ^MODE $QCSIMT $QCNSP $QCRCIND $QCCSGCOPS $QCPDPCFGEXT $QCPRFCRT $QCPRFMOD $QCRSCP $QCECNO $QCPCOLIST $QCMSISDN $QCPCOMSISDN $QCCALLATTR $QCIMSSRV $QCCCFC
So, that's better than nothing. :-)
Always something better than nothing. I will try to add what is from the package update, if something new appears, it will be added.
Commands alone without explanations don't help either :).
Hi @HansBorjes , add this file and see what the modem will show.
/usr/share/3ginfo-lite/3ginfo-addon/2cb70104
2cb70104.zip
@4IceG It shows JSON Parse error: Unexpected EOF.
AT+CGMI?;+CGMM?;+CGMR?;+CIMI?;+ICCID;+CGSN? returns
AT+CGMI?;+CGMM?;+CGMR?;+CIMI?;+ICCID;+CGSN? +CGMI: "Fibocom Wireless Inc."
Ok.. Show me the result of the command: sh -x /usr/share/3ginfo-lite/3ginfo.sh
+ RES=/usr/share/3ginfo-lite
+ uci -q get '3ginfo.@3ginfo[0].device'
+ DEVICE=/dev/ttyUSB1
+ '[' x/dev/ttyUSB1 '=' x ]
+ echo /dev/ttyUSB1
+ '[' x/dev/ttyUSB1 '=' x ]
+ '[' x/dev/ttyUSB1 '=' x ]
+ uci -q get '3ginfo.@3ginfo[0].network'
+ SECT=@MODEM
+ SUB=@
+ '[[' @MODEM '==' '*@*' ]]
+ echo @MODEM
+ sed s/@//
+ SEC=MODEM
+ '[' -z MODEM ]
+ CONN_TIME=-
+ RX=-
+ TX=-
+ ifstatus+ grep '"up": true'
MODEM
+ NETUP=' "up": true,'
+ '[' -n ' "up": true,' ]
+ uci -q -P /var/state/ get network.MODEM.connect_time
+ CT=
+ '[' -z ]
+ ifstatus MODEM
+ xargs
+ awk '-F[:,]' '/uptime/ {print $2}'
+ CT=9875
+ '[' '!' -z 9875 ]
+ expr 9875 / 60 / 60 / 24
+ D=0
+ expr 9875 / 60 / 60 '%' 24
+ H=2
+ expr 9875 / 60 '%' 60
+ M=44
+ expr 9875 '%' 60
+ S=35
+ printf '%dd, %02d:%02d:%02d' 0 2 44 35
+ CONN_TIME='0d, 02:44:35'
+ ifstatus MODEM
+ awk '-F"' '/l3_device/ {print $4}'
+ IFACE=wwan0
+ '[' -n wwan0 ]
+ ifconfig wwan0
+ awk '-F[()]' '/bytes/ {printf "%s",$2}'
+ RX='60.2 MiB'
+ ifconfig wwan0
+ awk '-F[()]' '/bytes/ {printf "%s",$4}'
+ TX='6.9 MiB'
+ sms_tool -D -d /dev/ttyUSB1 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: 17,99
+CPIN: READY
+COPS: 0,0,"Telekom.de",13
+COPS: 0,2,"26201",13
+CREG: 2,1,"5D4","01BC7511",13
'K
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 17,99
+CPIN: READY
+COPS: 0,0,"Telekom.de",13
+COPS: 0,2,"26201",13
+CREG: 2,1,"5D4","01BC7511",13
'K
+ awk '-F[, ]' '/^\+CSQ/ {print $2}'
+ CSQ=17
+ '[' x17 '=' x ]
+ '[' 17 -ge 0 -a 17 -le 31 ]
+ CSQ_PER=54
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 17,99
+CPIN: READY
+COPS: 0,0,"Telekom.de",13
+COPS: 0,2,"26201",13
+CREG: 2,1,"5D4","01BC7511",13
'K
+ awk '-F["]' '/^\+COPS: .,2/ {print $2}'
+ COPS_NUM=26201
+ '[' x26201 '=' x ]
+ COPS_MCCB=262
+ echo 262
+ tr '\n' ' '
+ sed 's/ //g'
+ COPS_MCC=262
+ COPS_MNCB=01
+ echo+ tr '\n' ' '
01
+ sed 's/ //g'
+ COPS_MNC=01
+ awk '-F[;]' '/26201/ {print $2}' /usr/share/3ginfo-lite/mccmnc.dat
+ COPS=T-mobile/Telekom
+ '[' xT-mobile/Telekom '=' x ]
+ '[' -z ]
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 17,99
+CPIN: READY
+COPS: 0,0,"Telekom.de",13
+COPS: 0,2,"26201",13
+CREG: 2,1,"5D4","01BC7511",13
'K
+ awk '-F["]' '/^\+COPS: .,0/ {print $2}'
+ T=Telekom.de
+ '[' xTelekom.de '!=' x ]
+ COPS=Telekom.de
+ echo Telekom.de+ sed ':s;s/\(\<\S*\>\)\(.*\)\<\1\>/\1\2/g;ts'
+ COPZ=Telekom.de
+ echo+ Telekom.deawk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1'
+ COPS=Telekom.de
+ echo 'AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG?
+CSQ: 17,99
+CPIN: READY
+COPS: 0,0,"Telekom.de",13
+COPS: 0,2,"26201",13
+CREG: 2,1,"5D4","01BC7511",13
'K
+ + xargsawk
'-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: 17,99
+CPIN: READY
+COPS: 0,0,"Telekom.de",13
+COPS: 0,2,"26201",13
+CREG: 2,1,"5D4","01BC7511",13
'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: 17,99
+CPIN: READY
+COPS: 0,0,"Telekom.de",13
+COPS: 0,2,"26201",13
+CREG: 2,1,"5D4","01BC7511",13
'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="1";LAC_HEX="5D4";CID_HEX="1BC7511";LAC_DEC="1492";CID_DEC="29127953";MODE_NUM="13"'
+ T=1
+ LAC_HEX=5D4
+ CID_HEX=1BC7511
+ LAC_DEC=1492
+ CID_DEC=29127953
+ MODE_NUM=13
+ REG=1
+ '[' -z 13 ]
+ '[' x13 '=' x0 ]
+ MODE='5G NSA'
+ sms_tool -d /dev/ttyUSB1 at at+cereg
' OTX='at+cereg
' echo 'at+cereg
+ sed+ 's/[^A-F0-9]//g'awk '-F[,]' '/^\+CEREG/ {printf "%s", toupper($3)}'
+ TAC=
+ '[' x '!=' x ]
+ TAC=-
+ TAC_HEX=-
+ uci -q get '3ginfo.@3ginfo[0].device'
+ DEVICE=/dev/ttyUSB1
+ echo x/dev/ttyUSB1
+ grep -q 192.168.
+ awk '/Vendor=/{gsub(/.*Vendor=| ProdID=| Rev.*/,"");print}' /sys/kernel/debug/usb/devices
+ sort -u
+ _DEVS='0bda8153
1d6b0002
1d6b0003
21093431
2cb70104'
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/0bda8153 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0002 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/1d6b0003 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/21093431 ]
+ '[' -e /usr/share/3ginfo-lite/3ginfo-addon/2cb70104 ]
+ cat /tmp/sysinfo/board_name
+ . /usr/share/3ginfo-lite/3ginfo-addon/2cb70104
+ sms_tool -d /dev/ttyUSB1 at+ xargs
'AT+GTCCINFO?'
+ QO='AT+GTCCINFO? +GTCCINFO: LTE service cell: 1,4,262,01,5D4,1BC7511,1900,1CD,120,50,12,36,36,22 LTE neighbor cell: 2,4,,,,,514,19D,,23,23,10 2,4,,,,,514,172,,23,23,10'
+ echo+ sed 's/.*LTE service cell://;'
'AT+GTCCINFO? +GTCCINFO: LTE service cell: 1,4,262,01,5D4,1BC7511,1900,1CD,120,50,12,36,36,22 LTE neighbor cell: 2,4,,,,,514,19D,,23,23,10 2,4,,,,,514,172,,23,23,10'+ xargs
+ S='1,4,262,01,5D4,1BC7511,1900,1CD,120,50,12,36,36,22 LTE neighbor cell: 2,4,,,,,514,19D,,23,23,10 2,4,,,,,514,172,,23,23,10'
+ echo '1,4,262,01,5D4,1BC7511,1900,1CD,120,50,12,36,36,22 LTE neighbor cell: 2,4,,,,,514,19D,,23,23,10 2,4,,,,,514,172,,23,23,10'
+ awk -F 'LTE neighbor cell' '{print $1}'
+ xargs
+ E=1,4,262,01,5D4,1BC7511,1900,1CD,120,50,12,36,36,22
+ echo 'AT+GTCCINFO? +GTCCINFO: LTE service cell: 1,4,262,01,5D4,1BC7511,1900,1CD,120,50,12,36,36,22 LTE neighbor cell: 2,4,,,,,514,19D,,23,23,10 2,4,,,,,514,172,,23,23,10'
+ + awk 'NR ==2{print}'
grep -A2 'service cell'
+ OX=
+ echo 1,4,262,01,5D4,1BC7511,1900,1CD,120,50,12,36,36,22
+ + awk '-F[,:]' '/^\+GTCCINFO:/ {print $6}'
xargs
+ TAC_HEX=
+ '[' -n TAC_HEX ]
/usr/share/3ginfo-lite/3ginfo.sh: /usr/share/3ginfo-lite/3ginfo-addon/2cb70104: line 12: arithmetic syntax error
root@RAN:/usr/share/3ginfo-lite/3ginfo-addon#
Another version to test.. 2cb70104.zip
Okay, thanks. We are getting further. I had to do some edits.
> 11c11
> < if [ -n "$TAC_HEX" ]; then
> ---
> > if [ -n "TAC_HEX" ]; then
> 22c22
> < RSSI=$(echo "$OX" | awk -F [,] '{printf "%.0f\n", $14-110}')
> ---
> > RSSI=$(echo "$OX" | awk -F[,] '{printf "%.0f\n", $14-110}')
> 31c31
> < #MODEL="$MODELB "$MODELA
> ---
> > MODEL="$MODELB "$MODELA
> 44c44
> < # edited
> ---
> >
> 47c47
> < TX=$(echo "$OT" | awk '/\+MTSM:/{print $2}')
> ---
> > TX=$(echo "$OT" | awk '/\+MTSM/{print $2}')
> 49c49
> < TEMP="$TX °C"
> ---
> > TEMP="$T °C"
>
>
That results in
Right, lots of mistakes on my part. Lack of concentration.
You can check if it's better now. Can you add what's missing?
# Fibocom FM-150
O=$(sms_tool -d $DEVICE at "AT+GTCCINFO?")
T=$(echo $O | tr -s "\n" | xargs)
MODE=$(echo $T | awk '{print $3}')
TAC_HEX=$(echo "$T" | awk -F[,:] '{print $7}' | xargs)
if [ -n "$TAC_HEX" ]; then
TAC_DEC=$(( 16#$TAC_HEX ))
fi
if [ "$MODE" = "LTE" ]; then
RSRQ=$(echo "$T" | awk -F [,] '{printf "%.0f\n", -20+($14/2)}')
RSRP=$(echo "$T" | awk -F [,] '{printf "%.0f\n", $13-140}')
SINR=$(echo "$T" | awk -F [,] '{printf "%.0f\n", $11/4+5}')
RSSI=$(echo "$T" | awk -F[,] '{printf "%.0f\n", $14-110}')
fi
# Modem
OA=$(sms_tool -d $DEVICE at "AT+CGMM?")
MODELA=$(echo "$OA" | awk -F [:,] '/\+CGMM/{gsub("\"","");print $2}')
OB=$(sms_tool -d $DEVICE at "AT+CGMI?")
MODELB=$(echo "$OB" | awk -F [:,] '/\+CGMI/{gsub("\"","");print $2}')
MODEL="$MODELB "$MODELA
OF=$(sms_tool -d $DEVICE at "at+gmr?")
FW=$(echo "$OF" | awk -F[,:] '/^\+GMR:/ {print $2}' | xargs)
# International Mobile Equipment Identity (IMEI)
OAA=$(sms_tool -d $DEVICE at "AT+CGSN?")
NR_IMEI=$(echo "$OAA" | awk -F [:,] '/\+CGSN/{gsub("\"","");print $2}')
# International Mobile Subscriber Identity (IMSI)
OBB=$(sms_tool -d $DEVICE at "AT+CIMI?")
NR_IMSI=$(echo "$OBB" | awk -F [:,] '/\+CIMI/{gsub("\"","");print $2}')
# Integrated Circuit Card Identifier (ICCID)
OCC=$(sms_tool -d $DEVICE at "AT+ICCID")
NR_ICCID=$(echo "$OCC" | awk -F [:] '/ICCID:/{gsub("\r","");print $2}')
# Temp
OT=$(sms_tool -d $DEVICE at "AT+MTSM=1")
TX=$(echo "$OT" | awk '/\+MTSM/{print $2}')
if [ -n "$TX" ]; then
TEMP="$TX °C"
fi
# Protocol
# DRIVER=QMI_WWAN & DRIVER=CDC_MBIM & DRIVER=CDC_ETHER
PV=$(cat /sys/kernel/debug/usb/devices 2>/dev/null)
PVCUT=$(echo $PV | awk -F 'Vendor=2cb7 ProdID=0104' '{print $2}' | cut -c-1290)
if echo "$PVCUT" | grep -q "Driver=qmi_wwan"
then
PROTO="qmi"
elif echo "$PVCUT" | grep -q "Driver=cdc_mbim"
then
PROTO="mbim"
elif echo "$PVCUT" | grep -q "Driver=cdc_ether"
then
PROTO="ecm"
fi
The good news is that I could modify your code and get another step further.
The bad news is that I had to change many lines in order to get them running without JSON parse errors. I am really not a shell guy and it takes me a lot of time to find out which lines fail and why.
Unfortunately you didn't use all my changes from the diff above that I had to apply again.
This time I had to do so many changes that I consider impossible to see them without a diff tool. Can we just use the power of github by adding it as a file here in the repo? I can then propose my changes on a branch.
Nobody said that adding a modem is quick, easy and fun. :) The easiest way to add a modem that you have because you can easily go command by command and then you can see where you made a mistake. I test scripts before adding, but I'm only human and can make mistakes.
I can add what's in the package on the next build. All you have to do is send me the file here.
All you have to do is send me the file here.
Okay, I will fine-tune a little bit and upload my file next days.
Another question upfront: if modem reports mode 13, we will assume 5G Non Standalone, right?
I'm sorry but I don't know what this message means, maybe the documentation explains something.
... maybe the documentation explains something.
Thanks, that helps. It clearly says that if the modem tells
AT+COPS? +COPS: 0,2,"26201",13
it is in 13 E-UTRA-NR dual connectivity (see NOTE 6)
NOTE 6: 3GPP TS 38.331 [160] specifies the information which, if present, indicates that the serving cell is supporting dual connectivity of E-UTRA with NR and is connected to an EPS core.
I will add that in my file version and submit it to you when tested.
Okay, this is my tested version Please include it in the next release.
Hi @HansBorjes , Ok thanks. Do you have a screenshot? I'm curious what the added support looks like now :).
Sure. What remains open is carrier aggregation info. I couldn't figure out from the document how to read that from the modem. Probably we find out later.
Looks nice :).
The scripts still don't cut as they should. Truncates unit in connection stats.
We can also remove "Wireless Inc." from the modem name.
I don't know if this command is not responsible for aggregation.. we just need to decode it.
AT+GTCAINFO?
PCC: 120,461,6400,50,2,1,1,1,34
I can carefully change single lines in the script to test improvements.
Interesting command that is not mentioned in the doc. In my case it returns:
AT+GTCAINFO?
PCC: 108,196,3749,50,2,1,0,0,40
Would it be helpful to compare with data from cellmapper.net?
This should work quickly:
# Modem
OA=$(sms_tool -d $DEVICE at "AT+CGMM?")
MODELA=$(echo "$OA" | awk -F [:,] '/\+CGMM/{print $2}' | xargs)
OB=$(sms_tool -d $DEVICE at "AT+CGMI?")
MODELB=$(echo "$OB" | awk -F [:,] '/\+CGMI/{print $2}' | xargs)
MODELBCUT=$(echo $MODELB | sed s/"Wireless Inc."//)
MODEL="$MODELBCUT $MODELA"
Would it be helpful to compare with data from cellmapper.net?
Either way is good to understand what the modem returns.
I can carefully change single lines in the script to test improvements.
Interesting command that is not mentioned in the doc. In my case it returns:
AT+GTCAINFO? PCC: 108,196,3749,50,2,1,0,0,40
Would it be helpful to compare with data from cellmapper.net?
Yes!
196 = PCI 3749 = EARFCN
This should work quickly:
# Modem OA=$(sms_tool -d $DEVICE at "AT+CGMM?") MODELA=$(echo "$OA" | awk -F [:,] '/\+CGMM/{print $2}' | xargs) OB=$(sms_tool -d $DEVICE at "AT+CGMI?") MODELB=$(echo "$OB" | awk -F [:,] '/\+CGMI/{print $2}' | xargs) MODELBCUT=$(echo $MODELB | sed s/"Wireless Inc."//) MODEL="$MODELBCUT $MODELA"
Confirmed.
But we still need to get the band(s) out.
I'll keep looking, I'll ask. Slowly, but forward :).
Hi @HansBorjes , can you show the result of the commands again:
AT+CSQ
at+CPIN?
at+COPS=3,0;+COPS?
at+COPS=3,2;+COPS?
at+CREG=2;+CREG
AT+GTCCINFO?
AT+GTRAT?
AT+GTCAINFO?
Sure. But at the moment I have switched to my Vodafone simcard. They offer 5G SA which is not available inhouse due to 3,6GHz carrier.
Does it still make sense to run your commands in a different simcard context?
Hi, you can test on both cards. More examples means a better chance of understanding the commands syntax.
AT+CSQ +CSQ: 21,99
at+CPIN? +CPIN: READY
at+COPS=3,0;+COPS? +COPS: 0,0,"vodafone.de",7
at+COPS=3,2;+COPS? +COPS: 0,2,"26202",7
at+CREG=2;+CREG
AT+GTCCINFO? +GTCCINFO: LTE service cell: 1,4,262,02,BFD3,2D4201,189C,30,120,50,16,42,42,26 LTE neighbor cell: 2,4,,,,,189C,190,,24,24,2 2,4,,,,,189C,DB,,34,34,10 2,4,,,,,189C,165,,28,28,2 2,4,,,,,189C,1A0,,27,27,0 2,4,,,,,189C,CF,,33,33,12 2,4,,,,,64,EA,,12,12,10
AT+GTRAT? +GTRAT: 6,3,2
AT+GTCAINFO? PCC: 120,48,6300,50,0,1,0,0,42
Hi @HansBorjes , make a copy of the file and test this version if you can.
Still this modem is a mystery, I can't find the syntax for all the commands, so it's hard to get more details. 2cb70104.zip
... make a copy of the file and test this version if you can.
Looks like this. It is only assessing for LTE mode, not yet 5G, right?
Exactly, the scripts read LTE itself. The modem does not return information that it is using 5G (for 5G it should be "NR service cell:"), so LTE is correct here, even there is no band aggregation, which is shown by the command "AT+GTCAINFO?".
Ok, TAC and these connection statistics without a unit remain to be correct.
I would expect band aggregation to be initiated dynamically by the network on a large active download, not by the modem and not in idle.
I am not sure about 5G NR service cell. Isn't that only true for 5G SA? For 5G NSA the control plane is still LTE and the user plane is 5G, i.e. data transmission. And I am speculating that the network will also handle that dynamically.
Isn't that the unpleasant situation that network providers don't want smartphones to display LTE in 5G NSA?
In my opinion, the modem uses whatever technology it is within range. I have an LTE-A modem and I don't have LTE at the start, I have aggregation right away (4 bands), as much as BTS allows.
You know the commands, you can test yourself by downloading something from the Internet. Will the modem work as you think.
A modem is not a smartphones, here the user sees more data and You can get more information on your phone by installing additional applications. The question is whether the user wants to see more, more precisely.
Shows if there is 5G (for 5G it should be "NR service cell:")
AT+GTCCINFO?
Shows if there is band aggregation ("SCC:" on aggregation, in my opinion)
AT+GTCAINFO?
In Germany we have 4 providers running own networks.
I only have simcards from Telekom and Vodafone at the moment. I have tried to force my modem into mode 12, but no registration possible. That seems to match the limitation of my private customer simcard.
The interesting thing is that my modem is certified by Deutsche Telekom, so I suppose it fulfills all 5G requirements from their network.
I think in the 5G NSA model the modem registers in the LTE network and uses spectrum of a 5G cell for data transmission. In the 5G SA model it registers directly on a 5G cell.
I do not keep track of what it looks like in Poland. Probably most operators only provide 5G NSA, as far as I know, Plus is developing its 5G SA. Unfortunately, the number of BTSs and the prices of new/sensible modems effectively discourage testing this technology.
Tested with Fibocom FM-150 and telekom.de
AT+CSQ;+CPIN?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?;+CREG=2;+CREG? +CSQ: 17,99 +CPIN: READY +COPS: 0,0,"Telekom.de",13 +COPS: 0,2,"26201",13 +CREG: 2,1,"5D4","01BC7511",13