简历16.04之后,WiFi断开连接-其他解决方案无效


12

我是Ubuntu的新用户,到目前为止非常喜欢。但是,昨天我花了大约3个小时试图使我的笔记本电脑从睡眠模式唤醒后才能恢复wifi(如果我重新启动,它可以正常工作)。我已经搜寻过留言板,并且在此问题上,每个搜索结果在Google上的所有链接均为紫色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”问题?提前致谢!


可能不是相同的问题(我使用的是intel driver),但是如果不是相同的问题,我也面临着类似的问题,并且结束了分配快捷方式(FN+F9以我为例),以执行命令pkexec systemctl restart network-manager.service告诉systemd从GUI中重新启动网络管理器。我发现的最少干扰的方式。
dgonzalez

物有所值:我的版本nmcli1.2.2
Timothy Truckle

请查看此问题并编辑帖子以包含信息
Jeremy31 '26

@TimothyTruckle你可能只是问你自己的问题瑞安Callihan还没有登录在自11月7日
Jeremy31

@ Jeremy31 “请参见此问题他不是一个相同的问题,因为只有在系统从挂起状态恢复后,我们(TO TO ME)才能进行探查。
蒂莫西·特拉克

Answers:


2

编辑:从挂起状态返回时的驱动程序不当行为是我在多个操作系统的多个网络接口上多次运行的问题。我发现对所有这些方法都有效的唯一事情是关闭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以重新启动网络管理器

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

*-网络描述:无线接口产品:RT2561 / RT61 802.11g PCI供应商:Ralink corp。物理ID:1总线信息:pci @ 0000:04:01.0逻辑名称:wlan0版本:00序列号:00:1a:ef:03:00:aa宽度:32位时钟:33MHz功能: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 off在挂起和nmcli networking on解冻时发出命令。

如果这些解决方案都不适合您,并且您发现其他异常,则说明您的WiFi适配器可能有问题,或者此错误已复活。

资料来源:

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

Mickeypop帖子#9 https://ubuntuforums.org/showthread.php?t=2321399

man nmcli

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


应该将nmcli networking on第一个或最后一个命令放在恢复分支中吗?
蒂莫西·特拉克

我必须用真实的WiFi重新尝试,如果有名字...
Timothy Truckle,2016年

道歉。我应该要求的……
极客老人

请没有任何借口,应该早早意识到自己...无论如何,WiFi仍然无法恢复...当我在恢复最后一个wlp32s0 Interface doesn't support scanning : Network is down
答案

ath5k: phy0: can't reset hardware (-5)
除此之外,

1

我发现wifi电源管理通常是Linux体验的祸根。就我而言,它跨越了各种英特尔和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=<<interface name>>
if [ ! -x $IWCONFIG ]; then
    exit 1
fi
if [ "$IFACE" = $WLAN_IFACE ]; then
    $IWCONFIG $IFACE power off
fi

这是原始的“问答”参考:
如何防止iwconfig电源管理打开?


我创建了该文件并重新启动,但是在暂停后WiFi仍然断开连接
Timothy Truckle

真可惜...对你充满希望。至少您知道它不是电源管理组件。
标记

-1

如果您发现其中一个命令可以正常工作(手动运行时),则可以尝试几个命令(除上述命令外)-将其添加到问题中提到的其中一个脚本中,以在唤醒过程中运行。

重新启动网络和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 

我的版本iwconfig(与无线扩展v11到v22兼容的无线工具版本30。)不知道命令自动
Timothy Truckle 2016年

我如何才能模块(完成,但最小的)名单与使用rmmod/ modprobe
蒂莫西·特拉克

当您尝试使用rmmod一个模块时,会得到一个依赖于它的模块列表,这些列表就是我获得该列表的方式。
Ohad Cohen

原来autoany在较新的ubuntu版本中将其重命名为。
Ohad Cohen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.