Stránka 1 z 1

DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 08:27
od Epe
Zdravím,
může mi někdo říct, zda je možné na DD-WRT nahrát "startup script", který poběží v nekonečné smyčce? Nechtěl bych router usmrtit tím, že by se po spuštění tento skript spustil a systém by čekal na jeho dokončení :)
Díky za info

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 09:00
od hunter21
Akakolvek smycka je potencialnym zabijakom. Prave preto sa uz pred desiatkami rokov preslo na programovanie pomocou udalosti. Skript je lepsie spustat udalostou od casovaca. Zrejme je lepsie napisat co presne potrebujes spravit, pretoze to moze byt uz hotove a staci len googlit.

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 09:18
od Epe
ano souhlasim. idealni si udelat hodinovy cron a spouste skript. Bohuzel na TP-LINK 741ND nemuzu ulozit libovolny skript, protoze ma malou flash pamet. Takze jedina moznost je vyuzit menu "commands" a tam ulozit nejaky "startup script".

Jde mi o to, ze jednou za cas se stane, ze prestane fungovat wifi (kabel funguje). Takze jsem nasel na foru DDWRT skript, ktery by si pingal wifi klienta, ktereho mam porad zapnuteho. V pripade, ze by nejaky cas nedostaval odpoved, router by se restartoval.

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 09:30
od hunter21
Pre inspiraciu mozem uviest skript v ktorom som pouzil smycku, ktora sa ukonci po
stanovenom case bez ohladu na to ako dopadne vysledok prikazu vo vnutri smycky.
Zistuje to, ci je bezdratova linka pripojena, alebo odpojena.

Kód: Vybrat vše
# Wait for Association and exit with status
RETVAL=0; ASSOC_TIMEOUT=0; ENOSUP=-1
CMD_GET_CONN="connStatus"; IFACE="wlan0"

# Test for support GET Connection_Status Command
ASSOC=`$CMD_IWP $IFACE $CMD_GET_CONN 2>/dev/null` || RETVAL=$ENOSUP
if [ "$RETVAL" = "0" ]; then
  # Is Association OK ?
  IS_ASSOCIATION=`echo $ASSOC | grep "Connected" | wc -l`
  if [ "$IS_ASSOCIATION" = 0 ]; then
    echo "Waiting for Association..."
    while [ "$IS_ASSOCIATION" != "1" ] && [ "$ASSOC_TIMEOUT" -le "60" ]
      do
         sleep 1
         IS_ASSOCIATION=`$CMD_IWP $IFACE $CMD_GET_CONN | grep "Connected" | wc -l`
         let ASSOC_TIMEOUT++;
    done

    if [ "$ASSOC_TIMEOUT" = "0" ] || [ "$IS_ASSOCIATION" = "1" ]; then
      echo "==> OK"
    else
      RETVAL=1
      echo "==> Timeout"
    fi

  fi
fi

exit $RETVAL


Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 14:13
od soban
Vždyť DD-WRT má cron v základu (pochybuji že u tebe nebude) tak se vykašli na nějaký ping a prostě router každý den v 2:00 h resetni přes cron.

PS. Nemusíš provádět komplet reset stačí zhodit a zase zapnout wifi.

PS.2 Ten jeden řádek do cronu se do flash určitě vleze.

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 14:35
od hunter21
Mam tiez 741ND a zaujimalo by ma ci mas vysledovanu pricinu mrznutia wifi. Ked ti zamrzne wifi vysiela to nadalej SSID?
Tiez mi to obcas zamrzne.

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 19:01
od Epe
soban: praveze jsem to chtel navazat na to jestli funguje ping. Kdyz vytuhne wifi v 2:01 tak je to na nic a musim to zase rucne restartovat. Ale asi neni jina moznost nez nejaky cron v noci a
Kód: Vybrat vše
ifconfig ath0 down; sleep 1; ifconfig ath0 up; startservice lan ath0; startservice lan ath0


hunter: cim to je netusim. vetsinou to jede mesic-dva bez problemu. SSID nevysila. Je to uplne tuhy.

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 19:26
od hunter21
Ja mam zatial len pracovnu hypotezu preco to mrzne a ta sa zaklada na praci pri odstranovani chyby v ovladaci pre USB wifi, ktory obcas a nahodne mršil data pri prenose. Tyka sa to hw filtra na karte, ktory by nemal posielat do ovladaca ramce s chybami. Moze sa stat, ze chybny ramec nastavi ovladac do nepodporovaneho rezimu ak je chyba napriklad v riadiacich, alebo kontrolnych datach.

Problem resetu odvodeneho od pingu je ten, ze ping sa nemusi dostat na druhu stranu z dovodu velkeho zarusenia, alebo v tom case moze klient vykonavat funkciu prieskumu pasma. V takom pripade nieje potrebne router restartovat nakolko moze fungovat normalne. Zalezi na tom aku situaciu nefungovania riesis.
Take zamrznutie ako nastava u mna by bolo potrebne zrejme riesit zhodenim a znova nahodenim interface. Pri strate spojenia by bolo zrejme lepsie sledovat log v ktorom sa objavuje prislusna hlaska. Router vykopne prislusnu MAC z RAM ak nieje aktivna dlhsie ako 5min. Ten interval sa da zejme niekde nastavit, pretoze Mikrotik to ma nastavene na 60min. Aby router nevykopol MAC (a teda neukoncil spojenie) musi od klienta dostavat pravidelne info o aktivnom stave. To sa robi zvycajne v inrvaloch ~10sec.

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 19:45
od rr-zz
hoši hoši.. než byste si připlatili pětikilo za výkonnější a vychytanej Mikrotik, kterej není třeba rebootovat roky, tak tady přes DD-wrt křísíte takový střepy :)

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 19:51
od hunter21
Tak to vies no, niekto si rad hraje. A ten kto si hraje, nezlobi, vsak to poznas. Okrem toho sa clovek aspon nieco nauci.

Re: DD-WRT a startup script

Odeslat příspěvekNapsal: 12. 5. 2016 21:07
od rr-zz
jasný :) já mám několik Tplinků 841 s openWRT i DD-wrt, u něj jede wifi super a není třeba s tím cokoliv dělat celej rok. Z levnýho routeru to udělá luxusní zařízení ;-)