op-packages/luci-app-3ginfo-lite/root/usr/share/3ginfo-lite/modem/usb/03f00a57
github-actions[bot] 32600acc60 🌴 Sync 2026-03-05 23:51:42
2026-03-05 23:51:42 +08:00

129 lines
3.9 KiB
Plaintext

# Telit LN940 (QMI) / Telit LN940 (MBIM) / HP lt4220 (MBIM) / HP lt4220 (QMI)
O=$(sms_tool -D -d $DEVICE at "AT^CA_INFO?;^RFSTS?;+TEMP")
TR=$(echo "$O" |grep -A2 RFSTS: | awk 'NR ==2{print $0}')
if [ "$MODE" = "LTE" ]; then
RSRP=$(echo "$TR" | awk -F [,] '{printf "%.0f\n",$3}')
RSSI=$(echo "$TR" | awk -F [,] '{printf "%.0f\n",$4}')
RSRQ=$(echo "$TR" | awk -F [,] '{printf "%.0f\n",$5}')
SINR=$(echo "$TR" | awk -F [,] '{printf "%.0f\n",$16*2-20}')
else
SINR=$(echo "$TR" | awk -F [,] '{printf "%.0f\n",$4}')
RSSI=$(echo "$TR" | awk -F [,] '{printf "%.0f\n",$6}')
fi
T=$(echo "$O" | awk -F[,:] '/^\PCC info: /{print $2}' | sed 's/Band is //g')
[ -z "$T" ] && T=$(echo "$O" | awk -F[,] '/^\PCC info: /{print $2}')
if [ -n "$T" ]; then
PC=$(echo $T | tr -d 'LTE_B')
MODE="LTE | $(band4g $PC)"
T=$(echo "$O" | awk -F[,:] '/^\SCC1 info: /{print $2}' | sed 's/Band is //g')
if [ -n "$T" ]; then
SC1=$(echo $T | tr -d 'LTE_B')
MODE="${MODE/LTE/LTE_A} / "$(band4g ${SC1} "")
fi
T=$(echo "$O" | awk -F[,:] '/^\SCC2 info: /{print $2}' | sed 's/Band is //g')
if [ -n "$T" ]; then
SC2=$(echo $T | tr -d 'LTE_B')
MODE="${MODE} / "$(band4g ${SC2} "")
fi
fi
MODE=$(echo $MODE | sed 's,/,+,' | sed 's,LTE_A,LTE-A ,')
# Primary band
T1=$(echo "$O" | awk '/PCC/{print $5}' | sed -e 's/LTE_//g' -e 's/.$//')
if [ -n "$T1" ]; then
T2=$(echo "$O" | awk '/PCC/{print $8}' | sed -e 's/Band_width//g')
PBAND="$(band4g ${T1/B/} "") @$T2 MHz"
EARFCN=$(echo "$TR" |awk -F [,] '{print $2}')
PCI=$(echo "$TR" |awk -F [,] '{print $11}')
fi
# CA band (S1)
T3=$(echo "$O" | awk '/SCC1/{print $5}' | sed -e 's/LTE_//g' -e 's/.$//')
if [ -n "$T3" ]; then
T4=$(echo "$O" | awk '/SCC1/{print $8}' | sed -e 's/Band_width//g')
S1BAND="$(band4g ${T3/B/} "") @$T4 MHz"
# S1EARFCN=$(echo "$TR" |awk -F [,] '{print $2}')
# S1PCI=$(echo "$TR" |awk -F [,] '{print $11}')
fi
# CA band (S2)
T5=$(echo "$O" | awk '/SCC2/{print $5}' | sed -e 's/LTE_//g' -e 's/.$//')
if [ -n "$T5" ]; then
T6=$(echo "$O" | awk '/SCC2/{print $8}' | sed -e 's/Band_width//g')
S2BAND="$(band4g ${T5/B/} "") @$T6 MHz"
# S2EARFCN=$(echo "$TR" |awk -F [,] '{print $2}')
# S2PCI=$(echo "$TR" |awk -F [,] '{print $11}')
fi
# Temperature
T=$(echo "$O" | awk -F [:] '/tsens_tz_sensor0:/ {print $2}' | xargs)
if [ -n "$T" ]; then
TEMP=$(echo "$T °C")
fi
# Cell ID & LAC & TAC
LAC_HEX=$(printf "%X" $LAC_DEC)
if [ -n "$LAC_DEC" ]; then
TAC_HEX=$LAC_HEX
fi
CID_HEX=$(printf "%X" $CID_DEC)
# 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=03f0 ProdID=0a57' '{print $2}' | cut -c-1220)
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
# Model
PVMODEL=$(echo $PV | awk -F 'Vendor=03f0 ProdID=0a57' '{print $2}' | cut -c-150)
if [ -z "$MODEL" ]
then
MODELBCUT=$(echo $PVMODEL | awk -F 'Manufacturer=|S: Product=' '{print $2}'| xargs)
MODELACUT=$(echo $PVMODEL | awk -F 'Product=|S: SerialNumber' '{print $2}'| xargs)
MODELC="$MODELBCUT "$MODELACUT
MODEL=$(echo "$MODELC" | awk '{for (i=1;i<=NF;i++) if (!a[$i]++) printf("%s%s",$i,FS)}{printf("\n")}')
fi
# International Mobile Equipment Identity (IMEI)
O=$(sms_tool -d $DEVICE at "AT+GSN" | xargs)
NR_I=$(echo "$O" | awk -F " " '/GSN /{print $2}')
if [ -n "$NR_I" ]; then
NR_IMEI="$NR_I"
fi
# International Mobile Subscriber Identity (IMSI)
O=$(sms_tool -d $DEVICE at "AT+CIMI" | xargs)
NR_C=$(echo "$O" | awk -F " " '/CIMI /{print $2}')
if [ -n "$NR_C" ]; then
NR_IMSI="$NR_C"
fi
# Integrated Circuit Card Identifier (ICCID)
O=$(sms_tool -d $DEVICE at "AT+ICCID" | xargs)
NR_D=$(echo "$O" | awk -F [:] '/ICCID: /{print $2}' | xargs)
if [ -n "$NR_D" ]; then
NR_ICCID="$NR_D"
fi
# FW
OF=$(sms_tool -d $DEVICE at "ati")
DEV2=$(echo $OF | tr -s "\n" | xargs)
FW=$(echo $DEV2 | awk -F 'Revision: | IMEI: ' '{print $2}' | cut -c-50)