Temat: Dioda świecąca jak jest internet

Elo!!!
W związku z ostatnimi przerwami dostawy internetu, naskrobałem skrypt który sprawdza czy jest internet i zaświeca diodę QSS lub ją gasi przy jego braku - męczące jest co chwila ręczne sprawdzanie.Skrypt dorzuciłem do crona, bo niestety nie udało mi się nieskończonej pętli ze sleep co było w zamiarze, co do cron'a niestety minimalny czas uruchamiania 1min ale wystarczający.Może ktoś coś domyśli lub skorzysta z tego.Oczywiście dla tplinka TL-WR1043ND dla innych trzeba zmienić nazwę diody.Pingowanie serwera google.pl dla mnie nie miało sensu bo w razie kłopotów z dns byłoby że net'a nie ma dlatego wybrałem stałe ip dns od google ;].Trzeba mieć również "porobione" z diodami co w firmware od CEZAREGO już jest.

#!/bin/sh
if ping -w 1 -q -s 1 8.8.8.8
then
echo "255" > /sys/class/leds/tl-wr1043nd\:green\:qss/brightness
else
echo "0" > /sys/class/leds/tl-wr1043nd\:green\:qss/brightness
fi

2

Odp: Dioda świecąca jak jest internet

mozna skorzystac z trigera netdev i trybu link
i pewnie to samo by było

3

Odp: Dioda świecąca jak jest internet

No nie. Istnieje połączenia z medium po drugiej stronie nie oznacza że masz wyjście w świat...

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

4 (edytowany przez Paco52327 2010-09-07 12:01:22)

Odp: Dioda świecąca jak jest internet

@RPC
W moim wypadku tplink jest podłączony do modemu sąsiada.Więc chyba odpada?

5

Odp: Dioda świecąca jak jest internet

Powyższy sposób działa ale z pętlą w nieskończoność dioda SYS cały czas mruga po restarcie bo skrypt jest wykonywany hmm

#!/bin/sh
while [ 1 ]
do
if ping -w 1 -q -s 1 8.8.8.8
then
echo "255" > /sys/class/leds/tl-wr1043nd\:green\:qss/brightness
else
echo "0" > /sys/class/leds/tl-wr1043nd\:green\:qss/brightness
fi
sleep 10
done
 

6

Odp: Dioda świecąca jak jest internet

nie będę się upierał smile bo już mnie zakrzyczeliście

7

Odp: Dioda świecąca jak jest internet

rpc napisał/a:

nie będę się upierał smile bo już mnie zakrzyczeliście

Każdy pomysł dobry smile ale teraz trzeba uruchomić skrypt w tle przy starcie systemu , jakiś pomysł?

8

Odp: Dioda świecąca jak jest internet

ten_skrypt &

http://eko.one.pl/?p=openwrt-skrypty#sk … ciesystemu

Czyli np. w /etc/rc.local

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

9

Odp: Dioda świecąca jak jest internet

Cezary napisał/a:

ten_skrypt &

http://eko.one.pl/?p=openwrt-skrypty#sk … ciesystemu

Czyli np. w /etc/rc.local

Tak ale jak wyżej pisałem uruchomi się i dioda SYS cały czas mruga, nie zaświeca się po uruchomieniu systemu bo ten skrypt się nie skończył.

10

Odp: Dioda świecąca jak jest internet

Z & na końcu poleci w tło, wiec skrypt sam z siebie się skończy.

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

11

Odp: Dioda świecąca jak jest internet

Cezary napisał/a:

Z & na końcu poleci w tło, wiec skrypt sam z siebie się skończy.

Nie żebym wątpił ale śmiga ;] THX

12

Odp: Dioda świecąca jak jest internet

Czy dało by rade tak przebudować ten skrypt że wrazie braku internetu przez 30sek router wykonywał by re-boot ?

Bardzo by mi sie to przydało ponieważ niewiedząc czemu router co kilkanaście godzin traci połączenie z netem przez modem UMTS i trzeba go ręczne resetować...

13

Odp: Dioda świecąca jak jest internet

http://eko.one.pl/?p=openwrt-skrypty#re … edzibramki

Zamień ifup wan na reboot i gotowe.

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

14 (edytowany przez stitoo 2010-09-20 23:14:08)

Odp: Dioda świecąca jak jest internet

O właśnie o to mi chodziło.

coś takiego ?

TARGET=`route -n | awk '/^0.0.0.0/ { print $2 }'`
    if ! ping -q -c 1 -W 30 ${TARGET} > /dev/null; then
        reboot
    fi

15

Odp: Dioda świecąca jak jest internet

no ja bym te 30 sek. zwiększył. Może być niestabilność netu no i będziesz miał katarynkę

16

Odp: Dioda świecąca jak jest internet

if ! ping -q -c 1 -W 30 8.8.8.8 > /dev/null; then
        reboot
    fi

Lepiej. Pinguj np. dns googla a nie zdalny koniec bo to róznie może być.

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

17

Odp: Dioda świecąca jak jest internet

hmm  nie wiem czemu ale po wpisani w terminal

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

W pliku cron nie widzę żadnych zmian ?

18

Odp: Dioda świecąca jak jest internet

Chyba coś że robie...

Plik tester wygląda tak :

TARGET=`route -n | awk '/^0.0.0.0/ { print $2 }'`
if ! ping -q -c 1 -W 30 8.8.8.8 > /dev/null; then
        reboot
    fi


A Plik cron

#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=50

start () {
    loglevel=$(uci_get "system.@system[0].cronloglevel")
    [ -z "$(ls /etc/crontabs/)" ] && exit 1
    mkdir -p /var/spool/cron
    ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
    crond -c /etc/crontabs -l ${loglevel:-5}
}

stop() {
    killall -9 crond
}

19

Odp: Dioda świecąca jak jest internet

jak masz tylko crona do tego jednego zadania to go lepiej wygaś i wrzuć skrypt w pętle. Mniej zasobów zje.

20 (edytowany przez stitoo 2010-09-21 00:09:44)

Odp: Dioda świecąca jak jest internet

Hmm a jakoś proście można ? Expertem w tym nie jestem. Jeśli istnieje jakiś prostszy sposób prosił by o pomoc.

Tz plik tester.sh mam dobrze napisany ?

#!/bin/sh
if ! ping -q -c 1 -W 180 8.8.8.8 > /dev/null; then
        reboot
    fi

21

Odp: Dioda świecąca jak jest internet

Jeszcze chmod 755 /bin/tester.sh

zobacz w logu czy cron się odzywa co 10 min.

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

22

Odp: Dioda świecąca jak jest internet

cat /bin/tester.sh

#!/bin/sh
until false ;
do
if ! ping -q -c 1 -W 180 8.8.8.8 > /dev/null; then
        reboot
fi
sleep 600
done

gdzie plik /bin/tester.sh ma uprawnienia

chmod +x /bin/tester.sh

i dopiszesz do /etc/rc.local wiersz

/bin/tester.sh &

i to wszystko

jak nie masz innych zadań crona to nie ma sensu go odpalać. Robiłem kiedyś testy i wyszło że taki skrypt wygrywa z cron. Ale znów jak masz coś więcej to niestety cron pozostaje.

23

Odp: Dioda świecąca jak jest internet

Zrobiłem tak jak jak napisał rpc

Niestety efekt był taki że router wpadł w loop reboot

Zostawiam tak

#!/bin/sh
if ! ping -q -c 1 -W 180 208.67.222.222 > /dev/null; then
        reboot
   fi
sleep 600
done

Plik tester mam uprawnienia 7777

Narazie wszystko działa. Potestuje jak to w czasie wyjdzie.

24

Odp: Dioda świecąca jak jest internet

No właśnie. Na początku przydało by się sprawdzić czy w ogóle istnieje połączenie, bo jak nie to będzie się co chwila rebootował...

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

25

Odp: Dioda świecąca jak jest internet

no to nie moja wina ja Ci tylko pętle podpowiedziałem smile
dlatego napisałem aby te 30sek zwiększyć bo to bez sensu tak często sprawdzać

co do sprawdzenia połączenia to tez bez sensu. Bo połączenie może być poprawne a zwalone jest u providera i po co restartować router ?
Druga rzecz to jakie łącze ? pppoe, sta, static address, dhcp address ?
To warunkuje co się sprawdza jako pierwsze.
Jak jest ppp to szukamy iface potem gatewaya itd. i po co restart tylko ifup i ifdown wan
Jak jest ethernet port to szukamy i pingujemy gatewaya bo iface może być online i to samo co wyżej
A jak mamy STA  to szukamy adresu ip gatewaya i pingujemy jak nie to to samo co wyżej a jak nie to restart
Jest tyle możliwości...
Pingowanie zewnętrznego dns nie jest za szczęśliwym rozwiązaniem. Bo na to czy odpowie nie mamy wpływu.
Oo lampki se możemy tak świecić jak nie ma odpowiedzi ale raczej routera nie powinno się restartować po tym jak dns nie odpowie. Zresztą taki jest temat tego postu

No i jeśli już to min co 5 minut bym sprawdzał a nad restartem i kiedy bym się głęboko zastanowił bo to przeważnie nic nie daje