Temat: Wybór wariantu podczas startu Openwrt

Mam takie pytanie nietypowe wink
Czy jest możliwość by system sprawdzał czy jest dostępna sieć wlan0 czyli połączenie klienckie na którym mam Internet. Chodzi mi o to że jak wyłączę router z Internetem to system sprawdzi czy jest połączenie z nim jeśli w ciągu załóżmy 10sekund nie nawiąże połączenia to uruchomi drugi router w trybie AP udostępniając jego zasoby. A gdy będzie połączenie to uruchomi konfigurację w trybie mostu bezp.

2

Odp: Wybór wariantu podczas startu Openwrt

Trochę pokrętnie to napisałes (...to uruchomi drugi router w trybie AP...).
Ale tak, możesz oprogramować sobie jak chcesz - jeżeli nie będzie połączenia z klientem to możesz inne konfigi uruchamiać.

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

3

Odp: Wybór wariantu podczas startu Openwrt

Przepraszam ale pisanie w pracy o tej godzinie nie jest najlepszym rozwiązaniem...
Chodzi mi o to że router ma sprawdzać czy ma połączenie klienckie czy nie. Jeśli nie ma to uruchamia się z konfiguracją AP z DHCP.
Pogooglowałem i nie wiem czy moja koncepcja jest dobra mianowicie utworzyć skrypt np. sprawdzenie.sh i dodać ścieżkę do rc.local??

I jak taki skrypt miałby wyglądać?? znalazłem jakiś skrypt sprawdzający połączenie z openvp i go próbuje naturalizować:

#!/bin/ash
WLAN0_SERVER="192.168.10.1"
WLAN0_INTERFACE="wlan0"


ping_success () {
  PING_TEST=`ping -I $1 -c 4 -q $2`
  if [ "$PING_TEST" ]; then
    return 1
  else
    return 0
  fi
}

interface_available () {
  RESULT=`ifconfig | grep -o "$1"`
  if [ "$RESULT" == "$1" ]; then
      return 0
  else
    return 1 
  fi
}

if interface_available $WLAN0_INTERFACE; then
  if ping_success $WLAN0_INTERFACE $WLAN0_SERVER; then
    #ładuje podstawową konfigurację
else
# ładuje zmienioną konfigurację
fi
fi


Nie wiem czy mój tok rozumowania jest prawidłowy.  Znalazłem jeszcze to:
https://wiki.openwrt.org/doc/devel/config-scripting
Za bardzo nie kumam angielskiego ale to raczej dotyczy samych configów i sprawdzania bądź zmiany configu a nie sprawdzenia czy dane połączenie jest czy go nie ma...

Jakbyś @Cezary albo jakiś z kolegów pomógł w zrobieniu takiego skryptu byłbym bardzo wdzięczny.
Z góry dziękuję za pomoc.

4

Odp: Wybór wariantu podczas startu Openwrt

Np. http://eko.one.pl/?p=openwrt-3g#automat … rtpoczenia

Jeżeli się nie połączył to znaczy że wanu (połączenia klienta) nie ma, więc zamiast robić ifup wan to po prostu przez uci ustaw
odpowiednią konfigurację AP i zrób ifup lan. Lub przygotuj sobie odpowiedni konfig wireless i po prostu podmieniaj pliki na taką konfigurację jaką chcesz.

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

5 (edytowany przez nawasaqi 2018-10-07 13:17:21)

Odp: Wybór wariantu podczas startu Openwrt

Kurcze ciemna materia dla mnie ;( ale staram się...
1. Nie bardzo wiem jak podmieniać pliki jeśli nie ma połączenia załóżmy że mam dwa pliki network w etc/config/network i do podmiany network2

#!/bin/sh
    if ! ping -q -c 1 -W 10 192.168.10.1 > /dev/null; then
        #brak odpowiedzi na ping wczytanie configu z network2
  fi

2. Czy jeśli podmienię pliki to czy po reboot nie będzie mi startował z config network2 cały czas?? Mi zalezy na tm że standardowo nawet po reboot był config z etc/config/network. A po sprawdzeniu czy jest dostępny router w zasięgu jeśli stwierdzi nie odpowiada na ping to żeby właśnie wczytał konfigurację z network2 "tymczasowo" aż do następnego restartu.

3 Czy po wczytaniu nie musi nastąpić przeładowanie ??
/etc/init.d/network restart

6

Odp: Wybór wariantu podczas startu Openwrt

1.

cp /etc/wireless.ap /etc/config/wireless

itd.

2. Tak, będzie startował cały czas. Więc albo po resecie przywracaj pliki albo rób tak żeby po podmianie i uruchomieniu wgrać znów ze starym konfigiem. Zmiana opcji przez uci była by lepsza bo byś po prostu nie comitował zmian
3. Nie, o ile nie zmieniasz dobitnie konfigu sieci.

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

7 (edytowany przez nawasaqi 2018-10-07 13:31:12)

Odp: Wybór wariantu podczas startu Openwrt

Ok spróbuję zrobić dwie kopie plików i przywracać je przy starcie... czy wystarczy skrypt do rc.local dopisać czy gdzieś indziej ?? Jeśli chodzi o przywracanie...

8

Odp: Wybór wariantu podczas startu Openwrt

Może być i przy rc.local.

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

9

Odp: Wybór wariantu podczas startu Openwrt

Ok ogarnąłem to z podmianą plików ale zrodziły mi się następne pytania wink

1. Gdzie mam wrzucić link /bin/tester.sh by sprawdzało po starcie czy połączenie przez sieć wlan0 jest dostępna czy nie... ?? też do rc.local ?? Zależy mi tylko by po starcie sprawdziło raz i potem nie ponawiało... bo w tym linku co mi podałeś wywołanie jest cron ustawiłem sobie co minutę i tak mam teraz ustawione... ale pytanie czy można sprawdzić raz załóżmy 30sekund po starcie czy się połączył czy nie jeśli nie to podmiana plików.

2. Dalej nie rozumiem jak teraz po podmianie ma się przeładować konfiguracja cała jeśli nie mam wywoływać
/etc/init.d/network restart

10

Odp: Wybór wariantu podczas startu Openwrt

1. rc.local wykonuje się tylko raz. Możesz też zrobić swój skrypt  w /etc/init.d i go aktywować (enable)
2. ifup wan - podniesienie interfejsu.

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