Qual é a diferença entre `wpa-roam` e` wpa-conf` no arquivo / etc / network / interfaces?

46

Eu postei uma pergunta anteriormente sobre como configurar um endereço IP estático no rpi e, eventualmente, descobri , junto com outros , que a resposta era mudar wpa-roampara wpa-confquando apontar /etc/wpa_supplicant/wpa_supplicant.conf, mas por que isso funciona?

ou seja, quando eu tenho isso no meu /etc/network/interfacesarquivo:

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

Supondo que /etc/wpa_supplicant/wpa_supplicant.conftenha sido configurado corretamente, esse método não funciona.

Esta é a saída relevante de 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

Bem como de 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)

Mas tudo magicamente começa a trabalhar depois de mudar wpa-roampara wpa-confe correr sudo /etc/init.d/networking restart. Quando você usaria wpa-roame quando você usaria wpa-conf?

3cheesewheel
fonte

Respostas:

30

wpa-roaming é um método com o qual você pode navegar e conectar-se a redes sem fio.

O resultado da configuração a seguir é que, se um cabo Ethernet não estiver conectado, o wlan0 terá precedência e o conectará à sua rede sem fio desejada ou a uma rede sem fio aberta disponível ou a uma rede sem fio predeterminada. Se você conectar um cabo Ethernet, a conexão de rede a cabo desligará imediatamente o acesso Wi-Fi e o eth0 conectará você à rede a cabo. Ao desconectar o cabo de rede, a conexão sem fio estará instantaneamente disponível novamente.

Fonte: http://manual.aptosid.com/en/inet-setup-en.htm

Presumo que, wpa-confé a configuração estática que não é necessária para roaming através de interfaces de rede. Não encontrei nenhum documento relevante e detalhado para isso.

A propósito, eu tenho o mesmo problema com minha configuração de WiFi. Meu WiFi não funciona quando a Ethernet com fio é desconectada. Então eu mudei wpa-roam para wpa-conf, como você, funcionou.

gurcanozturk
fonte
1
Eu suspeito que, se você quiser usar o wpa-roam, precisará configurar o wlan0 como manual em vez de dhcp ou static. Isso é apenas uma teoria.
Lawrence
5
Sim, está correto. Roam significa que você permite que a interface sem fio tente conectar-se a outros pontos de acesso "em roaming" - mas se você tiver apenas 1 conjunto, significa que tentará "reconectar" a ela se algo der errado. Com o wpa-conf, ele não será reconectado ao soltar.
Piotr Kula
@ Lawrence, de fato. Mais do que uma teoria porém: é relatado quando o seu prazosudo /etc/init.d/networking restart
Jochem Schulenklopper
@jschulenklopper Ah. nem percebi isso. Eu não uso /etc/init.d/networking restartnada haha.
Lawrence
3
Outra diferença a ser observada é que, para wpa-roam ifplugddesconexões wlan0quando eth0conectado, é um comportamento configurável e pode ser específico para RaspberryPI.
domen 24/09/2015
4

Também é possível encontrar uma explicação completa dos dois modos de operação (gerenciado e móvel) do wpa_supplicant em seu arquivo de documentação instalado localmente - que pode ser visualizado (uma versão on-line [antiga?] Está aqui ):

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

Ele explica que, embora o modo Gerenciado permita apenas a conexão a uma rede Wi-Fi configurada única, o modo Roaming permite a conexão a várias redes Wi-Fi com configurações de rede potencialmente diferentes que podem ser controladas adicionando a opção especial id_strque é comparada às entradas correspondentes no arquivo de configuração de rede - especificado no /etc/network/interfacesarquivo por exemplo:

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

Onde as redes WiFi correspondentes são especificadas no wpa-roamarquivo. por exemplo /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"
}

Portanto, a rede "uni" usará o DHCP, enquanto a rede "home_static" usará o endereço IP estático 192.168.0.20. Embora não seja necessário usar a id_stropção e o dispositivo apenas use os padrões (consulte o arquivo doc).

Pierz
fonte