mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-08-02 15:39:31 +08:00
54 lines
1.9 KiB
Plaintext
54 lines
1.9 KiB
Plaintext
function modem_data(){
|
|
DATA=$(echo "$O" | grep -Ev '^OK')
|
|
MANUF=$(echo "$DATA" | awk 'c&&! --c;/ZCHIPTEMP/{c=1}')
|
|
MODEL=$(echo "$DATA" | awk 'c&&! --c;/ZCHIPTEMP/{c=2}')
|
|
FW=$(echo "$DATA" | awk 'c&&! --c;/ZCHIPTEMP/{c=3}')
|
|
DEVICE="$MANUF $MODEL"
|
|
TECH=$(echo "$DATA" | awk -F [,] '/\+COPS/{print $NF}')
|
|
ICCID=$(echo "$DATA" | awk '/ZGETICCID/{print $2}')
|
|
IMSI=$(echo "$DATA" | awk 'c&&! --c;/ZGETICCID/{c=1}')
|
|
IMEI=$(echo "$DATA" | awk 'c&&! --c;/ZGETICCID/{c=2}')
|
|
CHIPTEMP=$(echo "$DATA" | awk '/\+ZCHIPTEMP/{print $2}')
|
|
|
|
case $TECH in
|
|
0|1) MODE=GSM ;;
|
|
2) MODE=WCDMA ;;
|
|
3) MODE=EDGE ;;
|
|
4) MODE=HSDPA ;;
|
|
5) MODE=HSUPA ;;
|
|
6) MODE=HSDPA,HSUPA ;;
|
|
7) MODE=LTE ;;
|
|
8) MODE=DC-HSPA+ ;;
|
|
esac
|
|
|
|
case $TECH in
|
|
7)
|
|
PCI=$(echo "$DATA" | awk -F [:,] '/\+ZCDS/{print $10}')
|
|
EEMGINFO=$(echo "$O" | awk -F[':'] '/^\+EEMLTESVC:/ {print $2}')
|
|
EARFCN=$(echo $EEMGINFO | awk -F [,] '{print $6}')
|
|
LAC=$(echo $EEMGINFO | awk -F [,] '{printf "%x\n", toupper($4)}')
|
|
CID=$(echo $EEMGINFO | awk -F [,] '{printf "%x\n", toupper($21)}')
|
|
ENBx=$(echo $CID | sed -e 's/..$//')
|
|
ENBID=$(printf %d 0x$ENBx)
|
|
CELL=$(printf %d 0x${CID: -2})
|
|
PCI=$(echo $EEMGINFO | awk -F [,] '{print $5}')
|
|
RSRQ=$(echo $EEMGINFO | awk -F[,] '{printf "%.0f\n", -19.5+$11/2}')
|
|
RSRP=$(echo $EEMGINFO | awk -F[,] '{print -140+$10'})
|
|
SINR=$(echo $EEMGINFO | awk -F[','] '{printf "%.0f\n", $12/4+5}')
|
|
BWDL=$(echo $EEMGINFO | awk -F[','] '{print $9}')
|
|
;;
|
|
2|4|5|6|8)
|
|
EEMGINFO=$(echo "$O" | awk -F[':'] '/^\+EEMUMTSSVC/ {print $2}')
|
|
EARFCN=$(echo $EEMGINFO | awk -F [,] '{print $20}')
|
|
SINR=$(echo $EEMGINFO | awk -F [,] '{printf "%.0f\n", -24+$6/2}')
|
|
LAC=$(echo $EEMGINFO | awk -F [,] '{printf "%x\n", toupper($16)}')
|
|
CID=$(echo $EEMGINFO | awk -F [,] '{printf "%x\n", toupper($17)}')
|
|
|
|
;;
|
|
esac
|
|
if [ $(uci -q get modeminfo.@generic[0].decimail) -eq 1 ]; then
|
|
LAC=$(printf %d 0x$LAC)
|
|
CID=$(printf %d 0x$CID)
|
|
fi
|
|
}
|