恢复 16.04 后 Wifi 断开连接 - 其他解决方案不起作用

Rya*_*han 12 network-manager suspend wireless networking 16.04

我是一个新的 Ubuntu 用户,到目前为止非常喜欢它。但是,昨天我花了大约 3 个小时试图让我的 wifi 在我的笔记本电脑从睡眠模式唤醒后恢复(如果我重新启动它就可以工作)。我已经搜索了留言板,对于关于这个问题的每个搜索结果,谷歌上的所有链接都是紫色的 3 或 4 页。因此,我认为这个问题不会重复。

我有

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

我尝试了以下方法:

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

SUSPEND_MODULES="$SUSPEND_MODULES ath9k"

SUSPEND_MODULES="ath9k"
Run Code Online (Sandbox Code Playgroud)

我在 /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
Run Code Online (Sandbox Code Playgroud)

及其许多其他变体。

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

sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)

还有一些我尝试过的其他事情,我无法完全记住诸如 nmcli d wifi on 之类的命令。他们没有工作。

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

sudo nmcli nm sleep false
Run Code Online (Sandbox Code Playgroud)

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

sudo nmcli nm sleep false
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ark 1

我发现 wifi 电源管理常常是 Linux 体验的祸根。就我而言,它跨越各种英特尔和博通适配器。也许禁用它可以解决您的问题。这是我的做法(针对您的界面进行编辑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
Run Code Online (Sandbox Code Playgroud)

以下是原问答参考:
How can I Prevent iwconfig power management from opening?


Oha*_*hen -1

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

重启网络和wifi相关服务:

sudo service wpa_supplicant restart

sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)

重启网卡:

sudo ifconfig wlan0 down && sudo ifconfig wlan0 up
Run Code Online (Sandbox Code Playgroud)

强制wifi卡模式:

sudo iwconfig wlan0 essid any
Run Code Online (Sandbox Code Playgroud)

(在较旧的 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 
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

1425 次

最近记录:

8 年,8 月 前