Как установить приоритет WiFi сети?

13

Я понимаю, что могу настроить несколько Wi-Fi, добавив /etc/wpa_supplicant/wpa_supplicant.conf(как предписано в разделе Настройка Wi-Fi через командную строку ).

Допустим, у меня есть два зарегистрированных Wi-Fi: wifi_Aиwifi_B

Когда я отключаю маршрутизатор wifi_Aи перезагружаю малину в командную строку, он автоматически подключается к wifi_B. Когда я отключаю маршрутизатор wifi_Bи перезагружаю малину в командную строку, он автоматически подключается к wifi_A. Все идет нормально.

Но, скажем, оба маршрутизатора доступны, как я могу установить приоритеты? Например, я бы хотел, чтобы моя Raspberry подключалась wifi_Bпосле перезагрузки?

Мой второй вопрос: допустим, я нахожусь в режиме командной строки и в настоящее время я подключен к wifi_B. Как я могу подключиться wifi_Aвместо этого?

user2926577
источник
Если вы не перечислите свои файлы конфигурации, все, что вы получите, это много спекуляций (в лучшем случае).
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
techraf
источник
Используя ваш подход, я могу переключаться с одной сети Wi-Fi на другую только один раз, не могу переключиться обратно (или на другую WiFi_C, например). После использования wpa_supplicantкоманды для первого переключения, повторного использования я получаю сообщение 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
Dishant
источник
2
чтобы проверить, какой номер использовать wpa_cli select_network #, wpa_cli list_networksсначала запустите .
Z-WolF
1
Это не работает для меня с Pi 3+ на Stretch. Запустил wpa_cli list_networks и получил номера сети, а затем wpa_cli select_network 2. Система ответила OK, но iwconfig показывает, что она все еще подключена к исходной сети.
Lonstar
8
Примечание для ясности: priorityзначение применяется как более высокое значение, означающее более высокий приоритет. т.е. сети не выбираются в порядке нумерации / подсчета (сначала ноль).
Николас