Яка різниця між `wpa-roam` та` wpa-conf` у файлі / etc / network / interfaces?


46

Я розмістив питання раніше про те , як налаштувати IP - адреса статичний на RPI і в кінці решт зрозумів, , поряд з деякими іншими , що відповідь на зміну wpa-roamдо wpa-confпри наведенні на /etc/wpa_supplicant/wpa_supplicant.conf, але чому це працює?

тобто коли я маю це у своєму /etc/network/interfacesфайлі:

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

Якщо припустити, що /etc/wpa_supplicant/wpa_supplicant.confправильно налаштовано, цей метод не працює.

Це відповідний вихід із 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

А також від 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)

Але все магічно починає працювати, як тільки ви переходите wpa-roamна wpa-confта біжите sudo /etc/init.d/networking restart. Коли ви використовували б wpa-roamі коли б ви використовували wpa-conf?

Відповіді:


30

wpa-roaming це метод, за допомогою якого можна переглядати та підключатися до бездротових мереж.

Результатом наступних налаштувань є те, що якщо кабель Ethernet не приєднаний, wlan0 має перевагу і підключає вас до бажаної бездротової мережі або до наявної відкритої бездротової мережі або заздалегідь визначеної бездротової мережі. Якщо ви підключите кабель Ethernet, кабельне мережеве з'єднання негайно відключає доступ до Wi-Fi, а eth0 потім підключає вас до кабельної мережі. Відключивши мережевий кабель, бездротове з'єднання миттєво знову стане доступним.

Джерело: http://manual.aptosid.com/en/inet-setup-en.htm

Я припускаю, що wpa-confце статична конфігурація, яка не потрібна для роумінгу через мережеві інтерфейси. Я не зміг знайти жодного відповідного та детального документа для цього.

До речі, у мене така ж проблема з моєю конфігурацією WiFi. Мій Wi-Fi не працює, коли провідний Ethernet відключений від мережі. Тож я змінив wpa-roam на wpa-conf, як ти, це спрацювало.


1
Я підозрюю, що якщо ви хочете використовувати wpa-roam, вам потрібно встановити wlan0 вручну, а не dhcp або static. Це просто теорія.
Лоуренс

5
Так, це правильно. Роум означає, що ви дозволяєте бездротовому інтерфейсу спробувати підключитися до інших точок доступу "роумінгу" - але якщо у вас є лише 1 набір, це означає, що він спробує "підключитися" до нього, якщо щось піде не так. З wpa-conf він не зможе відновитись на краплі.
Пьотр Кула

@Lawrence, справді. Більше, ніж теорія: повідомляється, коли ти sudo /etc/init.d/networking restart
біжиш

@jschulenklopper Ах. навіть не усвідомлював цього. Я взагалі не використовую /etc/init.d/networking restartха-ха.
Лоуренс

3
Ще одна відмінність, яку слід зазначити, полягає в тому, що для wpa-roam ifplugdроз'єднань wlan0під час eth0підключення. Це настроюється поведінка та може бути специфічним для RaspberryPI.
domen

4

Можна також знайти повне пояснення двох режимів роботи (Managed і роумінг) для wpa_supplicant в це локально встановленої документації файл - який можна розглядати ([старше?] Онлайн версію тут ):

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

Він пояснює, що хоча керований режим просто дозволяє підключитися до однієї конфігурованої Wi-Fi мережі, режим роумінгу дозволяє підключитись до декількох мереж WiFi з потенційно різними мережевими конфігураціями, якими можна керувати, додавши спеціальний параметр, id_strякий потім узгоджується з відповідними записами в мережевий конфігураційний файл - вказаний у /etc/network/interfacesфайлі. наприклад:

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

Там, де відповідні мережі WiFi вказані у wpa-roamфайлі. наприклад /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"
}

Таким чином, мережа "uni" буде використовувати DHCP, тоді як "home_static" мережа використовуватиме статичну IP-адресу 192.168.0.20. Хоча не потрібно використовувати цю id_strопцію, і пристрій просто використовуватиме параметри за замовчуванням (див. Файл doc).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.