在Ubuntu 14.04中恢复后无线网络无法正常工作


79

[更新]:
Kubuntu中存在相同的问题,并且以相同的方式解决。
[解决]:
通过应用以下命令,nmcli nm我得到了以下信息:

暂停之前

RUNNING         STATE           WIFI-HARDWARE   WIFI       WWAN-HARDWARE   WWAN      
running         connected       enabled         enabled    enabled         enabled  

如您所见,状态已连接,其余的已启用并正在运行

暂停后

RUNNING         STATE           WIFI-HARDWARE   WIFI       WWAN-HARDWARE   WWAN      
running         asleep          enabled         enabled    enabled         disabled

如您所见,状态处于睡眠状态,这意味着我们亲爱的网络管理器仍在小睡,因此使用轻松的命令行来解决:
sudo nmcli nm sleep false
这告诉网络管理器将其唤醒。为了使它具有永久性:在以下内容中
创建一个脚本/etc/pm/sleep.d(并且不要忘记将该脚本标记为可执行文件):

#!/bin/sh

case "${1}" in
        resume|thaw)
        nmcli nm sleep false
                ;;
esac

由于这个

原来的问题:

我刚刚下载了Ubuntu 14.04,并安装在我的笔记本电脑上:具有Intel P8400 Core2Duo x64处理器的ASUS X61SL。
当我合上盖子时,系统将暂停,但是当我再次打开盖子并恢复时,无线网络未激活(整个网络被禁用),并且当我选择“启用网络”时,没有任何反应。
这是有关我的无线适配器的信息:

$ lspci | grep -i wireless
02:00.0 Network controller: Qualcomm Atheros AR928X Wireless Network Adapter (PCI-Express) (rev 01)  

在Ubuntu 13.04,Linux Mint Debian Edition或Debian 7 Wheezy(GNOME或KDE)中不存在此问题。

编辑:进行以下结果的测试:
问题影响了我的无线和有线网络。
注意:我需要pci=nomsi将这行添加到grub才能启动。
手动注销时,先挂起然后恢复,然后再登录,一切正常。
登录时直接挂起时,会发生问题。
锁定和挂起与直接挂起导致相同的问题。
同样,此问题的出现也会影响注销功能:如果您从统一面板的用户菜单中选择了注销,则不会注销,但是如果使用命令行,gnome-session-quit --logout则可以注销。
现在lshw -C network输出:
正常(全功能网络):

  *-network               
       description: Ethernet interface
       product: 191 Gigabit Ethernet Adapter
       vendor: Silicon Integrated Systems [SiS]
       physical id: 4
       bus info: pci@0000:00:04.0
       logical name: eth0
       version: 02
       serial: 00:24:8c:1e:f8:53
       size: 10Mbit/s
       capacity: 100Mbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sis190 driverversion=1.4 duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:19 memory:fddfcc00-fddfcc7f ioport:cc00(size=128)
  *-network
       description: Wireless interface
       product: AR928X Wireless Network Adapter (PCI-Express)
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlan0
       version: 01
       serial: 00:15:af:e2:13:db
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=3.13.0-24-generic firmware=N/A ip=6.6.6.8 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
       resources: irq:16 memory:fdff0000-fdffffff

恢复后(“ /etc/pm/config.d”不包含“ unload_modules”):

 *-network DISABLED      
       description: Ethernet interface
       product: 191 Gigabit Ethernet Adapter
       vendor: Silicon Integrated Systems [SiS]
       physical id: 4
       bus info: pci@0000:00:04.0
       logical name: eth0
       version: 02
       serial: 00:24:8c:1e:f8:53
       size: 10Mbit/s
       capacity: 100Mbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sis190 driverversion=1.4 duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:19 memory:fddfcc00-fddfcc7f ioport:cc00(size=128)
  *-network DISABLED
       description: Wireless interface
       product: AR928X Wireless Network Adapter (PCI-Express)
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlan0
       version: 01
       serial: 00:15:af:e2:13:db
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=3.13.0-24-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11bgn
       resources: irq:16 memory:fdff0000-fdffffff

当我按照此处建议将文件unload_modules添加到目录“ /etc/pm/config.d”时,注销后,挂起,恢复然后登录网络即可,但是我无法连接到无线网络。
再次lshw -C network 恢复后的结果(“ /etc/pm/config.d”包含“ unload_modules”):

 *-network DISABLED      
       description: Ethernet interface
       product: 191 Gigabit Ethernet Adapter
       vendor: Silicon Integrated Systems [SiS]
       physical id: 4
       bus info: pci@0000:00:04.0
       logical name: eth0
       version: 02
       serial: 00:24:8c:1e:f8:53
       size: 10Mbit/s
       capacity: 100Mbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sis190 driverversion=1.4 duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:19 memory:fddfcc00-fddfcc7f ioport:cc00(size=128)
  *-network DISABLED
       description: Wireless interface
       product: AR928X Wireless Network Adapter (PCI-Express)
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlan0
       version: 01
       serial: 00:15:af:e2:13:db
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=3.13.0-24-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11bgn
       resources: irq:16 memory:fdff0000-fdffffff

“ unload_modules”的内容,其中:

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

其中“ ath9k”是我的无线模块,“ sis190”是我的以太网模块。


我已断开连接,而不是处于睡眠状态,如何解决该问题?Thx
Luigi Tiburzi 2014年

11
如果您解决了自己的问题,则应该发布答案,而不是在问题中包含答案。
邓肯·琼斯

3
仍然没有官方解决此问题?根据阅读错误报告没有。但这令人惊讶,因为它似乎影响了很多人……
奥古斯丁·里丁格

5
该命令nmcli nm抱怨:Object 'nm' is unknown
Alireza

1
@umpirsky trynmcli general status
rsht

Answers:


27

上述答案在14.10上对我不起作用。经过反复试验,我最终得出结论,

#!/bin/sh

case "${1}" in
  resume|thaw)
    nmcli r wifi off && nmcli r wifi on ;;
esac

将其放入/etc/pm/sleep.d/10_resume_wifi
使其可执行sudo chmod 755 /etc/pm/sleep.d/10_resume_wifi ,该问题应立即解决。


1
这为我在15.04
STW

为什么不睡前“关闭”呢?
Petr Gladkikh '16

2
“ r”是什么意思?我收到“错误:对象'r'未知。” 这似乎对我有用:“ nmcli nm wifi on;” (Ubuntu 14.04-Dell
Precision

1
为我工作16.04
timkofu's

@FizxMike r在我的nmcli(Ubuntu 16.04)版本中指定了对象“ radio” 。键入时nmcli r --help,我看到命令的可用目标为COMMAND := { all | wifi | wwan }和可用命令为[ on | off]。我猜想在Ubuntu 14.10之前,不可能定位到由NetworkManager控制的单个对象。
MDMower

21

我有一个解决方案,但这只是为了重新启动网络管理器。

sudo service network-manager restart

这不是永久的解决方案。


该解决方案是在15.10上使用Intel Wireless 7260的唯一适用于我的解决方案
Anton Matosov 2016年

此解决方案还适用于14.04 LTS和14.10
hmjha,2016年

工作了。@hmjha也许我们可以编写一个脚本/etc/pm/sleep.d来检查wifi是否正常工作,network-manager如果不能正常工作,则重新启动?
乌皮尔斯基'16

@umpirsky是的,我们也可以使用该方法。谢谢
hmjha '16

2
在Ubuntu 16.10上为我工作。但是,显然不再使用/etc/pm/sleep.d。我将其放在/ lib / systemd / system-sleep中,如下所示:#!/ bin / sh case $ 1 in post)service network-manager restart ;; esac
Marc Rochkind

4

最终对我有用的脚本:

$ cat /etc/pm/sleep.d/10_resume_wifi 
#!/bin/sh

case "${1}" in
  resume|thaw) nmcli nm sleep false ;;
esac

$ ll /etc/pm/sleep.d/10_resume_wifi
-rwxr-xr-x 1 root root 70 mars  31 09:09 /etc/pm/sleep.d/10_resume_wifi

另一个答案有错别字(我知道他们可以解决),但无论如何从没有为我工作。


我可以以某种方式对其进行测试而不将其永久化吗?这些命令做什么?
托卡姆

托卡姆(Tokam),请参阅上面我在Owais的帖子中有关“ nmcli nm wifi on”首先在脚本中工作的评论。基本上,通过将脚本放置在sleep.d目录中,将在恢复时执行该脚本并传递“ resume”或“ thaw”。该脚本检查传递给脚本的参数,然后执行nmcli命令(网络管理器命令行界面)。我提到的特定命令等效于在状态栏中单击网络管理器并选中“启用WiFi”。为了进行验证,请在终端中输入“ nmcli nm help”。另外,您需要确保脚本是可执行的。
FizxMike

这对我适用于基于ubuntu 16.04.1。的薄荷伴侣18。
Eric Wang

0

这对我在Dell Precision笔记本电脑上的Ubuntu 14.04上有效。

在终端中输入:

sudo nano /etc/pm/sleep.d/10_resume_wifi

然后粘贴(ctrl + v):

#!/bin/sh
case "${1}" in
resume|thaw)
    nmcli nm wifi on
    ;;
esac

然后使脚本可执行:

sudo chmod +x /etc/pm/sleep.d/10_resume_wifi

测试暂停并唤醒以查看wifi !!


-3

您是否尝试过在kate中输入另一个这样的脚本:

#/bin/sh

    case ![1] in
        ./bin/sh
        network="true"
        nmcli nm -c sleep=false -network
    endasc

并将其另存为/ etc / network中的jsin7文件,并将其命名为network.d,这可能会正常工作。


1
我认为语法最近发生了变化,我发布nmcli nm sleep falsenm wifi on它,然后运行它。+1的小费!
Mahmoud Al-Qudsi

该命令sudo nmcli nm sleep false确实对我有用,因此我不会遇到麻烦。但是/etc/network/network.d脚本不会自动恢复。如果我尝试执行它,则会得到Syntax error: newline unexpected (expecting ")")。您能否更具体地谈谈1.为什么不起作用?2.应该执行什么脚本(以便我们可以单独对其进行修复)?3.为什么network.d?谢谢!
奥古斯丁·里丁格

3
这应该怎么办?什么![$]啊 为什么./bin/sh呢 您在/etc/network,那里不会没有./bin/sh。什么是jsin7文件?案例陈述以esac而不是结尾easc。他们还需要一个变量和一个条件。
terdon
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.