
Mam modemik ADSL speedstream. Problem w tym ze on lubi sie co jakis czas wieszac. Jedynym sposobem (po zwisie) jest wylaczenie i wlaczenie modemu.
Wymyslilem sobie ze zbuduje uklad ktory po odebraniu sygnalu z portu drukarki wylaczy modem i pozniej na zadanie znow wlaczy.
Problem pozostal tylko w wykryciu faktu braku "netu"
myslalem nad :
1. ping-iem
np.
- Kod: Zaznacz wszystko
ping -W 20 -c 1 onet.pl
2. wget :)
np.
- Kod: Zaznacz wszystko
wget --tries 1 --timeout 50 http://www.onet.pl/favicon.ico
Moze jest na to jeszcze inny sposob? czekam na pomoc i propozycje.
Uklad jest zbudowany :
Pod D0 podlaczam 2 bramki NAND w szeregu ze zwartymi wejsciami a one wysterowuja tranzystor. Tan natomiast zalacza przekaznik ktory rozwiera napiecie zasilania modemu (18V).
Aktualnie skrypt wyglada tak (jak widac nie jest to ladnie napisane ;) ale dziala :) :
- Kod: Zaznacz wszystko
#!/bin/sh
cd /tmp
wget --tries 1 --timeout 30 http://www.onet.pl/favicon.ico 2>/tmp/onet.log
rm -f /tmp/favicon.ico
test="`cat /tmp/onet.log | grep "saved"`"
rm -f /tmp/onet.log
if [ "$test" == "" ]; then
date >/tmp/modem_log
#wlacz linie D0 na LPT w stan wysoki
/sbin/lpif -d /dev/parport0 -s 1 >/dev/null
sleep 10
/sbin/lpif -d /dev/parport0 -s 0 >/dev/null
fi