[+] Wifi - wznawianie po

Problemy dotyczące innych systemów operacyjnych
raf575
Posty: 9
Rejestracja: 03 lutego 2011, 23:58

[+] Wifi - wznawianie połączenia - Linux Mint

Post autor: raf575 »

Witam.

Mam skonfigurowaną sieć wifi. Sieć działa poprawnie, ale po restarcie rutera lub zerwaniu połączenia system (Linux Mint12) sam nie wznawia połączenie wifi. Jeśli wymuszę wznawianie połączenia wifi poleceniem:

Kod: Zaznacz cały

iwconfig wlan0 key s:haslo essid siec_wifi
system wznawia połączenie.

Wymyśliłem sobie, żeby dodać do crona zadanie, które by co minutę podnosiło połączenie wifi:

Kod: Zaznacz cały

* * * * * iwconfig wlan0 key s:haslo essid siec_wif
Niestety cron nie umie wykonać tego zadania.

Sieć mam skonfigurowaną w pliku interfaces. Nie używam programu network manager ani WiCd.

Listing pliku interfaces:

Kod: Zaznacz cały

......allow-hotplug wlan0
iface wlan0 inet dhcp
        wireless-key s:haslo
        wireless-essid siec_wifi
Z góry dziękuję za pomoc.

Pozdrawiam.
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

Post autor: DaVidoSS »

Dziwnie napisałeś:
Mam skonfigurowaną sieć wifi. Sieć działa poprawnie,
No dobrze ale zaraz potem:
ale po restarcie rutera lub zerwaniu połączenia
Skoro zrywa połączenie co minutę to siec taka nie działa poprawnie.
Jeśli masz za słabą siłę sygnału zwiększ siłę sygnału.
Jeśli to problem z kartą sieciową, zmień sterownik lub kartę sieciową.

Nie wiem czy w tej pochodnej Debiana są też demony ifup, ifdown, ale na Debianie używam skryptu do szybkiego automatycznego wyłączania i włączania (jeśli wyłączone) interfejsu sieciowego: /usr/local/bin/net

Kod: Zaznacz cały

 
#!/bin/bash
myip=`iwconfig wlan0 | grep 'inet addr:' | awk '{print $2}' | cut -c 6- | tr -d "."`
if [ $myip -eq "1921680195" ]; then
ifdown wlan0
else
ifup wlan0
fi
exit 0
raf575
Posty: 9
Rejestracja: 03 lutego 2011, 23:58

Post autor: raf575 »

Udało mi się rozwiązać problem.

W cronie ustawiłem zadanie, które co minutę uruchamia skrypt wifi.sh

Kod: Zaznacz cały

* * * * * /usr/local/bin/./wifi.sh  >/samba/public/log.log 2>&1

Skrypt wygląda tak:

Kod: Zaznacz cały

#!/bin/bash -x
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
x=`ping -c1 google.com 2>&1 | grep unknown`
if [ ! "$x" = "" ]; then
        echo "It's down!! Attempting to restart."
        ifdown wlan0
        ifup wlan0
fi
Problem leżał w braku drugiej linijki w tym skrypcie. Cron bez podanych ścieżek nie potrafił wykonać poleceń ifdown i ifup. W logu pojawiło się:

Kod: Zaznacz cały

command not found
Po dodaniu drugiej linijki

Kod: Zaznacz cały

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
skrypt zaczął mi działać jak należy.

Twój skrypt "coś" wyzwala z automatu, czy sam go uruchamiasz ręcznie, jak masz problem z siecią? Moje problemy z siecią wynikają z tego, że komputer jest dość daleko oddalony od rutera, przez co połączenie wifi raz na dobę, a czasem 3 razy na godzinę jest zrywane. Komputer pracuje bez klawiatury i monitora, więc po awarii musiałem podejść do niego z klawiaturą pod jedną pachą i monitorem pod drugą pachą, żeby podnieść sieć. Zależało mi na tym, aby system sam podnosił połączenie jak sieć padnie.
ODPOWIEDZ