![笔记本电脑暂停后无法重新连接到新的 wifi 集线器](https://linux22.com/image/857119/%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%E6%9A%82%E5%81%9C%E5%90%8E%E6%97%A0%E6%B3%95%E9%87%8D%E6%96%B0%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%96%B0%E7%9A%84%20wifi%20%E9%9B%86%E7%BA%BF%E5%99%A8.png)
我有一台戴尔 Inspiron 5520 笔记本电脑,配有英特尔迅驰 Wireless-N 2230 卡,运行 Ubuntu 14.04。WiFi 与我的旧 Virgin Media Superhub 配合使用时没有出现任何问题,但在“升级”到 Superhub 2 后,笔记本电脑在我暂停后通常无法重新连接到网络 - 我的其他所有设备都运行正常,尽管它是家里唯一运行 Linux 的设备。笔记本电脑始终可以看到网络,只是在暂停后尝试连接需要很长时间,最终放弃 -dmesg
显示一些“身份验证超时”错误。
我尝试了两种不同的 USB wifi 适配器,它们在 Windows 桌面上运行良好,但在笔记本电脑上都出现了同样的问题。到目前为止,我发现的唯一解决方法是重新启动笔记本电脑或集线器、更改 wifi 频道或禁用 wifi 安全。我尝试过重新启动网络管理器、从管理器中删除连接以及使用键盘上的按钮关闭和打开无线网卡 - 这些似乎都不起作用。我尝试了所有建议此主题和这个(尽管它们的问题似乎略有不同),并且都没有任何效果,只是sudo modprobe -r iwlwifi
给了我一个错误:
modprobe: FATAL: Module mac80211 is in use.
modprobe: FATAL: Error running remove command for iwlwifi.
有人知道下一步该怎么做吗?如果我找不到永久的解决方案,我会很高兴找到更方便的解决方法。
答案1
我遇到了同样的问题。似乎只有在使用 Superhub 时才会发生这种情况。在其他地方暂停/恢复时(使用不同的无线路由器),我不会遇到此问题。
对我来说(烦人的)解决方法是在频道之间切换但这也并不总是有效。这是假设您的 Virgin Superhub 也拥有 2 个单独的 2G 和 5G 连接吗?
答案2
这似乎是此处报告的 wpa_supplicant 错误: wpa_supplicant 在退出挂起状态时崩溃
我尝试在挂起/休眠之前停止网络管理器,并在恢复/解冻之后重新启动它。按Ctrl+ Alt+打开终端T。输入以下命令在 /usr/lib/pm-utils/sleep.d 中创建一个名为 99zFix 的新文件:sudo gedit /usr/lib/pm-utils/sleep.d/99zFix
将以下代码复制并粘贴到文件中。
#!/bin/bash
case "$1" in
suspend|hibernate)
service network-manager stop
;;
resume|thaw)
service network-manager start
;;
esac
保存(按Ctrl+ )并退出。然后在终端中S输入:使其可执行。sudo chmod 644 /usr/lib/pm-utils/sleep.d/99zFix
完毕! :)
如果您遇到同样的问题,您可以对重启/关机/注销执行完全相同的操作。尽情享受吧!
更新:
我在这里发现了另一个错误报告,它与您的问题有点相似: https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/811441/comments/24 根据第 24 条回复:
您需要
(i)创建目录 /run 和 /run/lock,
(ii)将 /var/run 的内容移动到 /run 并将 /var/lock 的内容移动到 /run/lock,
(iii)删除目录 /var/run 和 /var/lock,(iv)创建替换 simlink;例如“ln -s /run /var/run”和“ln -s /run/lock /var/lock”
下面的代码实现了上述解释。运行一次对我来说效果不好,所以我把它插入到暂停|休眠)代替服务网络管理器停止每次我休眠或挂起笔记本电脑时都会运行它。您可以运行一次并测试它是否有效。
#!/bin/bash
case "$1" in
suspend|hibernate)
mkdir /run /run/lock
mv /var/run/* /run
mv /var/lock/* /run/lock
rm /var/run -R
rm /var/lock -R
ln -s /run /var/run
ln -s /run/lock/ /var/lock
;;
resume|thaw)
;;
esac