Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-02-10 11:05:46

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

[RPi] automatyczny restart hostapd przy wyjęciu/włożeniu karty wifi

Witam.


Z różnych przyczyn do najbliższej wypłaty zmuszony jestem do korzystania z tzw "rozwiązań bezkosztowych" - czyli trzeba zastąpić prowizorycznie routerek wifi (który napisał do mnie podanie o wycieczkę lotniczą w kierunku najbliższego smietnika). Z routingiem nie ma problemu - mój blaszak działa non-stop, ilość sieciówek ma wystarczającą. Gorzej z wifi (nie podłączę karty do blaszaka bo stoi w takim miejscu że nigdzie nie sięgnie).

Do dyspozycji działająca również non-stop malinka, wyposażona w huba USB z zasilaniem oraz wielce paszczatą kartę TP-Linka (to coś co dodawali w roblandzie do zestawów z wifi, TL-725N-V2). Po pewnych problemach z uruchomieniem (ściąganie jakichś lewych driverów) wszystko ruszyło (hostapd + bridge) i działa nadspodziewanie dobrze (mam zasięg w całym mieszkaniu, sąsiad mnie nie interesuje).

Niestety - karta (albo driver, albo co) ma swoje fochy - mianowicie po pewnym czasie wyłącza tryb master i próby jego włączenia kończą się informacją, że "karta nie może pracować w trybie master" (fakt zresztą odnotowany na paru forach raspberrego). Doraźne rozwiązanie to:

* hostapd stop
* wyjęcie karty z huba
* włożenie karty
* dodanie wlan0 do br0
* start hostapd

Tyle że chciałbym, aby moja małżonka (której umiejętności techniczne ograniczają sie do wyjęcia i włożenia karty) również mogła całe to ustrojstwo w przypadku awarii uruchomić.

I teraz pytanie czy dobrze kombinuję:

Załóżmy że odczytałem sobie ID karty przez lsusb, i wprowadzam nową regułkę do np. /etc/udev/udev.d/100-hostapd-restart.rules:

Kod:

ACTION=="add", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", RUN+="/root/hostapd.sh"

ACTION=="remove", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", RUN+="/usr/sbin/service hostapd stop"

gdzie zawartość /root/hostapd.sh to

Kod:

#!/bin/bash
if [ -f /dev/shm/hostapd.enable ] ; then
    echo 'sleep 10 && brctl ifadd br0 wlan0 && service hostapd restart' | at now
fi

a w /etc/rc.local siedzi m.in. linijka:

Kod:

touch /dev/shm/hostapd.enable

Dobrze kombinuję czy trzeba jakoś inaczej do sprawy podejść?

Zaznaczam że niespecjalnie się znam na pisaniu regułek do udeva, a nie mam w tej chwili dostępu do malinki (inna awaria, brak netu w domu, siedzę w barze z wifi).

A może jest jakiś inny sposób?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#2  2015-02-10 11:43:06

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [RPi] automatyczny restart hostapd przy wyjęciu/włożeniu karty wifi

Dobrze kombinuję czy trzeba jakoś inaczej do sprawy podejść?

No inaczej raczej się nie da tego zrobić skoro ma to polegać na eventach przy wykrywaniu urządzeń. Rzuć sobie okiem na ten mój art https://dug.net.pl/tekst/278/ , tylko jeśli szukasz urządzeń, to rób to via

Kod:

# lsusb
Bus 002 Device 008: ID 2357:0101

# udevadm info --name /dev/bus/usb/002/008 --attribute-walk

I dalej już tam masz info jak sobie obadać tego udeva.

Offline

 

#3  2015-02-10 12:15:14

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [RPi] automatyczny restart hostapd przy wyjęciu/włożeniu karty wifi

Przydatny tekścik, nie powiem. Dzięki!

Tak przy okazji... nie wiem kto tworzył style do tego działu, ale za szare literki na białym tle i brak liquid layout przy powiększaniu powinien być zakuty w dyby na jakiś tydzień i wystawiony na widok publiczny.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)