# DW5821e Snapdragon X20 LTE


O=$(sms_tool -d $DEVICE at "at+temp")

T=$(echo "$O" | awk -F: '/xo_therm_buf:/ {print $2}' | xargs)
if [ -n "$T" ]; then
	TEMP="$T &deg;C"
else
	O=$(sms_tool -d $DEVICE at "at^temp?")
	T=$(echo "$O" | awk '{gsub("C","");print $2}' | sort -r | head -n 1)
	[ -n "$T" ] && TEMP="$T &deg;C"
fi

O=$(sms_tool -d $DEVICE at "at^ca_info?;^debug?")

O1=$(echo "$O" | sed -n '/^RAT:/,/^SCell1:/p')
[ -z "$O1" ] && O1=$(echo "$O" | sed -n '/^EARFCN/,/^SCell1:/p')

T=$(echo "$O1" | awk '/TAC:/ {print $2}')
if [ -n "$T" ]; then
    T_DEC=$(printf "%d" "0x$T")
    T_HEX=$T
fi

T=$(echo "$O" | awk '/^RSSI:/ {print $2}' | sed 's/dBm//')
[ -n "$T" ] && RSSI=$T
T=$(echo "$O" | awk '/^RSRP:/ {print $2}' | sed 's/dBm//')
[ -n "$T" ] && RSRP=$T
T=$(echo "$O" | awk '/^RSRQ:/ {print $2}' | sed 's/dB//')
[ -n "$T" ] && RSRQ=$T
T=$(echo "$O" | awk '/^RS-SINR/ {print $2}' | sed 's/dB//')
[ -n "$T" ] && SINR=$T
T=$(echo "$O" | awk '/^RS-SNR/ {print $2}' | sed 's/dB//')
[ -n "$T" ] && SINR=$T
# SNR > SINR

T=$(echo "$O1" | awk '/^BAND:/ {print $2}')
if [ -n "$T" ]; then
	B=$(band4g $T)
	PBAND="$B"
	MODE="$MODE $B"
fi
T=$(echo "$O1" | awk '/^BW:/ {print $2}')
[ -n "$T" ] && PBAND="$PBAND @$T MHz"
T=$(echo "$O1" | awk -F[\(\)] '/^eNB ID\(PCI\)/ {print $4}')
[ -n "$T" ] && PCI="$T"
T=$(echo "$O1" | awk '/^EARFCN/ {print $2}' | xargs)
if [ -n "$T" ]; then
	EARFCN="$(echo $T | cut -f1 -d/)"
#	addon 34 "EARFCN DL" "$(echo $T | cut -f1 -d/)"
#	addon 34 "EARFCN UL" "$(echo $T | cut -f2 -d/)"
fi

T=$(echo "$O" | awk '/^SCC1 info:/ {print $5}')
if [ -n "$T" ]; then
	T=${T/,/}
	T=${T/LTE_B/}
	S1BAND="$(band4g $T)"
	MODE="${MODE/LTE/LTE_A} / $(band4g $T)"
	T=$(echo "$O" | awk '/^SCC1 info:/ {print $8}')
	[ -n "$T" ] && S1BAND="$S1BAND @$T MHz"
	
	O1=$(echo "$O" | sed -n '/^SCell1:/,/^SCell2:/p')
	T=$(echo "$O1" | awk -F [:,\ ] '/^EARFCN/{print $2}')
	[ -n "$T" ] && S1EARFCN="$T"
	T=$(echo "$O1" | awk -F [:,\ ] '/^EARFCN/{print $4}' | xargs)
	[ -n "$T" ] && S1PCI="$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSRP/{print $2}' | sed 's/dBm//')
#	[ -n "$T" ] && addon 56 "(S1) RSRP" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSRP/{print $4}' | xargs | sed 's/dB//')
#	[ -n "$T" ] && addon 57 "(S1) RSRQ" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSSI/{print $2}' | sed 's/dBm//')
#	[ -n "$T" ] && addon 55 "(S1) RSSI" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSSI/{print $4}' | xargs | sed 's/dB//')
#	[ -n "$T" ] && addon 58 "(S1) SNR" "$T"
fi

T=$(echo "$O" | awk '/^SCC2 info:/ {print $5}')
if [ -n "$T" ]; then
	T=${T/,/}
	T=${T/LTE_B/}
	S2BAND="$(band4g $T)"
	MODE="${MODE} / $(band4g $T)"
	T=$(echo "$O" | awk '/^SCC2 info:/ {print $8}')
	[ -n "$T" ] && S2BAND="$S2BAND @$T MHz"
	
	O1=$(echo "$O" | sed -n '/^SCell2:/,/^SCell3:/p')
	T=$(echo "$O1" | awk -F [:,\ ] '/^EARFCN/{print $2}')
	[ -n "$T" ] && S2EARFCN="$T"
	T=$(echo "$O1" | awk -F [:,\ ] '/^EARFCN/{print $4}' | xargs)
	[ -n "$T" ] && S2PCI="$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSRP/{print $2}' | sed 's/dBm/ dBm/')
#	[ -n "$T" ] && addon 66 "(S2) RSRP" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSRP/{print $4}' | xargs | sed 's/dB/ dB/')
#	[ -n "$T" ] && addon 67 "(S2) RSRQ" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSSI/{print $2}' | sed 's/dBm/ dBm/')
#	[ -n "$T" ] && addon 65 "(S2) RSSI" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSSI/{print $4}' | xargs | sed 's/dB/ dB/')
#	[ -n "$T" ] && addon 68 "(S2) SNR" "$T"
fi

T=$(echo "$O" | awk '/^SCC3 info:/ {print $5}')
if [ -n "$T" ]; then
	T=${T/,/}
	T=${T/LTE_B/}
	S3BAND="$(band4g $T)"
	MODE="${MODE} / $(band4g $T)"
	T=$(echo "$O" | awk '/^SCC3 info:/ {print $8}')
	[ -n "$T" ] && S3BAND="$S3BAND @$T MHz"
	
	O1=$(echo "$O" | sed -n '/^SCell3:/,/^SCell4:/p')
	T=$(echo "$O1" | awk -F [:,\ ] '/^EARFCN/{print $2}')
	[ -n "$T" ] && S3EARFCN="$T"
	T=$(echo "$O1" | awk -F [:,\ ] '/^EARFCN/{print $4}' | xargs)
	[ -n "$T" ] && S3PCI="$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSRP/{print $2}' | sed 's/dBm/ dBm/')
#	[ -n "$T" ] && addon 66 "(S3) RSRP" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSRP/{print $4}' | xargs | sed 's/dB/ dB/')
#	[ -n "$T" ] && addon 67 "(S3) RSRQ" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSSI/{print $2}' | sed 's/dBm/ dBm/')
#	[ -n "$T" ] && addon 65 "(S3) RSSI" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSSI/{print $4}' | xargs | sed 's/dB/ dB/')
#	[ -n "$T" ] && addon 68 "(S3) SNR" "$T"
fi

T=$(echo "$O" | awk '/^SCC4 info:/ {print $5}')
if [ -n "$T" ]; then
	T=${T/,/}
	T=${T/LTE_B/}
	S4BAND="$(band4g $T)"
	MODE="${MODE} / $(band4g $T)"
	T=$(echo "$O" | awk '/^SCC4 info:/ {print $8}')
	[ -n "$T" ] && S4BAND="$S4BAND @$T MHz"

	O1=$(echo "$O" | sed -n '/^SCell4:/,/^SCell5:/p')
	T=$(echo "$O1" | awk -F [:,\ ] '/^EARFCN/{print $2}')
	[ -n "$T" ] && S4EARFCN="$T"
	T=$(echo "$O1" | awk -F [:,\ ] '/^EARFCN/{print $4}' | xargs)
	[ -n "$T" ] && S4PCI="$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSRP/{print $2}' | sed 's/dBm/ dBm/')
#	[ -n "$T" ] && addon 66 "(S4) RSRP" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSRP/{print $4}' | xargs | sed 's/dB/ dB/')
#	[ -n "$T" ] && addon 67 "(S4) RSRQ" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSSI/{print $2}' | sed 's/dBm/ dBm/')
#	[ -n "$T" ] && addon 65 "(S4) RSSI" "$T"
	T=$(echo "$O1" | awk -F [:,] '/^RSSI/{print $4}' | xargs | sed 's/dB/ dB/')
#	[ -n "$T" ] && addon 68 "(S4) SNR" "$T"
fi

MODE=$(echo $MODE | sed 's,/,+,' | sed 's,LTE_A,LTE-A | ,' | sed 's,LTE B,LTE | B,')

# 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)

if [ -z "$TAC_DEC" ]
then
	[ -n "$TAC_HEX" ] && TAC_DEC=$(echo $((0x$TAC_HEX)))
fi

# Protocol
# DRIVER=QMI_WWAN & DRIVER=CDC_MBIM & DRIVER=CDC_ETHER
PV=$(cat /sys/kernel/debug/usb/devices)
PVCUT=$(echo $PV | awk -F 'Vendor=413c ProdID=81d7' '{print $2}' | cut -c-1520)

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

# Modem
PVMODEL=$(echo $PV | awk -F 'Vendor=413c ProdID=81d7' '{print $2}' | cut -c-150)
if [ -z "$MODEL" ]
then
	MODELBCUT=$(echo $PVMODEL | awk -F 'Manufacturer=|S: Product=' '{print $2}' | sed s/"Inc. "// | xargs)
	MODELACUT=$(echo $PVMODEL | awk -F 'Product=| S: SerialNumber' '{print $2}'| xargs)
	MODEL="$MODELBCUT "$MODELACUT
#	MODELC="$MODELBCUT "$MODELACUT
#	MODEL=$(echo "$MODELC" | awk '{for (i=1;i<=NF;i++) if (!a[$i]++) printf("%s%s",$i,FS)}{printf("\n")}' | tr -d '\r\n')
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)

T=$(echo "$O" | awk -F ': ' '/ICCID:/ {print $2}')
if [ -n "$T" ]; then
	NR_ICCID="$T"
fi

# International Mobile Equipment Identity (IMEI)
O=$(sms_tool -d $DEVICE at "AT+GSN" | xargs)
NR_I=$(echo "$O")
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")
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
