# Quectel EP06
# Quectel EG06

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

T=$(echo "$O" | awk -F[,:] '/^\+QTEMP/ {t=$2*1;if($3*1>t)t=$3*1;if($4*1>t)t=$4*1;printf "%d", t}')
[ -n "$T" ] && TEMP="$T &deg;C"

O=$(sms_tool -d $DEVICE at "at+qnwinfo;+qeng=\"servingcell\";+qspn")

T=$(echo "$O" | awk -F[,:] '/^\+QNWINFO/ {print $2"/"$4}' | xargs)
if [ -n "$T" ]; then
	if [ "x$MODE_NUM" = "x7" ]; then
		B=$(echo $T | sed 's/.*LTE BAND \(.*\)/\1/')
		MODE="LTE $(band4g ${B})"
		MAINCUT="$(band4g ${B})"
	fi
fi

T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $4}' | xargs)
if [ "x$T" = "xLTE" ] || [ "x$T" = "x4G" ]; then
	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $14}')
	T_DEC=$(printf "%d" "0x$T")
	T_HEX=$T

	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $12}')
	case $T in
		0) T1="1.4";;
		1) T1="3";;
		2) T1="5";;
		3) T1="10";;
		4) T1="15";;
		5) T1="20";;
		*) T1="?";;
	esac
	ULBW="UL: @$T1 MHz"
	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $13}')
	case $T in
		0) T1="1.4";;
		1) T1="3";;
		2) T1="5";;
		3) T1="10";;
		4) T1="15";;
		5) T1="20";;
		*) T1="?";;
	esac
	DLBW="DL: @$T1 MHz"
	PBAND="$MAINCUT $DLBW $ULBW"
	
	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $9}')
	PCI=$T
	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $10}')
	EARFCN=$T
	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $17}')
	RSSI=$T
	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $15}')
	RSRP=$T
	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $16}')
	RSRQ=$T
#	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $18}' | awk '{printf "%.1f\n", $1*0.2-20}')
	T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $18}' | awk '{printf "%.1f\n", 0.2*$1*10 - 20}')
	SINR=$T
fi

T=$(echo "$O" | awk -F[,:] '/^\+QSPN/ {print $2}' | xargs)
if [ -n "$T" ] && [ -z "$FORCE_PLMN" ]; then
	COPS="$T"
fi

if [ "x$MODE_NUM" = "x7" ]; then
	O=$(sms_tool -d $DEVICE at "AT+QCAINFO")
	
	T=$(echo "$O" | awk -F[,] '/^\+QCAINFO: "scc"/{print $4}' | xargs)
	if [ -n "$T" ]; then
		B=$(echo $T | sed 's/.*LTE BAND \(.*\)/\1/')
		T=$(echo "$O" | awk -F[,:] '/^\+QCAINFO: "scc"/ {print $4}')
		case $T in
			6) T1="1.4";;
			15) T1="3";;
			25) T1="5";;
			50) T1="10";;
			75) T1="15";;
			100) T1="20";;
			*) T1="?";;
		esac
		MODE="${MODE/LTE/LTE_A} / $(band4g ${B})"
		S1BAND="$(band4g ${B}) @$T1 MHz"

		T=$(echo "$O" | awk -F[,:] '/^\+QCAINFO: "scc"/ {print $7}')
		S1PCI="$T"
		T=$(echo "$O" | awk -F[,:] '/^\+QCAINFO: "scc"/ {print $3}')
		S1EARFCN="$T"
		T=$(echo "$O" | awk -F[,:] '/^\+QCAINFO: "scc"/ {print $10}')
		RSSI=$T
		T=$(echo "$O" | awk -F[,:] '/^\+QCAINFO: "scc"/ {print $8}')
		RSRP=$T
		T=$(echo "$O" | awk -F[,:] '/^\+QCAINFO: "scc"/ {print $9}')
		RSRQ=$T
#		T=$(echo "$O" | awk -F[,:] '/^\+QCAINFO: "scc"/ {print $11}' | awk '{printf "%.1f\n", $1*0.2-20}')
		T=$(echo "$O" | awk -F[,:] '/^\+QENG:/ {print $18}' | awk '{printf "%.1f\n", 0.2*$1*10 - 20}')
		SINR=$T
	fi
fi

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

# Modem
OF=$(sms_tool -d $DEVICE at "ati")
DEVV=$(echo $OF | tr -s "\n"  | xargs)
FW=$(echo $DEVV | awk -F 'Revision:' '{print $2}'| xargs)
MODEL=$(echo $DEVV | awk -F 'ati|Revision:' '{print $1}'| xargs)
if [ -z "$MODEL" ]
then
      MODEL=$(echo $DEVV | awk -F 'ati|Revision:' '{print $2}'| xargs)
fi

# International Mobile Equipment Identity (IMEI)
O=$(sms_tool -d $DEVICE at "AT+GSN" | xargs)
NR_I=$(echo "$O" | cut -c 8-)
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" | cut -c 9-)
if [ -n "$NR_C" ]; then
	NR_IMSI="$NR_C"
fi

#  Integrated Circuit Card Identifier (ICCID)
O=$(sms_tool -d $DEVICE at "AT+QCCID")
NR_D=$(echo "$O" | awk -F [:] '/^\+QCCID/{print $2}' | xargs)
if [ -n "$NR_D" ]; then
	NR_ICCID="$NR_D"
fi

# 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=2c7c ProdID=0306' '{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
