function modem_data(){
	if [ -n "$O" ]; then
		generic_data
		DATA=$(echo "$O" | grep -Ev '^$|^OK' | sort)
		MANUF=$(echo "$DATA" | awk 'c&&! --c;/ICCID/{c=2}')
		MODEL=$(echo "$DATA" | awk 'c&&! --c;/ICCID/{c=1}')
		FW=$(echo "$DATA" | awk 'c&&! --c;/ZRSSI/{c=3}' | sed 's/[[:space:]\r]//g')
		DEVICE="$MANUF $MODEL"
		TECH=$(echo "$O" | awk -F',' '/\+COPS/{print $NF}' | uniq | sed 's/[[:space:]\r]//g')
		ICCID=$(echo "$O" | grep -i iccid | awk '/ICCID:/{print $2}')
		IMSI=$(echo "$DATA" | awk 'c&&! --c;/ZRSSI/{c=1}')
		IMEI=$(echo "$DATA" | awk 'c&&! --c;/ZRSSI/{c=2}')
		PLMN_RAW=$(echo "$O" | awk -F'"' '/^\+COPS:/{print $2}' | grep -E '^[0-9]+$' | tail -1)
		MCC=${PLMN_RAW:0:3}
		MNC=${PLMN_RAW:3}
		PLMN=$(printf "%s%03d" "$MCC" "$MNC")

		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)
				LAC=$(echo "$O" | awk -F [:,] '/\+CEREG/{gsub("\"","");print $4}')
				PCI=$(echo "$O" | awk -F '[:,]' '/\+ZCELLINFO/{gsub(/^[ \t]+/, "", $3); print $3}' | uniq)
				EARFCN=$(echo "$DATA" | awk -F [:,] '/\+ZCELLINFO/{print $5}' | uniq | sed 's/[[:space:]\r]//g')
				CID=$(echo "$DATA" | awk -F [:,] '/\+CEREG/{gsub("\"","");print $6}')
				ENBx=$(echo $CID | sed -e 's/..$//')
				ENBID=$(printf %d 0x$ENBx)
				CELL=$(printf %d 0x${CID: -2})
				CSQ_RSSI=$(echo "$DATA" | awk -F [:,] '/\+ZRSSI/{print $4}')
				RSRQ=$(echo "$DATA" | awk -F [:,] '/\+ZRSSI/{print $3}')
				RSRP=$(echo "$DATA" | awk -F [:,] '/\+ZRSSI/{print $2}')
				SINR=$(echo "$DATA" | awk -F [:,] '/\+ZRSSI/{printf "%.0f\n", $5}')
				;;
			2|4|5|6|8)
				LAC=$(echo "$DATA" | awk -F [:,] '/\+CGREG/{gsub("\"","");print $4}')
				CID=$(echo "$DATA" | awk -F [:,] '/\+CGREG/{gsub("\"","");print $5}')
				EARFCN=$(echo "$DATA" | awk -F [:,] '/\+ZCELLINFO/{print $4}')
				SINR=$(echo "$DATA" | awk -F [:,] '/\+ZRSSI/{printf "%.0f\n", $3}')
				;;
			0|1|3)
				CSQ_RSSI=$(echo "$DATA" | awk -F [:,] '/\+ZRSSI/{print $2}')
				LAC=$(echo "$DATA" | awk -F [:,] '/\+CGREG/{gsub("\"","");print $4}')
				CID=$(echo "$DATA" | awk -F [:,] '/\+CGREG/{gsub("\"","");print $5}')
				EARFCN=$(echo "$DATA" | awk -F [:,] '/\+ZCELLINFO/{print $4}')
				;;	
		esac
	else
		. "/usr/share/modeminfo/scripts/ZTE.curl"
	fi
}
