Apa perbedaan antara `wpa-roam` dan` wpa-conf` dalam file / etc / network / interfaces?

46

Saya mengirim pertanyaan sebelumnya tentang cara mengatur alamat IP statis pada RPI dan akhirnya tahu , bersama dengan beberapa orang lain , bahwa jawabannya adalah perubahan wpa-roamuntuk wpa-confsaat menunjuk /etc/wpa_supplicant/wpa_supplicant.conf, tetapi mengapa tidak bekerja ini?

yaitu ketika saya memiliki ini di /etc/network/interfacesfile saya :

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

Dengan asumsi bahwa /etc/wpa_supplicant/wpa_supplicant.conftelah dikonfigurasi dengan benar, metode ini tidak berfungsi.

Ini adalah output yang relevan dari 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

Serta dari 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)

Tapi semuanya ajaib mulai bekerja setelah Anda mengubah wpa-roamke wpa-confdan menjalankan sudo /etc/init.d/networking restart. Kapan Anda akan menggunakan wpa-roam, dan kapan Anda akan menggunakan wpa-conf?

3cheesewheel
sumber

Jawaban:

30

wpa-roaming adalah metode yang dapat digunakan untuk menjelajah dan terhubung ke jaringan nirkabel.

Hasil dari pengaturan berikut adalah bahwa jika kabel ethernet tidak terpasang, wlan0 akan diutamakan dan menghubungkan Anda ke jaringan nirkabel yang Anda inginkan atau ke jaringan nirkabel terbuka yang tersedia atau jaringan nirkabel yang telah ditentukan. Jika Anda menghubungkan kabel ethernet, koneksi jaringan kabel segera mematikan akses WiFi dan eth0 kemudian menghubungkan Anda ke jaringan kabel. Dengan mencabut kabel jaringan koneksi nirkabel akan segera tersedia lagi.

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

Saya berasumsi bahwa, wpa-confadalah konfigurasi statis yang tidak diperlukan untuk roaming melalui antarmuka jaringan. Saya tidak dapat menemukan dokumen yang relevan dan terperinci untuk ini.

Omong-omong saya memiliki masalah yang sama dengan konfigurasi WiFi saya. WiFi saya tidak berfungsi ketika ethernet kabel dicabut. Jadi saya mengubah wpa-roam menjadi wpa-conf seperti Anda, itu berhasil.

gurcanozturk
sumber
1
Saya menduga bahwa jika Anda ingin menggunakan wpa-roam, Anda perlu mengatur wlan0 ke manual daripada dhcp atau statis. Itu hanya sebuah teori.
Lawrence
5
Ya itu benar. Roam berarti Anda mengizinkan antarmuka nirkabel untuk mencoba dan terhubung ke titik akses lainnya "roaming" - tetapi jika Anda hanya memiliki 1 set, itu berarti ia akan mencoba untuk "menyambung kembali" ke sana jika terjadi kesalahan. Dengan wpa-conf, ia tidak akan terhubung kembali saat drop.
Piotr Kula
@ Hukum, memang. Lebih dari sekedar teori: dilaporkan saat Anda menjalankansudo /etc/init.d/networking restart
Jochem Schulenklopper
@jschulenklopper Ah. bahkan tidak menyadarinya. Saya tidak menggunakan /etc/init.d/networking restartsama sekali haha.
Lawrence
3
Perbedaan lain yang perlu diperhatikan adalah bahwa untuk wpa-roam ifplugdterputus wlan0saat eth0dicolokkan. Ini perilaku yang dapat dikonfigurasi, dan mungkin spesifik RaspberryPI.
domen
4

Anda juga dapat menemukan penjelasan lengkap tentang dua mode operasi (Dikelola dan Roaming) untuk wpa_supplicant di file dokumentasi yang diinstal secara lokal - yang dapat dilihat (versi online [yang lebih lama?] Ada di sini ):

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

Ini menjelaskan bahwa sementara mode Dikelola hanya memungkinkan untuk koneksi ke jaringan WiFi terkonfigurasi tunggal, mode Roaming memungkinkan untuk koneksi ke beberapa jaringan WiFi dengan konfigurasi jaringan yang berpotensi berbeda yang dapat dikontrol dengan menambahkan opsi khusus id_stryang kemudian dicocokkan dengan entri yang sesuai dalam file konfigurasi jaringan - ditentukan dalam /etc/network/interfacesfile. misalnya:

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

Di mana jaringan WiFi yang sesuai ditentukan dalam wpa-roamfile. misalnya /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"
}

Jadi jaringan "uni" akan menggunakan DHCP sementara jaringan "home_static" akan menggunakan alamat IP statis 192.168.0.20. Meskipun seseorang tidak harus menggunakan id_stropsi dan perangkat hanya akan menggunakan default (lihat file doc).

Pierz
sumber