mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-06 20:14:10 +08:00
177 lines
3.8 KiB
Plaintext
177 lines
3.8 KiB
Plaintext
# Fibocom modems with ProdID=0105
|
|
# NL952-EAU in ECM mode (LTE CAT18)
|
|
|
|
O=$(sms_tool -d $DEVICE at "AT+GTCCINFO?;+GTCAINFO?")
|
|
|
|
if [ "x$MODE" = "xLTE" ]; then
|
|
if [[ "$O" == *"SCC"* ]]; then
|
|
MODE="LTE_A"
|
|
fi
|
|
T1=$(echo "$O" | grep -A 3 'LTE service cell' | grep '1,4,'${COPS_MCC}','${COPS_MNC}',')
|
|
if [ -n "$T1" ]; then
|
|
T=$(echo "$T1" | awk -F, '{print $5}')
|
|
if [ -n "$T" ]; then
|
|
T_DEC=$(printf "%d" "0x$T")
|
|
T_HEX=$T
|
|
LAC_DEC=""
|
|
LAC_HEX=""
|
|
fi
|
|
T=$(echo "$T1" | awk -F, '{print $7}')
|
|
if [ -n "$T" ]; then
|
|
EARFCN=$T
|
|
fi
|
|
T=$(echo "$T1" | awk -F, '{print $8}')
|
|
if [ -n "$T" ]; then
|
|
PCI=$T
|
|
fi
|
|
T=$(echo "$T1" | awk -F, '{print $9}')
|
|
if [ -n "$T" ]; then
|
|
T=$((T - 100))
|
|
MODE="$MODE | $(band4g $T)"
|
|
PBAND="$(band4g $T "")"
|
|
fi
|
|
T=$(echo "$T1" | awk -F, '{print $11}')
|
|
if [ -n "$T" ]; then
|
|
T2=$(echo "$T" | awk '{printf "%0.1f", $1/2 }')
|
|
SINR=$T2
|
|
fi
|
|
T=$(echo "$T1" | awk -F, '{print $13}')
|
|
if [ -n "$T" ]; then
|
|
RSRP=$((T - 141))
|
|
fi
|
|
T=$(echo "$T1" | awk -F, '{print $14}')
|
|
if [ -n "$T" ]; then
|
|
T2=$(echo "$T" | awk '{printf "%0.1f", ($1-34)/2-3 }')
|
|
RSRQ=$T2
|
|
fi
|
|
|
|
if [ -n "$CSQ" ]; then
|
|
RSSI=$((2 * $CSQ -113))
|
|
fi
|
|
|
|
|
|
fi
|
|
|
|
T=$(echo "$O" | awk -F[:,] '/^PCC/{print $3}')
|
|
if [ -n "$T" ]; then
|
|
PCI=$T
|
|
fi
|
|
T=$(echo "$O" | awk -F[:,] '/^PCC/{print $4}')
|
|
if [ -n "$T" ]; then
|
|
EARFCN=$T
|
|
fi
|
|
|
|
IFS="
|
|
"
|
|
|
|
IDX=1
|
|
LINES=$(echo "$O" | grep -E "^SCC[0-9]: 2")
|
|
for LINE in $LINES; do
|
|
T=$(echo "$LINE" | awk -F[:,] '/^SCC'$IDX': 2,./{print $4}')
|
|
T=$((T - 100))
|
|
|
|
T2=$(band4g $T)
|
|
MODE="$MODE / $T2"
|
|
|
|
if [ -n "$T" ]; then
|
|
|
|
case $IDX in
|
|
"1") S1BAND="$T2";;
|
|
"2") S2BAND="$T2";;
|
|
"3") S3BAND="$T2";;
|
|
"4") S4BAND="$T2";;
|
|
*);;
|
|
esac
|
|
|
|
case $IDX in
|
|
"1") S1PCI="$T";;
|
|
"2") S2PCI="$T";;
|
|
"3") S3PCI="$T";;
|
|
"4") S4PCI="$T";;
|
|
*);;
|
|
esac
|
|
|
|
fi
|
|
|
|
T=$(echo "$LINE" | awk -F[:,] '/^SCC'$IDX': 2,./{print $6}')
|
|
if [ -n "$T" ]; then
|
|
|
|
case $IDX in
|
|
"1") S1EARFCN="$T";;
|
|
"2") S2EARFCN="$T";;
|
|
"3") S3EARFCN="$T";;
|
|
"4") S4EARFCN="$T";;
|
|
*);;
|
|
esac
|
|
|
|
fi
|
|
IDX=$((IDX + 1))
|
|
done
|
|
|
|
fi
|
|
|
|
MODE=$(echo $MODE | sed "s/LTE_A /LTE-A /g" | sed 's,/,+,')
|
|
|
|
# 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"
|
|
|
|
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:/ {print $2}' | xargs)
|
|
|
|
# International Mobile Subscriber Identity (IMSI)
|
|
OBB=$(sms_tool -d $DEVICE at "AT+CIMI?")
|
|
NR_IMSI=$(echo "$OBB" | awk -F [,:] '/\+CIMI:/ {print $2}' | xargs)
|
|
|
|
# Integrated Circuit Card Identifier (ICCID)
|
|
OCC=$(sms_tool -d $DEVICE at "AT+ICCID")
|
|
NR_ICCID=$(echo "$OCC" | awk -F [,:] '/\+ICCID:/ {print $2}' | xargs)
|
|
|
|
# Temp
|
|
OT=$(sms_tool -d $DEVICE at "AT+MTSM=1")
|
|
TM=$(echo "$OT" | awk '/\+MTSM:/{print $2}')
|
|
if [ -n "$TM" ]; then
|
|
TEMP="$TM °C"
|
|
fi
|
|
|
|
# Protocol
|
|
# DRIVER=QMI_WWAN & DRIVER=CDC_MBIM & DRIVER=CDC_ETHER
|
|
|
|
TTY=$(basename $DEVICE)
|
|
devpath=$(readlink -f /sys/class/tty/$TTY/device)
|
|
BASE=$(readlink -f ${devpath%/*/*})
|
|
|
|
NETIF=$(for a in /sys/class/net/*; do readlink -f $a; done | grep "$BASE")
|
|
NETDRV=$(basename $(readlink -f $NETIF/../../driver))
|
|
|
|
case $NETDRV in
|
|
"qmi_wwan")
|
|
PROTO="QMI";;
|
|
"cdc_mbim")
|
|
PROTO="MBIM";;
|
|
"cdc_ether")
|
|
PROTO="ECM";;
|
|
esac
|
|
|
|
|
|
#PV=$(cat /sys/kernel/debug/usb/devices 2>/dev/null)
|
|
#PVCUT=$(echo $PV | awk -F 'Vendor=2cb7 ProdID=0105' '{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
|