อะไรคือความแตกต่างระหว่าง `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 เป็นวิธีที่คุณสามารถเรียกดูและเชื่อมต่อกับเครือข่ายไร้สาย

ผลลัพธ์ของการตั้งค่าต่อไปนี้คือถ้าไม่ได้เชื่อมต่อสายเคเบิลอีเธอร์เน็ต wlan0 จะมีความสำคัญกว่าและเชื่อมต่อคุณกับเครือข่ายไร้สายที่คุณต้องการหรือไปยังเครือข่ายไร้สายแบบเปิดที่มีอยู่หรือเครือข่ายไร้สายที่กำหนดไว้ล่วงหน้า หากคุณเชื่อมต่อสายเคเบิลอีเธอร์เน็ตการเชื่อมต่อเครือข่าย cabled จะปิดการเข้าถึง WiFi และ eth0 ทันทีจากนั้นเชื่อมต่อคุณกับเครือข่าย cabled ด้วยการถอดสายเคเบิลเครือข่ายการเชื่อมต่อไร้สายจะสามารถใช้งานได้ทันที

ที่มา: http://manual.aptosid.com/en/inet-setup-en.htm

ฉันสันนิษฐานว่าwpa-confเป็นโครงแบบสแตติกซึ่งไม่จำเป็นสำหรับการโรมมิ่งผ่านเน็ตเวิร์กอินเตอร์เฟส ฉันไม่พบเอกสารที่เกี่ยวข้องและรายละเอียดเกี่ยวกับเรื่องนี้

ฉันมีปัญหาเดียวกันกับการกำหนดค่า WiFi ของฉัน WiFi ของฉันไม่ทำงานเมื่อถอดสายอีเธอร์เน็ต ดังนั้นฉันจึงเปลี่ยน wpa-roam เป็น wpa-conf เช่นเดียวกับคุณมันใช้งานได้


1
ฉันสงสัยว่าถ้าคุณต้องการใช้ wpa-roam คุณต้องตั้งค่า wlan0 เป็นแบบแมนนวลมากกว่า dhcp หรือแบบคงที่ นั่นเป็นเพียงทฤษฎีเท่านั้น
ลอเรนซ์

5
ใช่ว่าถูกต้อง Roam หมายความว่าคุณอนุญาตให้อินเทอร์เฟซไร้สายลองและเชื่อมต่อกับจุดเชื่อมต่ออื่น ๆ "โรมมิ่ง" - แต่ถ้าคุณมีเพียง 1 ชุดนั่นหมายความว่ามันจะพยายาม "เชื่อมต่อ" อีกครั้งหากมีสิ่งผิดปกติเกิดขึ้น ด้วย wpa-conf มันจะไม่เชื่อมต่อกับการตก
Piotr Kula

@ ลอเรนซ์แน่นอน มากกว่าทฤษฎีแม้ว่าจะมีการรายงานเมื่อการทำงานของคุณsudo /etc/init.d/networking restart
Jochem Schulenklopper

@jschulenklopper Ah ไม่รู้ด้วยซ้ำว่า ฉันไม่ได้ใช้/etc/init.d/networking restartเลยฮ่าฮ่า
ลอเรนซ์

3
ข้อแตกต่างที่ควรทราบอีกประการหนึ่งคือสำหรับwpa-roam ifplugdการยกเลิกการเชื่อมต่อwlan0เมื่อeth0เสียบปลั๊กมันเป็นพฤติกรรมที่กำหนดค่าได้และอาจเป็นเฉพาะ RaspberryPI
domen

4

ท่านสามารถหาคำอธิบายทั้งหมดของโหมดการทำงานสองโหมด (Managed and Roaming) สำหรับ wpa_supplicant ในไฟล์เอกสารที่ติดตั้งในเครื่อง - ซึ่งสามารถดูได้ (เวอร์ชั่นออนไลน์ [เก่ากว่า] อยู่ที่นี่ ):

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

มันอธิบายว่าในขณะที่โหมดการจัดการเพียงแค่ช่วยให้การเชื่อมต่อกับเครือข่าย WiFi กำหนดค่าเดียวโหมด Roaming ช่วยให้การเชื่อมต่อกับเครือข่ายไร้สายหลายกับการกำหนดค่าเครือข่ายที่แตกต่างกันที่อาจเกิดขึ้นซึ่งอาจจะมีการควบคุมโดยการเพิ่มตัวเลือกพิเศษ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)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.