关于安装Fcitx输入法
关于 Ubuntu 上时不时 SSID 消失的问题(二)

关于 Ubuntu 上时不时 SSID 消失的问题

violet posted @ Dec 13, 2016 10:13:23 AM in 胡扯 with tags linux ubuntu , 806 阅读

久仰这个 bug 啊,自从李先生吃上了 Ubuntu 16.04 之后我就听闻了这个 bug,在 suspend 几次之后就会出现 SSID 扫不到的事。入职这边之后的确接触了很长时间 Ubuntu,然后碰到了这个 bug,复现率不算特别高,但是也经常出现烦人。偶尔逮到一次,于是来看看到底是怎么回事。

首先只能看到的是 SSID 扫不到了,先看看 NetworkManager 的状态,是 active 的,那问题不在 NetworkManager 这里。

那难道是驱动嗝屁了?用 dmesg 搜索了一下驱动相关的信息,倒是有报错,我最新的 firmware 是21的,跟我要22和23的,我就顺势装上了23和24的,过了一会再看,跟我要25和26的……那看来不是驱动的问题……

别人问了一句说用 iwlist scan 能不能扫出 SSID 呢,我试了一下,是不能的,这倒是提醒了我,NetworkManager 一般是读 wpasupplicant 提供的结果,那我用 wpa_cli 来扫扫看,然后发现 wpa_cli 连不上 wpasupplicant,ps 看了一眼,wpasupplicant 根本没起来,那自然扫不到 SSID 咯,问题找到。用 systemctl 看看 wpasupplicant 到底咋了。

● wpa_supplicant.service - WPA supplicant
   Loaded: loaded (/lib/systemd/system/wpa_supplicant.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Dec 12 04:14:11 ubuntu-desktop wpa_supplicant[2882]: Successfully initialized wpa_supplicant
Dec 12 04:14:11 ubuntu-desktop systemd[1]: Started WPA supplicant.
Dec 12 04:14:11 ubuntu-desktop wpa_supplicant[2882]: dbus: wpa_dbus_get_object_properties: failed to get object properties: (none) none
Dec 12 04:14:11 ubuntu-desktop wpa_supplicant[2882]: dbus: Failed to construct signal
Dec 12 04:14:11 ubuntu-desktop wpa_supplicant[2882]: Could not read interface p2p-dev-wlp4s0 flags: No such device
Dec 12 04:15:56 u systemd[1]: Stopping WPA supplicant...
Dec 12 04:15:56 u wpa_supplicant[2882]: nl80211: deinit ifname=p2p-dev-wlp4s0 disabled_11b_rates=0
Dec 12 04:15:56 u wpa_supplicant[2882]: p2p-dev-wlp4s0: CTRL-EVENT-TERMINATING
Dec 12 04:15:56 u wpa_supplicant[2882]: nl80211: deinit ifname=wlp4s0 disabled_11b_rates=0
Dec 12 04:15:56 u systemd[1]: Stopped WPA supplicant.

可以很清楚地看到有这样一句

Could not read interface p2p-dev-wlp4s0 flags: No such device

看来就是这个问题了,以这句为关键字搜索了一下,看到 Arch 的 BBS 上在15年4月就有讨论的帖子,读了一下,是 wpasupplicant 从2.3升级到2.4的时候引入了一个关于 p2p interface 的 patch,wpasupplicant 不能很好地处理这个问题,所以就时不时嗝屁了。继续翻了一下 Arch 那边的 bug 追踪,他们在 wpasupplicant 2.5 的时候修复了这个问题。我翻了一下 Ubuntu 这边的源,16.04 上还是 2.4,16.10 上也应该是 2.4(如果我找对的话)。

问题是找到了,就看修不修咯╮( ̄▽ ̄)╭

问题的暂时解决办法放最后,其实能看懂的已经知道解决办法了,只要触发重启 wpasupplicant 即可。

$ sudo systemctl restart wpa_supplicant
$ sudo systemctl restart NetworkManager

或者干脆重启机器╮( ̄▽ ̄)╭

Avatar_small
依云 说:
Dec 14, 2016 10:23:35 AM

原来是这个问题啊……我遇到过一次,然后系统更新了~

jio4gvoice 说:
Aug 16, 2017 11:45:18 AM

Greetings! Very helpful advice within this post! It is the little changes that will make the most important changes. Thanks a lot for sharing!


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter