1

Temat: [mało znane pakiety] slide-switch

W repozytorium OpenWrt można znaleźć się setki pakietów. Niektóre są mało znane, choć realizują ciekawe funkcje. Jednym z nich jest slide-switch.
Niektóre routery posiadają przełącznik trybów pracy - nie w postaci przycisku do przyciskania (!) tylko właśnie przycisku przesuwanego. Do takich routerów należą m.in małe modele od GL.iNet czy TP-Linki TL-WR902AC czy MR3020. Te suwaki nie generują zdarzeń jako przyciski tylko jako switch (przełącznik) i tym samym nie są obsługiwane przez zdarzenia hotpluga. Aby je obsłużyć należy samodzielnie sprawdzać stan gpio lub posłużyć się gotowym programem.

Instalacja
# opkg update
# opkg install slide-switch

I... to wszystko. Jeżeli posiadamy router który już ma zdefiniowaną konfigurację przełącznika to będą już generowanie odpowiednie zdarzenia w hotplugu.
Dla przykładu: TP-LINK TL-WR902AC v1 posiada przełącznik z trzema pozycjami oznaczonymi napisami:
- AP/Rng Ext/Client
- Share Hotspot
- Share ETH

Jeżeli przełącznik jest w pozycji "AP/Rng Ext/Client" to jego przesunięcie na środkową pozycję wygeneruje zdarzenie

Tue Aug  6 18:12:39 2019 user.notice root: BTN_0 -> pressed
Tue Aug  6 18:12:40 2019 user.notice root: mode-share-hotspot -> pressed

Jeżeli przesuniemy dalej to wygenerowane zostaną następne zdarzenia:

Tue Aug  6 18:12:46 2019 user.notice root: BTN_0 -> released
Tue Aug  6 18:12:46 2019 user.notice root: BTN_1 -> pressed
Tue Aug  6 18:12:47 2019 user.notice root: mode-share-hotspot -> released
Tue Aug  6 18:12:48 2019 user.notice root: mode-share-eth -> pressed

Powrót na pierwszą pozycję:

Tue Aug  6 18:13:01 2019 user.notice root: BTN_1 -> released
Tue Aug  6 18:13:03 2019 user.notice root: mode-share-eth -> released
Tue Aug  6 18:13:03 2019 user.notice root: mode-ap -> pressed

Znając już nazwy zdarzeń oraz akcję można samodzielnie podpiąć żądną akcję do dany przycisk. Jak to zrobić opisane jest w poradniku o obsłudze przycisków.

Program generuje też odpowiednie zdarzenie na starcie routera które odpowiada bieżącemu ustawieniu przełącznika.

Nieobsługiwany router

Obsługiwane routery opisane są na stronie projektu: https://github.com/jefferyto/openwrt-slide-switch

A co w przypadku kiedy mamy inny router z przełącznikiem? Dane o obsłudze routerów zawarte są w pliku /usr/share/slide-switch/switch-data.json w formacie json (można też podejrzeć kod źródłowy na stronie projektu: https://github.com/jefferyto/openwrt-sl … a.json-cut ). Wzorując się na istniejących wpisać można dodać dowolny inny router, choć należy później pamiętać o wysłaniu propozycji zmian do repozytorium!

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