1 (edytowany przez feedhorn 2014-03-23 18:48:10)

Temat: E3131 HILNIK - Connect / Disconnect - automatyzacja ze skryptu

Witam serdecznie grono kolegow, uzytkownikow modemu E3131 HILINK w opcji z routrem TL MR3020.

W zalaczeniu przesylam skrypt do sterowania modemem E3131 HILINK polaczonym  z routerem TP-LINK  MR3020 z softem  Ggargoyle-1.6.0.2.
Mysle, ze poprawna praca skryptu  bedzie tez na routerach innych typow.

WAZNE !!: Modem ciagle pracuje w trybie HILINK.

Rozwiazanie pozwala na zwolnienie zajetosci  pasma GSM w moim przypadku  to AERO2, kiedy nie korzystam z internetu.
Router i modem sa umieszczone na strychu aby miec lepszy sygnal GSM.
W ten sposob pozbylem sie dlugiego kabla koncentrycznego pomiedzy antena YAGA na pasmo GSM 900MHz a modemem E3131 HILINK.
Straty sygnalu GSM na kablu antenowym byly na poziomie 5 dB, a ja teraz lacze sie routerem po WIFI.
Wskazane tez jest aby modem do routera polaczyc kabelkiem USB okolo 0.5 metra aby ograniczyc wzajemne ooddzialywanie - fali radiowej.

Skrypt realizuje nastepujace funkcje:

1 - sprawdza czy sa uzytkownicy polaczeni z routerem - po WIFI lub LAN.
2 - jezeli sa,  to wlacza napiecie +5V na USB - wlacza zasilanie modemu E3131 HILINK
3 - jezeli nie,  to przerywa polaczenie z GSM  - wyslylajac do modemu rozkaz DISCONNECT
4 - jezeli nie,  to wylacza napiecie +5V na USB - wylacza zasilanie modemu E3131 HILINK

5 - po wlaczeniu napiecia +5V na USB, sprawdza czy modem jest polaczony z siecia GSM.
6 - jezeli nie,   to wznawia polaczenie  - wyslylajac do modemu rozkaz CONNECT ( 5 prob co 7 sek )
------------------------------------------------------------------------------------
WAZNE !  dla posiadaczy karty pamieci w modemie na EXTROOT-a.

Dzialnie skryptu mozna ograniczyc do sprawdzania statusu polaczenia z GSM i ewentualnego dzialania ( CONNECT / DISCONNECT ) bez wylaczania napiecia +5V na port USB.
Pominac pkt 4. i dokonac zmiany w skrypcie - miejsca opisane.
--------------------------------------------------------------------------------------

Dzialanie skryptu mozna obserwowac na przegladarce - wywolujac  DISCONNECT  na WebUI modemu  - http://192.168.1.1/html/index.html


Skrypt zalecane jest umiescic w katalogu

    #/etc/config/5v_modem_usb2.sh

nalezy tez dodac linie w CRONTAB aby co 1 minute sie uruchamial

*/1 * * * * /etc/config/5v_modem_usb2.sh

Nazwa pliku  ze skryptem    5v_modem_usb2.sh

Po zapisaniu skryptu nalezy mu nadac status uruchamiania

   #chmod 755 /etc/config/5v_modem_usb2.sh

Kod skryptu:

#!/bin/sh
# wlaczenie modemu typu E3131 HILINK- i wznawianie polaczenia z siecia GSM
#
# stala startowa do liczenia adresow IP w pliki z puli DHCP
z=0
# stala startowa do liczenia aktywnych adresow z puli DHCP
y=0
#
# pobiera znaki po spacji w 3 kolumne z pliku /tmp/dhcp.leases
  for i in $(cut -d ' ' -f 3 /tmp/dhcp.leases);
    do
# spawdza czy w pliku jest adres IP z puli DHCP
    if [ $i > 0 ];
     then
      z=$((z+1))
# sprawdza pingiem czy adres IP z pliku /tmp/dhcp.leases jest aktywny
      ping -q -c 1 -W 1 $i > /dev/null;
# zliczanie aktywnych adresow IP
        if [ $? -eq 0 ];
         then
          y=$((y+1))
# konczenie petli
       fi
      fi
   done
#
# sterowanie napiecem +5V na port USB - ROUTER TL MR3020
#
# sprawdzanie warunku czy ilosc aktwnych adresow z DHCP jest rowna 0
       if [ $y = 0 ];
       then
#
#  Rozlaczenie modemu z siecia GSM  
#    
             Cl1="POST /api/dialup/dial HTTP/1.1"
             Cl2="Host: 192.168.1.1"
             Cl3="Content-Length: 75"
             Cl4="<?xml version=\"1.0\" encoding=\"UTF-8\"?><request><Action>0</Action></request>"
             echo -e "$Cl1\r\n$Cl2\r\n$Cl3\r\n\r\n$Cl4\c" | nc 192.168.1.1 80
             sleep 2
#
# wylaczenie napiecia na port USB  
# 
# WAZNE  dla posiadaczy karty pamieci w modemie na EXTROOT-a
# Linie nizej zahaszowac jezeli nie chcemy wylaczac napiecia +5V na USB .
        (echo 0 > /sys/class/gpio/gpio8/value)
#
# jezeli nie spelniony powyzszy warunek - jest aktwny adres IP
       else
# wlaczenie napiecia na port USB
       (echo 1 > /sys/class/gpio/gpio8/value)
       sleep 2
# dczyt danych z modemu HILINK o statusie polaczenia
       wget -t 25 -O /tmp/E3131-status http://192.168.1.1/api/monitoring/status > /dev/null 2>&1
       St_P=`cat /tmp/E3131-status | grep ConnectionStatus | cut -d '<' -f 2 | cut -d '>' -f 2`
      fi
#
# sprawdzanie statusu polaczenia z siecia GSM
# 
c=0            
#
         while [ $St_P != 901 -a $y -gt 0 -a $c -lt 6 ]; do
             Cl1="POST /api/dialup/dial HTTP/1.1"
             Cl2="Host: 192.168.1.1"
             Cl3="Content-Length: 75"
             Cl4="<?xml version=\"1.0\" encoding=\"UTF-8\"?><request><Action>1</Action></request>"
             echo -e "$Cl1\r\n$Cl2\r\n$Cl3\r\n\r\n$Cl4\c" | nc 192.168.1.1 80
          sleep 7 
             wget -t 25 -O /tmp/E3131-status http://192.168.1.1/api/monitoring/status > /dev/null 2>&1
             St_P=`cat /tmp/E3131-status | grep ConnectionStatus | cut -d '<' -f 2 | cut -d '>' -f 2`
# liczenie prob polaczenia
#
             c=$((c+1)) 
         done
#
#FUT
# Wersja z dnia 02.03.2014
#
#  koniec skryptu
#

Zachecam kolegow do sprawdzenia dzialania  skryptu  z routerami do ktorych sa podlaczone inne modemy USB  typu  HILINK i podzielenie sie uwagami.

Prosze o uwagi i ewentualne sugestie.

Konczac, chce podziekowac wszystkim, ktorzy udzieli pomocy, ze skrypt dziala SUPER.

W dniu 12.03.2014 skrypt zostal przetestowany z modemem E303 polaczonym z MR3220 z softem Ggargoyle-1.6.0.2 . Dziala bez uwaga.

W nastepnym moim poscie jest opisana wersja programu  pod WINDOWSA, ktora realizuje automatycznie CONNECT - 6 prob w kazdym cyklu uruchomienia.


FEEDHORN

2

Odp: E3131 HILNIK - Connect / Disconnect - automatyzacja ze skryptu

Jak wspominałem wcześniej nie mam już Hilinka, ale z twoimi skryptami FEEDHORN niekoniecznie bym się tak chętnie go pozbywał.
Dobra robota!

3 (edytowany przez feedhorn 2014-03-23 18:53:01)

Odp: E3131 HILNIK - Connect / Disconnect - automatyzacja ze skryptu

Witam serdecznie grono kolegow, urzytkownikow modemow USB  E303 / E3131 typu HILINK podlaczonych do USB komputera z systemem WINDOWS.
Zanim przejde do opisu, chce przekazac podziekowanie za pozytywna opinie dla kolegi SCISS.

Ponizej przesylam link do programu, ktory mozna zainstalowac pod WINDOWSEM o podobnym dzialaniu jak skrypt na MR3020 z softem  Ggargoyle-1.6.0.2.  opisany w poscie wczesniejszym.

Szczegoly instalacji i opis uruchamiania sa w spakowanym pliku TXT.
Program dziala w tle.
Prosze tez pamietac aby ANTYVIR go zakceptowal.

Program sprawdza stan polaczenia modemu, jezeli nie polaczony to wymusza 6 prob polaczenia co 7 sekund,  wysylajac rozkaz CONNECT do modemu HILINK i sprawdza stan polaczenia po kazdej probie.
Jezeli modem sie polaczyl z siecia GSM  (w moim przypadku to  AERO2 ), program konczy prace.
Nastepne uruchomienie, cykl sie powtarza a dzialanie rozpoczyna od sprawdzenia stanu polaczenia modemu.

Stan polaczenia modemu jest dla wszystkich operatorow taki sam,  wiec program dziala poprawnie.

WAZNE !!: Modem ciagle pracuje w trybie HILINK.

http://chomikuj.pl/futek2/E303++E3131_H … 497042.rar

Plik mozna pobrac bez logowania sie - ok  193KB

Osoby, ktorym spodoba sie dzialanie programu pod WINDOWSEM, zapene zechca sie podlaczyc swoj  modemu typu  HILINK do USB routera  np MR3020 z softem  Ggargoyle aby wykorzystac wiecej mozliwosci jakie daje to oprogramowanie.
Mozna miec wskaznik sily sygnalu  i inne dane bez potrzeby przelaczania modemu z trybu HILINK w tryb modemu tradycyjnego.

Program dziala z modemami HILINK podlaczonymi do routerow z oryginalnym firmowym softem jak i Ggargoyle, bo wyslanie rozkazu CONNECT jest na adres  ip modemu 192.168.1.1 .


Prosze o uwagi i ewentualne sugestie.

FEEDHORN