Enable/disable QoS poprzez SES Button
|
mlody-kaszub |
Dodano 30-12-2011 21:21
|
User
Posty: 7
Dołączył: 28/12/2011 17:35
|
Witam ponownie!
Mam pytanko: jak można zrealizować włączanie/wyłączanie QoS wykorzystując przycisk SES w WRT54GL (Tomato 1.28)?
Domyślam się, że należy napisać Custom Script i uaktywnić go dla żądanej kategorii czasowej.
Niestety nie umiem pisać skryptów SH dlatego prosiłbym o pomoc.
----------------------------------------------------------------------------------
Znalazłem dzięki wujkowi Google coś takiego:
Włączenie QoS:
nvram set qos_enable=0
service qos stop
Wyłączenie QoS:
nvram set qos_enable=1
service qos start
Niestety nie wiem jak to zastosować w skrypcie, tzn. jak rozróżnić stan gdy QoS faktycznie jest już włączony (wtedy skrypt ma go wyłączyć) i na odwrót. |
|
|
|
shibby |
Dodano 31-12-2011 12:29
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
http://openlinksys.info/forum/viewthread.php?thread_id=12487
tu masz przyklad custon script dla ses. Nie musisz wpisywa nic w nvram, wystarczy service qos stop/start
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
mlody-kaszub |
Dodano 31-12-2011 15:09
|
User
Posty: 7
Dołączył: 28/12/2011 17:35
|
Dziękuję!
Czy wyłączenie QoS poprzez SH powoduje również, że QoS staje się nieaktywny w zakładce QoS?
Na razie mam coś takiego w polu "Custom Script":
[ $1 -gt 0 -a $1 -lt 4 ] && service qos stop
Dodatkowo wszędzie w "When Pushed For..." mam zaznaczoną opcję "Run Custom Script".
Wciskam i trzymam SES aż DMZ mignie 3 razy i nie widzę, aby w zakładce QoS coś zmieniało się.
--------------------------------------------------------------------------------------------------------------------------------
OK, po dalszych próbach zauważyłem:
1. 3s to chyba czas zabroniony? 1,2,4,5 działa.
2. Wykorzystując polecenie nvram set qos_enable widać w końcu wprowadzone zmiany w zakładce "QoS".
I mam dwa pytania:
1. Czy częste wprowadzanie zmian w NVRAM jest w jakiś sposób groźne dla routera? Wpływ na żywotność NVRAM lub cosik podobnego?
2. W jaki sposób można napisać skrypt, który działałby jak "Toggle Wireless"? Czy takie coś zadziała?
[ $1 -gt 0 -a $1 -lt 3 ] && nvram set qos_enable=!qos_enable
Jak już wcześniej pisałem nie jestem specjalistę w SH i prosiłbym o wskazówki.
--------------------------------------------------------------------------------------------------------------------------------
Może:
if [ $1 -ge 0 -a $1 -le 2 ] ; then
qos_status=$(nvram get enable_qos)
nvram set qos_enable = $([ $qos_status -eq 0 ] && echo 1 || echo 0)
led amber $([ $qos_status -eq 0 ] && echo off || echo on)
fi
Poprawnie?
Połączony z 01 styczeń 2012 23:01:11:
Witam ponownie,
Przepraszam, że nie edytuje swojego posta, ale wolałbym podbić temat, aby ostatnia wiadomość była czytelna.
Otóż poradziłem sobie i wszystko śmiga jak ta lala ;]
Mój skrypt:
#---------------------------------
# TOGGLE QOS (0-2 Seconds)
#---------------------------------
if [ $1 -ge 0 -a $1 -le 2 ]
then
if [ $(nvram get qos_enable) -eq 0 ]
then
nvram set qos_enable=1
service qos start
led white off
else
nvram set qos_enable=0
service qos stop
led white on
fi
fi
Standardowo przy starcie routera usługa QoS również startuje, a biała LED jest wyłączona.
Przyciśnięcie SES na 0-2s powoduje wyłączenie QoS i włączenie białego LED'a. Ponownie wciśnięcie włącza usługę i wyłącza diodę.
Czy ktoś może zweryfikować kod tzn. wskazać ew. błędy lub poradzić jakiś lepszy sposób?
Pozdrawiam!
Edytowany przez mlody-kaszub dnia 01-01-2012 23:16
|
|
|
|
hermes-80 |
Dodano 01-01-2012 23:20
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Skrypt napisałeś poprawnie - gratulacje.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
mlody-kaszub |
Dodano 01-01-2012 23:33
|
User
Posty: 7
Dołączył: 28/12/2011 17:35
|
Dzięki Może jakiś powalający nie jest, ale jak na pierwszy raz to nie jest chyba aż tak źle
Czy może ktoś mi wytłumaczyć czym różni się włączanie/wyłączanie usługi QoS poprzez start/stop i restart? |
|
|
|
shibby |
Dodano 02-01-2012 11:00
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
skrypt ok ale w przypadku QoSa trzeba by go zmodyfikowac lekko.
Cytat if [ $1 -ge 0 -a $1 -le 2 ];
then
if [ $(nvram get qos_enable) -eq 0 ];
then
nvram set qos_enable=1
service qos restart
led white off
else
nvram set qos_enable=0
service qos restart
led white on
fi
fi
juz tlumacze czemu restart. Chodzi o to by wszystkie inne uslugi powiazane z QoSem sie tez zrestartowaly np firewall. A z racji iz w nvram qos ma wartosc 0 to sie nie uruchomi QoS. Teraz skrypt jest w pelni poprawny.
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
mlody-kaszub |
Dodano 02-01-2012 13:00
|
User
Posty: 7
Dołączył: 28/12/2011 17:35
|
Faktycznie - teraz wszystko śmiga bajecznie! I wszystko stało się jasne ;]
Dzięki Shibby |
|
|
|
mrozek86 |
Dodano 10-01-2012 01:22
|
User
Posty: 2
Dołączył: 06/02/2009 00:50
|
Proszę o odpowiedź na pytanie:
"1. Czy częste wprowadzanie zmian w NVRAM jest w jakiś sposób groźne dla routera? Wpływ na żywotność NVRAM lub cosik podobnego?"
Chciałbym dodać w schedulerze aby w godzinach nocnych wyłączony był qos, a za dnia chodził. Czy codzienna modyfikacja nvram wpłynie negatywnie na żywotność sprzętu?
WL-500gP V1 Tomato 1.28 MIPSR1-083V K26 USB BT-VPN + SWAP + HDD
|
|
|
|
shibby |
Dodano 10-01-2012 09:16
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
w powyzszym skrypcie nie utrwalamy zapisu do nvram. Jest ona tylko tymczasowa. Tak wiec nie wplywa to w zaden sposob na trwalosc nvram.
Jeżeli chcielibysmy kazdorazowo utrwalic wartosc, trzeba by wydawac po nvram set, komendę nvram commit.
W powyzszym przykladzie nie jest to wymagane. Trzeba jednak pamiętać, że w przypadku restartu routera nie uruchomi się on z ostatnio uzywana wartoscia np w nocy gdzie powinno byc 0, tylko z ostatnio utrwaloną (zapisaną) wartością. Najlepiej utrwalic sobie wartosc 1 (wlaczony qos), wtedy po restarcie zawsze qos bedzie zalaczany.
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
mrozek86 |
Dodano 10-01-2012 09:39
|
User
Posty: 2
Dołączył: 06/02/2009 00:50
|
dzięki shibby za szybką i konkretną odpowiedź
WL-500gP V1 Tomato 1.28 MIPSR1-083V K26 USB BT-VPN + SWAP + HDD
|
|
|
|
21smoczek |
Dodano 10-01-2012 20:48
|
User
Posty: 55
Dołączył: 15/05/2011 19:53
|
Mógłby ktoś wytłumaczyć co oznacza ta komenda? [ $1 -ge 0 -a $1 -le 2 ]. Rozumiem że chodzi o włączenie diody ale tak chciałbym konkretnie który parametr za co...? |
|
|
|
shibby |
Dodano 10-01-2012 22:50
|
SysOp
Posty: 17111
Dołączył: 15/01/2009 20:30
|
Wpisz sobie w google "bash if" i znajdziesz co oznaczaja poszczegolne parametry
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|