mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-27 01:52:51 +08:00
🎄 Sync 2026-08-10 20:58:00
This commit is contained in:
1 parent
f93918f4ae
commit
e68eb29c6f
37 files changed
+318
-551
No files matched your search
@@ -42,6 +42,9 @@
|
||||
# Telit LN940 LT4220
|
||||
1bc71900;QUALCOMM
|
||||
1bc71901;QUALCOMM
|
||||
# Telit LM960
|
||||
1bc71040;QUALCOMM_LM960
|
||||
1bc71041;QUALCOMM_LM960
|
||||
# Yuge CLM920
|
||||
12864e3c;YUGE
|
||||
# ThinkWill ML7820
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
# Qualcomm Modems (FoxConn T77W678, Telit LN940, HP LT4220)
|
||||
function modem_data(){
|
||||
generic_data
|
||||
# hwinfo and siminfo
|
||||
FAMILY_EX="Telit"
|
||||
OIFS="$IFS"; IFS="|"
|
||||
set -- $(echo "$O" | awk -v fam="$FAMILY_EX" '
|
||||
($0 ~ fam){manuf =$0; getline model; getline fw}
|
||||
/ICCID:/{split($0,i,":");gsub("\r",""); iccid=i[2]; getline imsi; getline imei}
|
||||
/TSENS2/{split($0,i,",");temp=i[2]}
|
||||
END{print manuf "|" model "|" fw "|" iccid "|" imsi "|" imei "|" temp}
|
||||
')
|
||||
MANUF=${1}; MODEL=${2}; FW=${3}; ICCID=${4}; IMSI=${5} IMEI=${6}; CHIPTEMP=${7}
|
||||
IFS="$OIFS"; unset OIFS
|
||||
DEVICE="$MANUF $MODEL"
|
||||
OIFS="$IFS"; IFS="|"
|
||||
# signal
|
||||
set -- $(echo "$O" | awk -v mode="$MODE" '
|
||||
BEGIN { map[1]=3; map[2]=5; map[3]=10; map[4]=15; map[5]=20 }
|
||||
mode ~ /LTE/ { # LTE mode
|
||||
if (/\+CEREG/){gsub("\"",""); split($0,i,","); reg=i[2]; lac=i[3]; cid=i[4]}
|
||||
if (/CAINFO:/){ split($0,i,","); earfcn=i[2]; rssi=sprintf("%.0f",i[6]); rsrp=sprintf("%.0f",i[5]);
|
||||
sinr=sprintf("%.0f",i[8]/5-20); rsrq=sprintf("%.0f",i[7]); pci=i[4]; bw=sprintf("%.0f",i[3]);
|
||||
lte_ca=i[15]; bwc=map[bw]
|
||||
}
|
||||
if (/PCC info/){bwc=sprintf("%.0f",$(NF-1)); bw=map[bwc]}
|
||||
cell = sprintf("%d", "0x" substr(cid, length(cid) - 1, 2))
|
||||
enbid = sprintf("%d", "0x" substr(cid, 1, length(cid) - 2))
|
||||
}
|
||||
mode !~ /LTE/ { # 3G mode
|
||||
if (/\+CREG/){gsub("\"",""); split($0,i,","); reg=i[2]; lac=i[3]; cid=i[4]}
|
||||
if (/RFSTS:/){ split($0,i,","); earfcn=i[2]; rssi=sprintf("%.0f",i[6]); sinr=sprintf("%.0f",i[4])}
|
||||
}
|
||||
END { print reg "|" earfcn "|" lac "|" cid "|" rssi "|" sinr "|" rsrp "|" rsrq "|" pci "|" bw "|" bwc "|" lte_ca "|" enbid "|" cell}
|
||||
')
|
||||
EARFCN=${2}; LAC=${3}; CID=${4}; CSQ_RSSI=${5}; SINR=${6}; RSRP=${7}; RSRQ=${8}; PCI=${9}; BWDL=${10}; BWDx=${11}; LTE_CA=${12}; ENBID=${13}; CELL=${14}
|
||||
IFS="$OIFS"; unset OIFS
|
||||
# LTE CA calc
|
||||
if [ $LTE_CA -ne 0 ]; then
|
||||
OIFS="$IFS"; IFS="|"
|
||||
set -- $(echo "$O" | awk -F"," -v bwc=${BWDx:=0} -v mode=$MODE '
|
||||
BEGIN { map[1]=3; map[2]=5; map[3]=10; map[4]=15; map[5]=20 }
|
||||
function earfcn_to_band(channel) {
|
||||
if (channel <= 1) return ""
|
||||
cmd = "/usr/share/modeminfo/scripts/ch_to_band " mode " " channel
|
||||
cmd | getline band
|
||||
close(cmd)
|
||||
return band
|
||||
}
|
||||
/CAINFO:/{
|
||||
ch[1]=14; ch[2]=25; ch[3]=36; ch[4]=47
|
||||
bw[1]=15; bw[2]=26; bw[3]=37; bw[4]=48
|
||||
scc = ""; bwcx = 0
|
||||
for(i=1;i<=4;i++) {
|
||||
if($ch[i]!=0) {
|
||||
scc=scc"+"earfcn_to_band($ch[i])
|
||||
bwcx=map[$bw[i]]
|
||||
bwca+=bwcx
|
||||
}
|
||||
}
|
||||
bwca=bwca+bwc
|
||||
print scc"|"bwca
|
||||
}
|
||||
')
|
||||
SCC=${1}; BWCA=${2}
|
||||
IFS="$OIFS"; unset OIFS BWDx
|
||||
fi
|
||||
|
||||
if [ $(uci -q get modeminfo.@general[0].decimail) = "1" ]; then
|
||||
LAC=$(printf %d 0x$LAC)
|
||||
CID=$(printf %d 0x$CID)
|
||||
fi
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
ATE0
|
||||
AT+COPS=3,0; +COPS?
|
||||
AT+CREG=2; +CREG?
|
||||
AT+CGREG=2; +CGREG?
|
||||
AT+CEREG=2; +CEREG?
|
||||
AT+CSQ
|
||||
AT#RFSTS
|
||||
AT#CAINFO?
|
||||
AT+CGMI; +CGMM; +CGMR; +ICCID; +CIMI; +CGSN
|
||||
AT#TEMPSENS=2
|
||||
Reference in new issue
Block a user