需要重新启动网络接口并杀死wpa_supplicant,如何修复?

我的工作场所对他们的WiFi网络使用802.11x身份validation,并且我每天都会多次从网络启动并需要执行以下操作:

  1. 禁用网络
  2. sudo kill -9
  3. 重启网络

此时,机器将连接到网络就好了。 我没有在syslog中看到任何奇怪的东西,并且正在运行Ubuntu 12.04(64位)。 可能有什么不对?

我有同样的问题。 事实certificate,当存在多个接入点时,网络管理员在接入点(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。 然后单击网络管理器小程序,选择“编辑连接”并转到列出的wifi网络。 将有一个标题为“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是我现在使用的,它运作良好。 但是暂停/恢复后wifi不会自动重新连接,因此您需要手动运行/etc/init.d/networking/restart

如果你喜欢整齐地做事,作为genericskillall命令的替代,你可以使用WPA特定工具wpa_client

 wpa_cli -i wlan0 terminate 

sudo服务网络经理停止

它将停止NetworkManager