วิธีการตั้งค่าลำดับความสำคัญเครือข่าย WiFi


13

ฉันเข้าใจว่าฉันสามารถตั้งค่า WiFis ได้หลายรายการโดยเพิ่ม/etc/wpa_supplicant/wpa_supplicant.conf(ตามที่กำหนดไว้ในการตั้งค่า WiFi Up ผ่านทางบรรทัดคำสั่ง )

สมมติว่าฉันมี WiFis สองทะเบียน: wifi_Aและwifi_B

เมื่อผมถอดปลั๊กเราเตอร์และรีบูตราสเบอร์รี่ของฉันไปบรรทัดคำสั่งมันจะเชื่อมต่อกับwifi_A wifi_Bเมื่อผมถอดปลั๊กเราเตอร์และรีบูตราสเบอร์รี่ของฉันไปบรรทัดคำสั่งมันจะเชื่อมต่อกับwifi_B wifi_Aจนถึงตอนนี้ดีมาก

แต่สมมติว่าเราเตอร์ทั้งสองนั้นมีอยู่ฉันจะกำหนดลำดับความสำคัญได้อย่างไร เช่นฉันต้องการ Raspberry ของฉันเพื่อเชื่อมต่อwifi_Bเมื่อรีบูต?

wifi_Bคำถามที่สองของฉันคือสมมติว่าผมอยู่ในโหมดบรรทัดคำสั่งและฉันกำลังเชื่อมต่อกับ ฉันจะเชื่อมต่อกับwifi_Aแทนได้อย่างไร


นอกจากว่าคุณจะแสดงรายการไฟล์ปรับแต่งของคุณสิ่งที่คุณจะได้รับก็คือการเก็งกำไรมากมาย (ที่ดีที่สุด)
Milliways

คำตอบ:


10

เช่นฉันต้องการให้ราสเบอร์รี่เชื่อมต่อwifi_Bเมื่อรีบูตหรือไม่

เพิ่มpriority=2ไปยังwifi_Bบล็อกและpriority=1ไปยังwifi_Aบล็อกใน/etc/wpa_supplicant/wpa_supplicant.confไฟล์

wifi_Bสมมติว่าผมอยู่ในโหมดบรรทัดคำสั่งและฉันกำลังเชื่อมต่อกับ ฉันจะเชื่อมต่อกับwifi_Aแทนได้อย่างไร

คุณสามารถสร้างไฟล์ปรับแต่งแยกต่างหากสำหรับแต่ละ SSID และระบุอย่างชัดเจน:

wpa_supplicant -B -Dwext -iwlan0 -c</path/to/config_for_wifi_A>
sudo dhclient wlan0

เมื่อใช้วิธีการของคุณฉันสามารถสลับจากเครือข่าย WiFi หนึ่งไปยังอีกเครือข่ายหนึ่งเพียงครั้งเดียวไม่สามารถสลับกลับ (หรือเป็น WiFi_C อื่นเป็นอดีตได้) หลังจากใช้wpa_supplicantคำสั่งที่จะทำสวิทช์ที่ 1 โดยใช้มันอีกครั้งที่ฉันได้รับข้อความctrl-iface exists and seems to be in use - cannot override it\ n Delete '/var/run/wpa_supplicant/wlan0' manually if it is not used anymoreฯลฯ ... และหลังจากที่ผมได้รับการบอกsudo dhclient wlan0 RTMETLINK answers: File existsนี่คือสิ่งที่คาดหวัง
calocedrus

คุณต้องปิดการเชื่อมต่อwpa_cli terminateก่อนแล้วจึงเชื่อมต่ออีกด้วยwpa_supplicantยังมีวิธีที่ซับซ้อนมากขึ้นโดยไม่ต้องปิดที่นี่
Z-WolF

19

แต่สมมติว่าเราเตอร์ทั้งสองนั้นมีอยู่ฉันจะกำหนดลำดับความสำคัญได้อย่างไร

คุณสามารถกำหนดลำดับความสำคัญสำหรับเครือข่ายดังนี้:

network={
    ssid="wifi_A"
    psk="passwordOfA"
    priority=1
}
network={
   ssid="wifi_B"
   psk="passwordOfB"
   priority=2
}

ตามลำดับความสำคัญเริ่มต้นของเครือข่ายทั้งหมดคือ 0 ให้ตั้งค่าลำดับความสำคัญสูงกว่าเพื่อจัดลำดับความสำคัญตามความต้องการของคุณ

สมมติว่าฉันอยู่ในโหมดบรรทัดคำสั่งและฉันกำลังเชื่อมต่อกับ wifi_B ฉันจะเชื่อมต่อกับ wifi_A แทนได้อย่างไร

สำหรับการใช้คำสั่ง:

wpa_cli select_network 0

วิธีเปลี่ยนจากwifi_Aเป็นwifi_Bใช้:

wpa_cli select_network 1

2
เพื่อตรวจสอบว่าจะใช้หมายเลขใดให้wpa_cli select_network #เรียกใช้wpa_cli list_networksก่อน
Z-WolF

1
สิ่งนี้ใช้ไม่ได้กับ Pi 3+ กับ Stretch Ran wpa_cli list_networks และรับหมายเลขเครือข่ายจากนั้น wpa_cli select_network 2 ระบบตอบกลับด้วย OK แต่ iwconfig แสดงว่ายังคงเชื่อมต่อกับเครือข่ายเดิม
lonstar

8
หมายเหตุสำหรับความชัดเจน: priorityค่าถูกนำไปใช้เป็นค่าที่สูงกว่าหมายถึงลำดับความสำคัญที่สูงขึ้น ie เครือข่ายไม่ได้ถูกเลือกในลำดับตัวเลข / การนับ (ศูนย์แรก)
นิโคลัส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.