恢复16.04后Wifi断开连接 – 其他解决方案无效

我是一个新的Ubuntu用户,到目前为止真的很喜欢它。 然而,昨天我花了大约3个小时试图让我的无线网络恢复,因为我的笔记本电脑从睡眠模式唤醒(如果我重启,它会工作)。 我已经搜索了留言板,谷歌上的所有链接都是紫色的3或4页,用于此事的每个搜索结果。 因此,我不认为这个问题会重演。

我有

  • 戴尔Inspiron 15
  • AMD A6-6310
  • Ubuntu A6-6310
  • 我的无线网卡标记为(设备)wlp3s0(驱动程序)ath9k

我尝试过以下方法:

我已将这些放入/config.d中的config文件夹中

SUSPEND_MODULES="$SUSPEND_MODULES ath9k" SUSPEND_MODULES="ath9k" 

我在/sleep.d中创建了可执行文件,例如:

  #!/bin/sh #Tell Network Manager that resume was successful case "$1" in thaw) /usr/bin/nmcli nm sleep false ;; esac #!/bin/sh case "${1}" in resume|thaw) nmcli r wifi off && nmcli r wifi on ;; esac 

以及其他许多变体。

此外,这会重新启动NetworkManager但不会再次连接wifi:

 sudo service network-manager restart 

还有其他一些我试过的东西,我无法用nmcli d wifi等命令记住这些东西。 他们没有工作。

现在,我可能错了,但我认为问题可能在于:

 sudo nmcli nm sleep false 

现在,我的终端无法识别“nm”并说:

 sudo nmcli nm sleep false 

当我拉出nmcli的菜单时,nm在对象列表中没有任何地方。 我觉得这可能是问题的关键。 那么,有什么我没有做过我应该做的事情,有没有办法“修复”“nm”问题? 提前致谢!

编辑:从挂起返回的驱动程序错误行为是一个问题我已经多次运行跨多个操作系统的几个网络接口。 我发现在所有这些方面唯一有用的就是关闭WiFi卡的电源管理。 在审查了我对系统进行的调整以解决类似问题之后,我提供了以下解决方案。

首先,我们将使用以下内容备份现有的默认电源管理设置:

 sudo cp /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf.bak 

接下来,我们将编辑内容以完全关闭WiFi的电源管理。 使用gksu gedit /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf,其中包含默认值wifi.powersave = 3 ,可以在WiFi设备上实现省电。 将此文件的内容更改为:

 [connection] wifi.powersave = 0 

完成上述操作并将我的界面重命名为wlan0解决了我在16.04下的问题

完成后,您需要重新启动或发出命令sudo systemctl restart NetworkManager以重新启动Network Manager

注意:我的卡没有Atheros芯片,标识如下:

* – 网络描述:无线接口产品:RT2561 / RT61 802.11g PCI供应商:Ralink corp。 物理ID:1总线信息:pci @ 0000:04:01.0逻辑名称:wlan0版本:00串口:00:1a:ef:03:00:aa宽度:32位时钟:33MHzfunction:pm bus_master cap_list以太网物理无线

可能适用于具有类似问题的其他人的替代方案是:

将下面的bash脚本放在/etc/pm/sleep.d文件夹中,名称为99_wifiup。

注意:如果99是文件夹中的最高编号,则需要99_以确保它最后运行。

您需要确保脚本具有执行权限,并且您需要超级用户(sudo)权限才能在该处写入文件。 每当你退出暂停时,它就会运行。

 #!/bin/bash case "$1" in suspend | hibernate) # executed on suspend ;; resume | thaw) # executed on resume /usr/sbin/rfkill block all /usr/sbin/rfkill unblock all /sbin/iwlist wlan0 scan ;; *) ;; esac 

如果这不起作用,那么值得探索修改脚本,以便在解冻时发出暂停和nmcli networking on的命令nmcli networking off

如果这些解决方案都不适合您并且您注意到其他exception情况,则可能是您的WiFi适配器出现故障,或者此错误已经复活。

资料来源:

在我的一个系统上修改了/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf和/etc/udev/rules.d/70-persistent-net.rules。

Mickeypoppost#9 https://ubuntuforums.org/showthread.php?t=2321399

man nmcli

https://gist.github.com/jcberthon/ea8cfe278998968ba7c5a95344bc8b55

我发现wifi电源管理经常成为linux体验的祸根。 就我而言,它适用于各种Intel和Broadcom适配器。 也许禁用它将解决您的问题。 我是这样做的(编辑你的界面wlp3s0 ):

创建: /etc/network/if-up.d/wifi-powerman-off
启用: chmod +x /etc/network/if-up.d/wifi-powerman-off

wifi-powerman-off:

 #!/bin/sh IWCONFIG=/sbin/iwconfig WLAN_IFACE=<> if [ ! -x $IWCONFIG ]; then exit 1 fi if [ "$IFACE" = $WLAN_IFACE ]; then $IWCONFIG $IFACE power off fi 

以下是原始问答参考:
如何防止iwconfig电源管理被打开?

几个命令要尝试(除了上面的内容),如果你发现其中一个工作(手动运行时) – 将它添加到你在唤醒期间运行的问题中提到的脚本之一。

重启网络和wifi相关服务:

 sudo service wpa_supplicant restart sudo service network-manager restart 

重启网卡:

 sudo ifconfig wlan0 down && sudo ifconfig wlan0 up 

强制wifi卡模式:

 sudo iwconfig wlan0 essid any 

(在较旧的ubuntu版本上,状态称为auto ,而不是any

重新加载网卡内核驱动程序(列表可能需要为您的驱动程序更新,列表取自我在另一个模型上使用的脚本):

 sudo rmmod ath9k ath9k_common ath9k_hw ath mac80211 rndis_wlan cfg80211 rndis_host cdc_ether usbnet && sleep 1 && sudo modprobe -a usbnet cdc_ether rndis_host cfg80211 rndis_wlan mac80211 ath ath9k_hw ath9k_common ath9k