Làm cách nào để đặt ưu tiên mạng WiFi?


13

Tôi hiểu rằng tôi có thể thiết lập nhiều WiFis bằng cách thêm vào /etc/wpa_supplicant/wpa_supplicant.conf(theo quy định trong Cài đặt WiFi Up qua dòng lệnh ).

Giả sử tôi có hai WiFis đã đăng ký: wifi_Awifi_B

Khi tôi rút bộ định tuyến wifi_Avà khởi động lại mâm xôi của tôi thành dòng lệnh, nó sẽ tự động kết nối với wifi_B. Khi tôi rút bộ định tuyến wifi_Bvà khởi động lại mâm xôi của tôi thành dòng lệnh, nó sẽ tự động kết nối với wifi_A. Càng xa càng tốt.

Nhưng, giả sử cả hai bộ định tuyến đều khả dụng, làm cách nào tôi có thể đặt mức độ ưu tiên? Ví dụ: tôi muốn Raspberry của tôi kết nối wifi_Bkhi khởi động lại?

Câu hỏi thứ hai của tôi là: Giả sử tôi đang ở chế độ dòng lệnh và tôi hiện đang kết nối với wifi_B. Làm thế nào tôi có thể kết nối với wifi_Athay thế?


Trừ khi bạn liệt kê các tập tin cấu hình của mình, tất cả những gì bạn sẽ nhận được là rất nhiều suy đoán (tốt nhất).
Milliways

Câu trả lời:


9

Ví dụ: tôi muốn quả mâm xôi của tôi kết nối wifi_Bkhi khởi động lại?

Thêm priority=2vào wifi_Bkhối và priority=1vào wifi_Akhối trong /etc/wpa_supplicant/wpa_supplicant.conftệp.

Giả sử tôi đang ở chế độ dòng lệnh và tôi hiện đang kết nối với wifi_B. Làm thế nào tôi có thể kết nối với wifi_Athay thế?

Bạn có thể tạo một tệp cấu hình riêng cho từng SSID và chỉ định rõ ràng:

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

Sử dụng phương pháp của bạn, tôi chỉ có thể chuyển đổi từ mạng WiFi này sang mạng kia một lần, không thể chuyển đổi lại (hoặc sang WiFi_C khác cho ví dụ cũ). Sau khi sử dụng wpa_supplicantlệnh để thực hiện chuyển đổi thứ 1, sử dụng lại, tôi nhận được một thông báo 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 anymorev.v ... Và sau khi sudo dhclient wlan0tôi được thông báo RTMETLINK answers: File exists. Đây có phải là những gì mong đợi?
calocedrus

trước tiên bạn cần tắt kết nối với wpa_cli terminatevà sau đó kết nối với người khác wpa_supplicant, cũng có một cách phức tạp hơn mà không cần tắt nó ở đây
Z-WolF

18

Nhưng, giả sử cả hai bộ định tuyến đều khả dụng, làm cách nào tôi có thể đặt mức độ ưu tiên?

Bạn có thể đặt mức độ ưu tiên cho mạng như sau:

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

Theo mặc định, mức độ ưu tiên của tất cả các mạng là 0, đặt mức độ ưu tiên cao hơn để ưu tiên theo nhu cầu của bạn.

Giả sử tôi đang ở chế độ dòng lệnh và tôi hiện đang kết nối với wifi_B. Làm thế nào tôi có thể kết nối với wifi_A thay thế?

Cho rằng sử dụng lệnh:

wpa_cli select_network 0

Để chuyển từ wifi_Ađể wifi_Bsử dụng:

wpa_cli select_network 1

2
để kiểm tra số nào sẽ sử dụng wpa_cli select_network #, chạy wpa_cli list_networkstrước.
Z-WolF

1
Điều này không hiệu quả với tôi với Pi 3+ trên Stretch. Ran wpa_cli list_networks và nhận được số mạng, sau đó wpa_cli select_network 2. Hệ thống trả lời với OK nhưng iwconfig cho thấy nó vẫn được kết nối với mạng ban đầu.
lonstar

8
Một lưu ý cho sự rõ ràng: priorityGiá trị được áp dụng như một giá trị cao hơn có nghĩa là mức độ ưu tiên cao hơn. tức là các mạng không được chọn theo thứ tự số / đếm (không trước).
Nicolas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.