1

Temat: Restart połączenia - modem Hilink

Witam
Raz na jakiś czas zawiesi mi się połączenie internetowe z winy modemu
Skrypt w dziale "przydatne skrypty" - Restart połączenia w przypadku braku internetu nie sprawdza się w przypadku Hilinka
Nawet jak resetuję cały router to modem ma napięcie bez przerw i nie zmienia statusu.
Czy jest możliwość restartu połączenia przez chwilowy brak napięcia na USB?

Router: Netgear wndr4300
Modem: e3372 Hilink

2

Odp: Restart połączenia - modem Hilink

Nie sprawdzą się, bo resetuje podłączenie wan a nie sam modem hilinka. Generalnie hilink sam powinien nawiązać połączenie. Zobacz forum bez-kabli.pl znajdziesz tam api hilinka i przykłady jak można można modem zresetować.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Restart połączenia - modem Hilink

Czyli nie ma możliwości sterowania zasilania USB skryptem?
Np. ping www.google.com i jeśli nie ma to USB turnoff wait 2 s USB turnon ? smile

4

Odp: Restart połączenia - modem Hilink

W wndr4300 nie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez Klon 2016-05-27 03:01:27)

Odp: Restart połączenia - modem Hilink

Ja korzystam z pakietu usbreset w wndr4300 i wndr3700v4 . Działa bezproblemowo restart modemu.

6

Odp: Restart połączenia - modem Hilink

Ta, akurat...
Była burzliwa dyskusja i testy w realu że ten pakiet nie rozłącza zasilania

* WNDR 4300v2 * ||  * Xiaomi Miwifi Mini * || Netgear R6220 *
* DVBT2 - T230C *

7

Odp: Restart połączenia - modem Hilink

Czy restartuje zasilanie tego nie jestem w stanie stwierdzić ale na pewno restartuje urządzenie modem E3372. Mam ustawione raz dziennie w nocy restart modemu i za każdym razem mam ustanowione nowe połączenie. Działa już tak rok w dwóch lokalizacjach. Do restartów typowo sprzętowych można by zastosować restartery firmy Elproc lub Uniwnet.
http://www.elproc.com.pl/index.php?opti … Itemid=205
http://www.uniwnet.pl/produkty/rst4r3.php

8

Odp: Restart połączenia - modem Hilink

Zasilania nie rozłączy, spowoduje po prostu reset urządzenia na magistrali usb.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez mar_w 2016-05-27 11:34:23)

Odp: Restart połączenia - modem Hilink

Klon napisał/a:

...Mam ustawione raz dziennie w nocy restart modemu i za każdym razem mam ustanowione nowe połączenie....

To nie jest żaden argument bo operator może rozłączać w nocy połączenie.
Przecież możesz to sprawdzić w dzień o każdej porze logując się na router i wykonując komendę z terminala.

Jeden z użytkowników m.in. tego forum zrobił powermod dla WNDR4300, ale rozłączał chyba przez przekaźnik + jedno wolne GPIO jak pamiętam.

* WNDR 4300v2 * ||  * Xiaomi Miwifi Mini * || Netgear R6220 *
* DVBT2 - T230C *

10

Odp: Restart połączenia - modem Hilink

Nadal twierdze że w wndr4300 powinno dać się to zrobić programowo - przynajmniej wg źródeł openwrt zasilanie usb jest przez gpio, tyle że przez wmac (gpio od chipu wifi).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Restart połączenia - modem Hilink

mar_w napisał/a:

Jeden z użytkowników m.in. tego forum zrobił powermod dla WNDR4300, ale rozłączał chyba przez przekaźnik + jedno wolne GPIO jak pamiętam.

Dzięki za info. Znalazłem ten temat
http://eko.one.pl/forum/viewtopic.php?id=12538
Może może warto by było podpiąć to pod "Spis poradników i HOWTO użytkowników" ?

12

Odp: Restart połączenia - modem Hilink

Dodałem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Restart połączenia - modem Hilink

Cezary napisał/a:

Nie sprawdzą się, bo resetuje podłączenie wan a nie sam modem hilinka. Generalnie hilink sam powinien nawiązać połączenie. Zobacz forum bez-kabli.pl znajdziesz tam api hilinka i przykłady jak można można modem zresetować.


Przyznam od razu, nie wiem jak napisać skrypt
Znalazłem temat o e3372 na forum bez jdtechi i resetowanie jest opisane:
http://forum.jdtech.pl/Watek-hilink-api … zen-huawei


Restart modemu, przywrócenie konfiguracji, kopia zapasowa konfiguracji, wyłączenie urządzenia

    url: http://192.168.8.1/api/device/control
    metoda: POST
    żądanie:

    Kod: Zaznacz cały
    <request>
       <Control></Control>
    </request>
    odpowiedź:

    Kod: Zaznacz cały
    <response>OK</response>
    Uwagi:
        Control:
            1 - restart urządzenia
            2 - przywrócenie konfiguracji (brak informacji jak podać plik z zapisaną konfiguracją. Być może korzysta z pliku http://192.168.8.1/nvram.bak)
            3 - kopia zapasowa konfiguracji (konfiguracja jest dostępna pod adresem http://192.168.8.1/nvram.bak. Plik jest z kodowaniem base64)
            4 - wyłączenie urządzenia

Napisze mi ktoś skrypt na podstawie tych informacji?

14

Odp: Restart połączenia - modem Hilink

Przecież masz tam gotowiec na następnej stronie, w curlu pod openwrt: http://forum.jdtech.pl/Watek-hilink-api … 8#pid29788

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Restart połączenia - modem Hilink

Loozak napisał/a:
Cezary napisał/a:

Nie sprawdzą się, bo resetuje podłączenie wan a nie sam modem hilinka. Generalnie hilink sam powinien nawiązać połączenie. Zobacz forum bez-kabli.pl znajdziesz tam api hilinka i przykłady jak można można modem zresetować.


Przyznam od razu, nie wiem jak napisać skrypt
Znalazłem temat o e3372 na forum bez jdtechi i resetowanie jest opisane:
http://forum.jdtech.pl/Watek-hilink-api … zen-huawei


Restart modemu, przywrócenie konfiguracji, kopia zapasowa konfiguracji, wyłączenie urządzenia

    url: http://192.168.8.1/api/device/control
    metoda: POST
    żądanie:

    Kod: Zaznacz cały
    <request>
       <Control></Control>
    </request>
    odpowiedź:

    Kod: Zaznacz cały
    <response>OK</response>
    Uwagi:
        Control:
            1 - restart urządzenia
            2 - przywrócenie konfiguracji (brak informacji jak podać plik z zapisaną konfiguracją. Być może korzysta z pliku http://192.168.8.1/nvram.bak)
            3 - kopia zapasowa konfiguracji (konfiguracja jest dostępna pod adresem http://192.168.8.1/nvram.bak. Plik jest z kodowaniem base64)
            4 - wyłączenie urządzenia

Napisze mi ktoś skrypt na podstawie tych informacji?

Jednak znalazłem skrypt do resetu modemu tu: http://eko.one.pl/forum/viewtopic.php?p … 11#p137911


Teraz mi tylko trzeba zmodyfikować skrypt sprawdzający połączenie.
Co zmienić w poniższym skrypcie żeby w przypadku braku połączenia wywoływał skrypt resetujący modem?

#!/bin/sh
if ! ping -q -c 5 -W 10 google.com > /dev/null; then
(ifup wan) &
fi

16

Odp: Restart połączenia - modem Hilink

(ifup wan) & oczywiście.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: Restart połączenia - modem Hilink

Jeśli skrypt resetujący nazwę sobie restart.sh to poniżej jest poprawnie?

#!/bin/sh
if ! ping -q -c 5 -W 10 google.com > /dev/null; then
(restart.sh) &
fi

18

Odp: Restart połączenia - modem Hilink

Jeżeli jest w katalogu np /usr/bin to tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19 (edytowany przez Loozak 2016-07-27 21:27:30)

Odp: Restart połączenia - modem Hilink

Więc podsumowanie dla laików takich jak ja:

1) Zrobić skrypt który resetuje modem Hilink o nazwie restart.sh (musi byc zainstalowany curl)

touch /bin/restart.sh
chmod 755 /bin/restart.sh
vi /bin/restart.sh

O treści:

#!/bin/bash
token=$(curl -s -X GET http://192.168.8.1/api/webserver/token | grep token  | cut -d '>' -f2 | cut -d '<' -f1)
curl -X POST -d "<request><Control>1</Control></request>" --url http://192.168.8.1/api/device/control -H "__RequestVerificationToken: $token" -H "Content-Type: text/xml"

2) Zrobić skrypt tester.sh który sprawdza połączenie pingując do googla i jeśli brak pinga to wywoła skrypt restart.sh:

touch /bin/tester.sh
chmod 755 /bin/tester.sh
vi /bin/tester.sh

O treści

#!/bin/sh
if ! ping -q -c 5 -W 10 google.com > /dev/null; then
(restart.sh) &
fi

3) Dodać do Crona:

/etc/init.d/cron stop
echo "*/30 * * * * /bin/tester.sh" >> /etc/crontabs/root
/etc/init.d/cron enable
/etc/init.d/cron start

20

Odp: Restart połączenia - modem Hilink

Najpierw zobacz czy restart.sh w ogóle działa. Bo możesz mieć inną wersję firmware która tego nie ma lub taką która wymaga autoryzacji przez cookie i będziesz leżał. Sprawdź najpierw.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Restart połączenia - modem Hilink

Działa całość tak jak opisałem.
Nawet radzi sobie z wpisywaniem PINu dzięki skryptowi:
http://eko.one.pl/forum/viewtopic.php?p … 38#p137738

22

Odp: Restart połączenia - modem Hilink

A jeśli chciałbym dołożyć do tego rejestrację każdego resetu na zasadzie zapis daty i godziny to tak będzie poprawnie?


#!/bin/sh
if ! ping -q -c 5 -W 10 google.com > /dev/null; then
(restart.sh) (date >> /plik.txt) &
fi

23

Odp: Restart połączenia - modem Hilink

#!/bin/sh
if ! ping -q -c 5 -W 10 google.com > /dev/null; then
date >> /plik.txt
(restart.sh) &
fi

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: Restart połączenia - modem Hilink

Dzięki wielkie

25

Odp: Restart połączenia - modem Hilink

Trochę czasu minęło od ostatniego postu, ale może komuś się przyda.
Szukałem i nie znalazłem(może słabo szukałem smile ) więc poniżej skrypt(restart.sh) na reset HiLink-a, ale modowanego(powyższe u mnie nie działały):

 #!/bin/bash

curl -s -X GET [url]http://192.168.8.1/api/webserver/SesTokInfo[/url] > /tmp/tmp.tmp
sesID=$(grep SessionID /tmp/tmp.tmp | cut -d '>' -f2 | cut -d '<' -f1)
token=$(grep TokInfo /tmp/tmp.tmp  | cut -d '>' -f2 | cut -d '<' -f1)
curl -X POST -d "<request><Control>1</Control></request>" --url [url]http://192.168.8.1/api/device/control[/url] -H "__RequestVerificationToken: $token" -H "Cookie: $sesID"  -H "Content-Type: text/xml"