Нужно перезапустить сетевые интерфейсы и убить wpa_supplicant, как это исправить?
Мое рабочее место использует проверку подлинности 802.11x для своей сети Wi-Fi, и несколько раз в день я загружаюсь из сети и мне необходимо выполнить следующее:
- Отключить сеть
- sudo kill -9
- Перезагрузите сеть
На данный момент машина подключится к сети просто отлично. Я не вижу никаких странностей в системном журнале, и я использую Ubuntu 12.04 (64-разрядная версия). Что может быть не так?
2 ответа
У меня такая же проблема. Оказывается, менеджер сети немного переусердствовал в переключении между точками доступа (AP), когда присутствуют более одной. У вас есть два варианта
Используйте iwlist, чтобы узнать, сколько там AP:
root@debian:/home/nofrills# iwlist wlan0 scan Scan completed : Cell 01 - Address: 00:1E:58:A1:41:87 ESSID:"iiserk_wireless" Mode:Managed Frequency:2.462 GHz (Channel 11) Quality:4/5 Signal level:-64 dBm Noise level:-92 dBm IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (2) : TKIP CCMP Authentication Suites (1) : 802.1x Preauthentication Supported Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 12 Mb/s; 24 Mb/s; 36 Mb/s; 9 Mb/s; 18 Mb/s 48 Mb/s; 54 Mb/s Cell 02 - Address: 00:1E:58:A1:54:7B ESSID:"iiserk_wireless" #More such details
Затем запишите адрес ячейки с самым высоким качеством. Это ближайший к вам AP. Затем нажмите на апплет диспетчера сети, выберите "Редактировать соединения" и перейдите к сети Wi-Fi в списке. Там будет текстовое поле с названием "BSSID". Вставьте туда сотовый адрес.
В противном случае вы можете полностью отказаться от сетевого менеджера и использовать wpa_supplicant (в любом случае, сетевой менеджер использует его под капотом). Просто создайте файл конфигурации и отредактируйте ваш / etc / network / interfaces следующим образом:
auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp pre-up wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant.conf post-down killall -q wpa_supplicant
Вариант 1 не очень полезен, если вы не проводите большую часть времени на рабочем месте примерно в одном месте. Вариант 2 - это то, что я использую сейчас, и он работает довольно хорошо. Но Wi-Fi не подключается автоматически после приостановки / возобновления, поэтому вам нужно запустить /etc/init.d/networking/restart
вручную.
Если вам нравится делать вещи аккуратно, в качестве альтернативы killall
команда, вы можете использовать специальный инструмент WPA wpa_client
:
wpa_cli -i wlan0 terminate