Quelle est la différence entre `wpa-roam` et` wpa-conf` dans le fichier / etc / network / interfaces?

46

J'ai déjà posté une question sur la façon de configurer une adresse IP statique sur le rpi et j'ai finalement compris , avec quelques autres , que la réponse était de changer wpa-roamen wpa-confindiquant /etc/wpa_supplicant/wpa_supplicant.conf, mais pourquoi cela fonctionne-t-il?

c'est à dire quand j'ai ceci dans mon /etc/network/interfacesdossier:

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

En supposant que cela /etc/wpa_supplicant/wpa_supplicant.confa été correctement configuré, cette méthode ne fonctionne pas.

Voici le résultat pertinent 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

Ainsi que 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)

Mais tout commence par magie travailler une fois que vous changez wpa-roamde wpa-confet exécuter sudo /etc/init.d/networking restart. Quand utiliseriez-vous wpa-roamet quand utiliseriez-vous wpa-conf?

3 roue à fromage
la source

Réponses:

30

wpa-roaming est une méthode avec laquelle vous pouvez naviguer et vous connecter à des réseaux sans fil.

Le résultat de la configuration suivante est que si aucun câble Ethernet n’est connecté, wlan0 a la priorité et vous connecte au réseau sans fil de votre choix ou à un réseau sans fil ouvert disponible ou à un réseau sans fil prédéterminé. Si vous connectez un câble Ethernet, la connexion réseau câblée ferme immédiatement l'accès WiFi et eth0 vous connecte ensuite au réseau câblé. En débranchant le câble réseau, la connexion sans fil sera à nouveau instantanément disponible.

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

Je suppose que wpa-confc'est la configuration statique qui n'est pas nécessaire pour l'itinérance via des interfaces réseau. Je n'ai trouvé aucun document pertinent et détaillé à ce sujet.

En passant, j'ai le même problème avec ma configuration WiFi. Mon WiFi ne fonctionne pas lorsque Ethernet filaire est débranché. J'ai donc changé wpa-roam en wpa-conf comme vous, cela a fonctionné.

gurcanozturk
la source
1
Je suppose que si vous souhaitez utiliser wpa-roam, vous devez définir wlan0 sur manuel plutôt que dhcp ou statique. C'est juste une théorie cependant.
Lawrence
5
Oui c'est correct. Itinérance signifie que vous autorisez l'interface sans fil à essayer de se connecter à d'autres points d'accès "itinérance" - mais si vous n'avez qu'un seul jeu, cela tentera de "vous reconnecter" si quelque chose ne va pas. Avec wpa-conf, il ne se reconnectera pas en cas de chute.
Piotr Kula
@ Lawrence, en effet. Plus qu'une théorie cependant: c'est rapporté lors de votre coursesudo /etc/init.d/networking restart
Jochem Schulenklopper le
@jschulenklopper Ah. ne s'est même pas rendu compte de cela. Je n'utilise pas /etc/init.d/networking restartdu tout haha.
Lawrence
3
Une autre différence à noter est que pour les wpa-roam ifplugddéconnexions, wlan0lorsque eth0est branché. Son comportement est configurable et peut être spécifique à RaspberryPI.
dimanche
4

Vous pouvez également trouver une explication complète des deux modes de fonctionnement (géré et itinérant) de wpa_supplicant dans son fichier de documentation installé localement - qui peut être visualisé (une version plus ancienne en ligne est ici ):

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

Il explique que, si le mode géré ne permet que la connexion à un réseau WiFi configuré unique, le mode Roaming permet la connexion à plusieurs réseaux WiFi avec des configurations de réseau potentiellement différentes, qui peuvent être contrôlées en ajoutant l’option spéciale id_strqui est ensuite comparée aux entrées correspondantes de la liste. fichier de configuration réseau - spécifié dans le /etc/network/interfacesfichier. par exemple:

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

Où les réseaux WiFi correspondants sont spécifiés dans le wpa-roamfichier. par exemple /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"
}

Ainsi, le réseau "uni" utilisera DHCP tandis que le réseau "home_static" utilisera l'adresse IP statique 192.168.0.20. Bien qu'il ne soit pas nécessaire d'utiliser l' id_stroption et que l'appareil utilisera simplement les valeurs par défaut (voir le fichier doc).

Pierz
la source