Нужно перезапустить сетевые интерфейсы и убить wpa_supplicant, как это исправить?

Мое рабочее место использует проверку подлинности 802.11x для своей сети Wi-Fi, и несколько раз в день я загружаюсь из сети и мне необходимо выполнить следующее:

  1. Отключить сеть
  2. sudo kill -9
  3. Перезагрузите сеть

На данный момент машина подключится к сети просто отлично. Я не вижу никаких странностей в системном журнале, и я использую Ubuntu 12.04 (64-разрядная версия). Что может быть не так?

2 ответа

Решение

У меня такая же проблема. Оказывается, менеджер сети немного переусердствовал в переключении между точками доступа (AP), когда присутствуют более одной. У вас есть два варианта

  1. Используйте 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". Вставьте туда сотовый адрес.

  2. В противном случае вы можете полностью отказаться от сетевого менеджера и использовать 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

Остановка сетевого сервиса sudo

Это остановит NetworkManager

Другие вопросы по тегам