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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
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:
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
#!/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:
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?
Offline
Dobrze kombinuję czy trzeba jakoś inaczej do sprawy podejść?[/quote]
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 viaKod:
# lsusb Bus 002 Device 008: ID 2357:0101 # udevadm info --name /dev/bus/usb/002/008 --attribute-walkI dalej już tam masz info jak sobie obadać tego udeva.
Offline
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.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00007 | SET NAMES latin2 |
0.00103 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.221.183.34' WHERE u.id=1 |
0.00091 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.221.183.34', 1732802416) |
0.00053 | SELECT * FROM punbb_online WHERE logged<1732802116 |
0.00097 | DELETE FROM punbb_online WHERE ident='18.188.113.189' |
0.00069 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27015 AND t.moved_to IS NULL |
0.00007 | SELECT search_for, replace_with FROM punbb_censoring |
0.00128 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27015 ORDER BY p.id LIMIT 0,25 |
0.00090 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27015 |
Total query time: 0.00658 s |