Temat: Dwie sieci Wifi

Witam.
Jetem nowy na forum więc się najpierw przywitam :-)

Od lat jestem pasjonatem linuxa. OpenWrt i jego filozofię dopiero poznaję.

Ostatnio nabyłem TP-Linka WDR-4300, zainstalowałem tam najnowsze OpenWrt, więc pora na konfigurację.

Chciałbym ustawić router w trybie Client+AP.
Mam dostęp do dwóch sieci Wifi z których chciałbym korzystać jako klient.

Jak to skonfigurować, żeby  polecenie
ifdown WLAN1; ifup WLAN2        powodowało połączenie z drugą siecią a
ifdown WLAN2; ifup WLAN1        łączyło z pierwszą siecią.
Oczywiście w każdym przypadku niech tworzy moją się WLAN3 do której podłączę się laptopem i będę miał internet.


Siedzę nad tym kilka dni i nie udało mi się tego rozwiązać, chociaż zapewne jest to banalne.

Proszę chociaż o jakieś wskazówki.

2

Odp: Dwie sieci Wifi

Robisz dwie konfiguracje sieci w wifi po prostu, dwie sekcje wan, zmieniasz firewalla.

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

3

Odp: Dwie sieci Wifi

Tak próbuje robić. Może przytoczę swoje pliki:

/etc/config/wireless


config wifi-device 'radio0'
    option type 'mac80211'
    option path 'platform/ar934x_wmac'
    option htmode 'HT20'
    option txpower '30'
    option country 'US'
    option hwmode '11g'
    option disabled '0'

config wifi-iface
    option network 'wwan1'
    option ssid 'Siec1'
    option encryption 'psk'
    option device 'radio0'
    option mode 'sta'
    option bssid '94:0C:6D:BC:1E:1E'
    option key 'klucz1'

config wifi-iface
    option network 'wwan2'
    option ssid 'Siec2'
    option encryption 'psk2'
    option device 'radio0'
    option mode 'sta'
    option bssid '94:0C:6D:BC:2E:2E'
    option key 'klucz2'

config wifi-iface
    option network 'lan'
    option ssid 'Moja Sieć'
    option encryption 'psk2'
    option device 'radio0'
    option mode 'ap'
    option key 'klucz3'


/etc/network


config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd3f:43fb:360e::/48'

config interface 'lan'
    option ifname 'eth0.1'
    option force_link '1'
    option type 'bridge'
    option proto 'static'
    option ipaddr '192.168.10.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'wwan1'
    option proto 'dhcp'
    option ifname 'wlan0'
   
config interface 'wwan2'
    option proto 'dhcp'
    option ifname 'wlan0'


Coś takiego zrobiłem.
i teraz
ifup wwan1

powinien startować pierwszą sieć, a
ifdown wwan1; ifup wwan2
powinien przerwać połączenie z pierwszą siecią i połączyć z drugą
przynajmniej ja się spodziewałem takiej reakcji.

Pokaż mi proszę w czym tkwi błąd.

4

Odp: Dwie sieci Wifi

option ifname 'wlan0' wywal z obu sekcji. Bo interfejsy będą się nazywały wlan0-1 itd. Dlatego masz option network 'wwan2' w wireless żeby było do czego należy.

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

5

Odp: Dwie sieci Wifi

Próbowałem i bez tych opcji.
Teraz też je usunąłem.

Miałem podpiętą Sieć1
kiedy  zrobiłem
ifdown wwan1; ifup wwan2

to rozłączyło z tą siecią, ale za kilkanaście sekund znowu połączyło z tą samą siecią.

Tak jakby nie widział drugiego wpisu.

6

Odp: Dwie sieci Wifi

Więc zrób tak i pokaż logi.

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

7

Odp: Dwie sieci Wifi

Oto log dmesg:


1164.950000] wlan0: disassociated from 94:0c:6d:bc:1e:1e (Reason: 16)
[ 1165.460000] br-lan: port 2(wlan0-2) entered forwarding state
[ 1165.720000] wlan0: authenticate with 94:0c:6d:bc:1e:1e
[ 1165.730000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 1/3)
[ 1165.870000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 2/3)
[ 1165.950000] br-lan: port 2(wlan0-2) entered disabled state
[ 1165.950000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 3/3)
[ 1166.010000] wlan0: authentication with 94:0c:6d:bc:1e:1e timed out
[ 1167.190000] wlan0: authenticate with 94:0c:6d:bc:1e:1e
[ 1167.200000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 1/3)
[ 1167.210000] wlan0: authenticated
[ 1167.210000] ath9k ar934x_wmac wlan0: disabling HT as WMM/QoS is not supported by the AP
[ 1167.220000] ath9k ar934x_wmac wlan0: disabling VHT as WMM/QoS is not supported by the AP
[ 1167.240000] wlan0: associate with 94:0c:6d:bc:1e:1e (try 1/3)
[ 1167.240000] wlan0: RX AssocResp from 94:0c:6d:bc:1e:1e (capab=0x411 status=0 aid=1)
[ 1167.250000] wlan0: associated
[ 1169.290000] br-lan: port 2(wlan0-2) entered forwarding state
[ 1169.290000] br-lan: port 2(wlan0-2) entered forwarding state
[ 1171.290000] br-lan: port 2(wlan0-2) entered forwarding state
[ 1370.690000] wlan0: deauthenticating from 94:0c:6d:bc:1e:1e by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1370.710000] device wlan0-2 left promiscuous mode
[ 1370.710000] br-lan: port 2(wlan0-2) entered disabled state
[ 1381.590000] IPv6: ADDRCONF(NETDEV_UP): wlan0-2: link is not ready
[ 1381.600000] device wlan0-2 entered promiscuous mode
[ 1388.260000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 1388.780000] IPv6: ADDRCONF(NETDEV_UP): wlan0-1: link is not ready
[ 1389.460000] wlan0: authenticate with 94:0c:6d:bc:1e:1e
[ 1389.470000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 1/3)
[ 1389.630000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 2/3)
[ 1389.780000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 3/3)
[ 1389.830000] wlan0: authentication with 94:0c:6d:bc:1e:1e timed out
[ 1390.610000] wlan0: authenticate with 94:0c:6d:bc:1e:1e
[ 1390.620000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 1/3)
[ 1390.750000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 2/3)
[ 1390.850000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 3/3)
[ 1390.970000] wlan0: authentication with 94:0c:6d:bc:1e:1e timed out
[ 1392.150000] wlan0: authenticate with 94:0c:6d:bc:1e:1e
[ 1392.160000] wlan0: send auth to 94:0c:6d:bc:1e:1e (try 1/3)
[ 1392.170000] wlan0: authenticated
[ 1392.180000] ath9k ar934x_wmac wlan0: disabling HT as WMM/QoS is not supported by the AP
[ 1392.190000] ath9k ar934x_wmac wlan0: disabling VHT as WMM/QoS is not supported by the AP
[ 1392.200000] wlan0: associate with 94:0c:6d:bc:1e:1e (try 1/3)
[ 1392.340000] wlan0: associate with 94:0c:6d:bc:1e:1e (try 2/3)
[ 1392.410000] wlan0: RX AssocResp from 94:0c:6d:bc:1e:1e (capab=0x411 status=0 aid=1)
[ 1392.420000] wlan0: associated
[ 1392.420000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

przy 1370.690000  widać wyraźnie moment rozłączenia

jakie jeszcze inne logi mogę wydobyć, gdzie ich szukać?

8

Odp: Dwie sieci Wifi

Ale ty się w ogóle to AP nie podłączyłeś. Masz same timeouty przy podłączeniu.

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

9

Odp: Dwie sieci Wifi

Podłączyłem się, widać to chociażby przy 1167.250000

Ale właśnie o to chodzi, że czasami ta pierwsza sieć nie działa i wtedy chciałbym móc z palca przełączyć się na drugą(zapasową)

10

Odp: Dwie sieci Wifi

[ 1370.690000] wlan0: deauthenticating from 94:0c:6d:bc:1e:1e by local choice (Reason: 3=DEAUTH_LEAVING)

Nie, nie podłączyłeś się.

PS. Wywal chwilowo wwan2. wwan1 zmień na wan usuwając oryginalną sekcję. Zobacz czy się połączy z AP i będzie trzymać połączenie.

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

11

Odp: Dwie sieci Wifi

Dobrze.
Może to ja źle czytam logi. Ekspertem nie jestem.

Ale cały czas mi chodzi o to, że w przypadku awarii jednej z sieci,  ręcznie mógłbym się przełączyć na drugą.

Może masz pomysł jak to zrealizować inaczej ?

12

Odp: Dwie sieci Wifi

Właśnie w ten sposób. To dobry pomysł, choć wwan2 powinna mieć auto 0 żeby nie startowała automatycznie sama.

Ale jest wada takiego rozwiązania - jak sieć padnie (automatycznie) to padnie też ap, bo uziemiany jest cały interfejs radiowy.

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

13

Odp: Dwie sieci Wifi

Teraz do testów jestem podpięty po kablu do routera.
Później będzie to można podpiąć pod przycisk (to w przyszłości)

Tylko nie rozumiem dlaczego takie wpisy nie działają.

Ciągle podnosi tylko ten interfejs który jest jako pierwszy zapisany
w pliku /etc/config/wireless

Właśnie to przed chwilą sprawdziłem, samo zamienienie nazw wwan1 i wwan2  nic nie daje

ten który jest wyżej w pliku ten  tylko działa.

W ogóle tego nie rozumiem

14

Odp: Dwie sieci Wifi

To dodaj jeszcze do jednego disabled 1. Wtedy na pewno się nie uruchomi, a ty przed przełączeniem będziesz musiał to ustawić na 0 (bez commitu).

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

15

Odp: Dwie sieci Wifi

Wreszcie działa :-)))

Co prawda nie tak jak się spodziewałem, ale dobre i to.
Za pomocą
wireless.@wifi-iface[0].disabled=1 

lub
wireless.@wifi-iface[1].disabled=1

decyduję którą się  chcę wykorzystywać.

i dopiero wystarczy ifup wwan1 lub ifup wwan2

Dzięki wielkie za pomoc.
Jednak ja z natury jestem bardzo dociekliwy, więc jak wpadniesz na to dlaczego bez tego disabled nie działa to będę wdzięczny za podzielenie się tą wiedzą. Czy to jakiś błąd w samym openwrt ?

Pozdrawiam i jeszcze raz dzięki :-)

16

Odp: Dwie sieci Wifi

A czasami te dwa ap nie chodzą na różnych kanałach? Wtedy nie masz jak podłączyć się do nich, bo przecież masz jedno radio.

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

17

Odp: Dwie sieci Wifi

tak, na dwóch różnych.

Ale myślałem że w plikach /etc/config/wireless i /etc/config/network
mogę wpisać dowolną liczbę sieci a przełączanie między nimi będzie realizowane za pomoca ifup NAZWA

a z tego wychodzi że jak mam wpisanych 10 sieci to muszę 9 razy robić
uci set  wireless.@wifi-iface[NR].ssid.disabled=1

i raz

uci set  wireless.@wifi-iface[NR].ssid.disabled=0

dopiero po tym mogę dać ifup NAZWA

trochę to dla mnie dziwne, ale człowiek uczy się całe życie :-)