Jaka jest różnica między `wpa-roam` i` wpa-conf` w pliku / etc / network / interfaces?

46

I napisali wcześniej pytanie , w jaki sposób skonfigurować statyczny adres IP na RPI i ostatecznie zorientowali się , wraz z kilkoma innymi , że odpowiedź była zmiana wpa-roamdo wpa-confkiedy wskazując /etc/wpa_supplicant/wpa_supplicant.conf, ale dlaczego to działa?

tzn. kiedy mam to w swoim /etc/network/interfacespliku:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
    address 192.168.0.3
    netmask 255.255.255.0
    gateway 192.168.0.1
    broadcast 192.168.0.255
    network 192.168.0.0
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

Zakładając, że /etc/wpa_supplicant/wpa_supplicant.confzostał poprawnie skonfigurowany, ta metoda nie działa.

Jest to odpowiedni wynik z iwconfig:

wlan0     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency=2.437 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Jak również z ifconfig:

wlan0     Link encap:Ethernet  HWaddr ec:1a:59:64:3a:36  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:847 errors:0 dropped:1029 overruns:0 frame:0
          TX packets:759 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:677394 (661.5 KiB)  TX bytes:133345 (130.2 KiB)

Ale wszystko magicznie zaczyna działać po zmianie wpa-roamcelu wpa-confi bieg sudo /etc/init.d/networking restart. Kiedy wpa-roami kiedy używałbyś wpa-conf?

3cheesewheel
źródło

Odpowiedzi:

30

wpa-roaming to metoda przeglądania sieci bezprzewodowych i łączenia się z nimi.

Wynikiem poniższej konfiguracji jest to, że jeśli kabel Ethernet nie jest podłączony, wlan0 ma pierwszeństwo i łączy cię z pożądaną siecią bezprzewodową lub dostępną otwartą siecią bezprzewodową lub z góry określoną siecią bezprzewodową. Jeśli podłączysz kabel Ethernet, połączenie sieciowe z kablami natychmiast wyłączy dostęp do Wi-Fi, a eth0 następnie połączy Cię z siecią z kablami. Po odłączeniu kabla sieciowego połączenie bezprzewodowe będzie natychmiast dostępne.

Źródło: http://manual.aptosid.com/en/inet-setup-en.htm

Zakładam, że wpa-confjest to konfiguracja statyczna, która nie jest wymagana do roamingu za pośrednictwem interfejsów sieciowych. Nie mogłem znaleźć odpowiedniego i szczegółowego dokumentu na ten temat.

Nawiasem mówiąc, mam ten sam problem z konfiguracją Wi-Fi. Moje WiFi nie działa, gdy przewodowy Ethernet jest odłączony. Więc zmieniłem wpa-roam na wpa-conf, tak jak ty, zadziałało.

gurcanozturk
źródło
1
Podejrzewam, że jeśli chcesz używać wpa-roam, musisz ustawić wlan0 na ręczny zamiast na dhcp lub static. To tylko teoria.
Lawrence
5
Tak to jest poprawne. Roaming oznacza, że ​​zezwalasz interfejsowi bezprzewodowemu na próbę połączenia się z innymi punktami dostępowymi „roaming” - ale jeśli masz tylko 1 zestaw, oznacza to, że spróbuje „ponownie połączyć się” z nim, jeśli coś pójdzie nie tak. Z wpa-conf nie będzie łączyć się ponownie po upuszczeniu.
Piotr Kula,
@Lawrence, rzeczywiście. To coś więcej niż teoria: relacjonuje się, gdy biegnieszsudo /etc/init.d/networking restart
Jochem Schulenklopper
@jschulenklopper Ah. nawet nie zdawałem sobie z tego sprawy. W ogóle nie używam /etc/init.d/networking restarthaha.
Lawrence
3
Inną różnicą, na którą należy zwrócić uwagę, jest to, że w przypadku wpa-roam ifplugdrozłączeń, wlan0gdy eth0jest podłączony. Jest to konfigurowalne zachowanie i może być specyficzne dla RaspberryPI.
domen
4

Można również znaleźć pełne wyjaśnienie dwóch trybach pracy (zarządzanych oraz roaming) dla wpa_supplicant w to lokalnie zainstalowany plik dokumentacja - które mogą być oglądane (an [starszy?] Wersja online jest tutaj ):

zless /usr/share/doc/wpa_supplicant/README.modes.gz

Wyjaśnia, że ​​podczas gdy tryb Zarządzany pozwala tylko na połączenie z jedną skonfigurowaną siecią Wi-Fi, tryb Roaming pozwala na połączenie z wieloma sieciami Wi-Fi o potencjalnie różnych konfiguracjach sieci, które można kontrolować, dodając specjalną opcję, id_strktóra jest następnie dopasowywana do odpowiednich wpisów w plik konfiguracyjny sieci - określony w /etc/network/interfacespliku. na przykład:

allow-hotplug eth1
iface eth1 inet manual
    wpa-driver wext
    wpa-roam /etc/wpa_supplicant/wpa_roam.conf

# id_str="uni"
iface uni inet dhcp

# id_str="home_static"
iface home_static inet static
        address 192.168.0.20
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

Gdzie w wpa-roampliku podano odpowiednie sieci WiFi . np . /etc/wpa_supplicant/wpa_roam.conf:

network={
        ssid="foo"
        key_mgmt=NONE
        # this id_str will notify /sbin/wpa_action to 'ifup uni'
        id_str="uni"
}

network={
        ssid="bar"
        psk=123456789...
        # this id_str will notify /sbin/wpa_action to 'ifup home_static'
        id_str="home_static"
}

Tak więc sieć „uni” będzie używać DHCP, podczas gdy sieć „home_static” będzie używać statycznego adresu IP 192.168.0.20. Chociaż nie trzeba korzystać z tej id_stropcji, a urządzenie po prostu użyje ustawień domyślnych (patrz plik doc).

Pierz
źródło