# Qualcomm Modems (FoxConn T77W678, Telit LN940, HP LT4220)
function modem_data(){
    generic_data
    # hwinfo
    MANUF=$(echo "$O" | grep -i $FAMILY)
    MODEL=$(echo "$O" | grep -A1 -i $FAMILY | tail -1)
    DEVICE="$MANUF $MODEL"
    FW=$(echo "$O" | grep -A2 -i $FAMILY | tail -1)
    ICCID=$(echo "$O" | awk -F [:] '/ICCID:/{gsub("\r","");print $2}')
    IMSI=$(echo "$O" | grep -A1 -i ICCID | tail -1)
    IMEI=$(echo "$O" | grep -A2 -i ICCID | tail -1)
    # signal
    RADIODATA=$(echo "$O" |grep -A2 RFSTS: | awk 'NR ==2{print $0}')
    LTE_CA=$(echo "$O" | awk '/SCC/{print $0}' | wc -l)
    EARFCN=$(echo "$RADIODATA" |awk -F [,] '{print $2}')
    if [ "$MODE" = "LTE" ]; then
        REGST=$(echo "$O" | awk -F[,] '/\+CEREG/ {print $2}')
        LAC=$(echo "$O" | awk -F [,] '/\+CEREG/{gsub("\"","");print $3}')
        CID=$(echo "$O" | awk -F [,] '/\+CEREG/{gsub("\"","");print $5}')
        RSRP=$(echo "$RADIODATA" |awk -F [,] '{printf "%.0f\n",$3}')
        CSQ_RSSI=$(echo "$RADIODATA" |awk -F [,] '{printf "%.0f\n",$4}')
        RSRQ=$(echo "$RADIODATA" |awk -F [,] '{printf "%.0f\n",$5}')
        SINR=$(echo "$RADIODATA" |awk -F [,] '{printf "%.0f\n",$16/4+5}')
        BWDx=$(echo "$O" | awk '/PCC info/{printf "%.0f\n",$8}')
        PCI=$(echo "$RADIODATA" |awk -F [,] '{print $11}')
        ENBx=$(echo $CID | sed -e 's/..$//')
        CELL=$(printf %d 0x${CID: -2})
        ENBID=$(printf %d 0x$ENBx)
        case $BWDx in
            3) BWDL=1 ;;
            5) BWDL=2 ;;
            10) BWDL=3 ;;
            15) BWDL=4 ;;
            20) BWDL=5 ;;
        esac
        if [ $LTE_CA -ge 1 ]; then
            CA=$(echo "$O" | awk '/SCC/{print $5}')
            for cc in $CA; do
                SC=$(echo $cc | sed -e 's/LTE_B//g' -e 's/.$//')
                SCC="$SCC+$SC"
            done
            bw=$(echo "$O" |awk '/SCC/{printf "%.0f\n",$8}')
            for bwc in $bw; do
                bwcc="$bwcc+$bwc"
            done
            BWCA=$(($BWDx$bwcc))
        fi
    else
        LAC=$(echo "$O" | awk -F [,] '/\+CREG/{gsub("\"","");print $3}')
        CID=$(echo "$O" | awk -F [,] '/\+CREG/{gsub("\"","");print $4}')
        ECIO=$(echo "$RADIODATA" |awk -F [,] '{printf "%.0f\n",$4}')
        CSQ_RSSI=$(echo "$RADIODATA" |awk -F [,] '{printf "%.0f\n",$6}')
        SINR=$ECIO
    fi
    CHIPTEMP=$(echo "$O" | awk -F [:] '/tsens_tz_sensor0:/{print $2}')
}
