Mała przeróbka skryptu znalezionego na forum dla Huawei E3372 HiLink:
touch /bin/hilink
chmod 755 /bin/hilinkzawartość pliku /bin/hilink
#!/bin/sh
# odczyt danych z modemu HILINK bez trybu modemu
wget -t 25 -O /tmp/E3372-status http://192.168.8.1/api/monitoring/status > /dev/null 2>&1
wget -t 25 -O /tmp/E3372-plmn http://192.168.8.1/api/net/current-plmn > /dev/null 2>&1
wget -t 25 -O /tmp/E3372-signal http://192.168.8.1/api/net/signal-para > /dev/null 2>&1
wget -t 25 -O /tmp/E3372-trafic http://192.168.8.1/api/monitoring/traffic-statistics > /dev/null 2>&1
# szukanie danych w pliku z danymi typu HTML
Status_Polaczenia=`cat /tmp/E3372-status | grep ConnectionStatus | cut -d '<' -f 2 | cut -d '>' -f 2`
Sila_Sygnalu=`cat /tmp/E3372-signal | grep Rscp | cut -d '<' -f 2 | cut -d '>' -f 2`
CSQ_Sygnalu=`cat /tmp/E3372-signal | grep Ecio | cut -d '<' -f 2 | cut -d '>' -f 2`
Typ_Sieci=`cat /tmp/E3372-status | grep CurrentNetworkTypeEx | cut -d '<' -f 2 | cut -d '>' -f 2`
Adres_IP=`cat /tmp/E3372-status | grep WanIPAddress | cut -d '<' -f 2 | cut -d '>' -f 2`
DNS_Primary=`cat /tmp/E3372-status | grep PrimaryDns | cut -d '<' -f 2 | cut -d '>' -f 2`
DNS_Secendary=`cat /tmp/E3372-status | grep SecondaryDns | cut -d '<' -f 2 | cut -d '>' -f 2`
Nazwa_Sieci=`cat /tmp/E3372-plmn | grep FullName | cut -d '<' -f 2 | cut -d '>' -f 2`
ID_Sieci=`cat /tmp/E3372-plmn | grep Numeric | cut -d '<' -f 2 | cut -d '>' -f 2`
Nazwa_Sieci=`cat /tmp/E3372-plmn | grep FullName | cut -d '<' -f 2 | cut -d '>' -f 2`
ID_Sieci=`cat /tmp/E3372-plmn | grep Numeric | cut -d '<' -f 2 | cut -d '>' -f 2`
Czas_Polaczenia=`cat /tmp/E3372-trafic | grep CurrentConnectTime | cut -d '<' -f 2 | cut -d '>' -f 2`
Czas_Calkowity=`cat /tmp/E3372-trafic | grep TotalConnectTime | cut -d '<' -f 2 | cut -d '>' -f 2`
DATE=`date "+%F %H:%M:%S"`
CSQ=$((CSQ_Sygnalu+32))
Sila_Sygnalu="$((Sila_Sygnalu)) dB"
clear
# Sprawdzanie stanu polaczanienia
if [ $Status_Polaczenia = 900 ]
then
Polaczenie="Laczenie"
elif [ $Status_Polaczenia = 901 ]
then
Polaczenie="Polaczony"
elif [ $Status_Polaczenia = 902 ]
then
Polaczenie="Rozlaczony"
elif [ $Status_Polaczenia = 903 ]
then
Polaczenie="Rozlaczanie"
elif [ $Status_Polaczenia = 25 -o 26 ]
then
Polaczenie="BLAD LACZENIA"
else
Polaczenie="Brak danych"
fi
# Sprawdzanie typu sieci
if [ $Typ_Sieci = 1 ]
then
Siec="EDGE"
elif [ $Typ_Sieci = 3 ]
then
Siec="UMTS"
elif [ $Typ_Sieci = 4 ]
then
Siec="HSPA"
elif [ $Typ_Sieci = 46 ]
then
Siec="DC-HSPA+"
elif [ $Typ_Sieci = 5 ]
then
Siec="HSDPA"
elif [ $Typ_Sieci = 7 -o 9 ]
then
Siec="HSPA+/UMTS"
elif [ $Typ_Sieci = 101 ]
then
Siec="LTE"
else
Siec="BRAK DANYCH"
fi
# sprawdzanie nazwy sieci
if [ $Nazwa_Sieci = "PLAY" ]
then
Nazwa_Sieci="PLUS ROAMING"
else
Nazwa_Sieci=$Nazwa_Sieci
fi
# Liczenie czasu polaczenia
if [ $Czas_Polaczenia -ge 3600 ]
then
Czas_PH=$((Czas_Polaczenia/3600));
Czas_PM=$(((Czas_Polaczenia-$Czas_PH*3600)/60));
Czas_PS=$(((Czas_Polaczenia-$Czas_PH)/360));
elif [ $Czas_Polaczenia -ge 600 ]
then
Czas_PH="00"
Czas_PM=$((Czas_Polaczenia/60));
Czas_PS=$((Czas_Polaczenia-$Czas_PM*60));
elif [ $Czas_Polaczenia -ge 60 ]
then
Czas_PH="00"
Czas_PM=$((Czas_Polaczenia/60))
Czas_PS=$((Czas_Polaczenia-$Czas_PM*60))
else
Czas_PH="00"
Czas_PM=$((Czas_Polaczenia/60))
Czas_PS=$((Czas_Polaczenia-$Czas_PM*60))
fi
# porzadkowanie formatu czasu godzin, minut, sekund
if [ $Czas_PS -lt 1 ]
then
Czas_PS="00"
elif [ $Czas_PS -lt 10 ]
then
Czas_PS="0"$Czas_PS
fi
if [ $Czas_PM -lt 1 ]
then
Czas_PM="00"
elif [ $Czas_PM -lt 10 ]
then
Czas_PM="0"$Czas_PM
fi
if [ $Czas_PH -lt 1 ]
then
Czas_PH="00"
elif [ $Czas_PH -lt 10 ]
then
Czas_PH="0"$Czas_PH
fi
# Liczenie czasu calkowitego polaczenia
if [ $Czas_Calkowity -ge 3600 ]
then
Czas_CH=$((Czas_Calkowity/3600))
Czas_CM=$(((Czas_Calkowity-$Czas_CH*3600)/60))
Czas_CS=$((Czas_Calkowity-($Czas_CH*3600)-(Czas_CM*60)))
elif [ $Czas_Calkowity -ge 600 ]
then
Czas_CH="00"
Czas_CM=$((Czas_Calkowity/60))
Czas_CS=$((Czas_Calkowity-$Czas_CM*60))
elif [ $Czas_Calkowity -ge 60 ]
then
Czas_CH="00"
Czas_CM=$((Czas_Calkowity/60))
Czas_CS=$((Czas_Calkowity-$Czas_CM*60))
else
Czas_PH="00"
Czas_PM=$((Czas_Polaczenia/60))
Czas_PS=$((Czas_Polaczenia-$Czas_PM*60))
fi
# porzadkowanie formatu czasu godzin, minut, sekund
if [ $Czas_CS -lt 1 ]
then
Czas_CS="00"
elif [ $Czas_CS -lt 10 ]
then
Czas_CS="0"$Czas_CS
fi
if [ $Czas_CM -lt 1 ]
then
Czas_CM="00"
elif [ $Czas_CM -lt 10 ]
then
Czas_CM="0"$Czas_CM
fi
if [ $Czas_CH -lt 1 ]
then
Czas_CH=" 00"
elif [ $Czas_CH -lt 10 ]
then
Czas_CH=" 0"$Czas_CH
elif [ $Czas_CH -lt 100 ]
then
Czas_CH=$Czas_CH
fi
# przygotowanie wysietlenia danych o polaczeniu GSM
(echo "======================================")
(echo " $DATE")
(echo "--------------------------------------")
(echo " MODEM HUAWEI E3372 HILINK ")
(echo "--------------------------------------")
(echo "Stan Lacza z BTS : $Polaczenie")
(echo "Nazwa Sieci : $Nazwa_Sieci")
(echo "ID_Sieci : $ID_Sieci")
(echo "Sila Sygnalu : $Sila_Sygnalu")
(echo "CSQ : $CSQ")
(echo "Czas polaczenia : $Czas_PH:$Czas_PM:$Czas_PS")
(echo "Czas calkowity : $Czas_CH:$Czas_CM:$Czas_CS")
(echo "Typ Sieci : $Siec")
(echo "Adres IP : $Adres_IP")
(echo "DNS podstawowy : $DNS_Primary")
(echo "DNS rezerwowy : $DNS_Secendary")
(echo "======================================")
# sleep 1
# FUT
# ostania korekta 26.02.2014
# Koniec skryptu
# Pozdr,
