在恢复后,WiFi被硬件开关禁用。

我在我的HP 15-P234TX笔记本上运行Ubuntu 14.04。每次我关闭盖子或暂停它,无线网络就会停止工作,直到我重新启动整个系统。我无法点击启用WiFi,因为它显示“WiFi被硬件开关禁用”。据我所知,我在机箱上没有任何开关。 我尝试运行rfkill list all,并得到以下结果
rfkill list all

1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: yes

rfkill unblock all没有任何效果

__

lspci -knn | grep Net -A2
08:00.0 Network controller [0280]: Intel Corporation Wireless 3160 [8086:08b3] (
rev 83)
Subsystem: Intel Corporation Dual Band Wireless-AC 3160 [8086:0070]
Kernel driver in use: iwlwifi

怎么修复这个问题?

请编辑您的问题,添加您的HP Pavilion的确切型号。欢迎来到askubuntu。 - chili555
你尝试使用 sudo rfkill unblock all 命令来解除阻止吗?它有效吗? - Pilot6
иҜ·е°ҶжӮЁзҡ„й—®йўҳзј–иҫ‘并添еҠ lspci -knn | grep Net -A2з»Ҳз«Ҝе‘Ҫд»Өзҡ„иҫ“еҮәгҖӮ - Pilot6
我尝试了 "sudo rfkill unblock all",但似乎没有任何效果。 - Snowflake
很可能是硬件锁。键盘锁可能是第一个嫌疑人(Fn F2或类似的按键?) - Rinzwind
嗨,我有同样的问题,而且我也有和你一样的驱动程序。@Snowflask,你解决了这个问题吗? - rafaelphp
1个回答

这个脚本是用来在从暂停状态恢复时重新加载WiFi内核模块的systemd脚本。它来自于这个回答:突然不显示可用WiFi网络
这个脚本是为iwlwifi编写的,这是常见的Intel驱动程序名称。如果你的驱动程序名称不同,请在下面更改该名称。
#!/bin/sh

# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi which can be flakey after a long suspend.
# DATE: Apr 1, 2017. Modified August 30, 2017.

MYNAME=$0

exit

restart_wifi() {
    /usr/bin/logger $MYNAME 'restart_wifi BEGIN'
    /sbin/modprobe -v -r iwldvm # This removes iwlwifi too
    /sbin/modprobe -v iwlwifi   # This starts iwldvm too
#    systemctl restart NetworkManager.service
    /usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESSED)'
    /usr/bin/logger $MYNAME 'restart_wifi END'
}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
    hibernate|suspend|pre*)
      ;;
    resume|thaw|post*)
      restart_wifi;;
esac

注意:有时候简单地重置网络管理器就足够了。在这种情况下,通过删除#来取消注释上面的那一行。然后通过在那两行前加上#来注释掉它们。

你需要用sudo权限创建这个脚本,名为iwlwifi-reset,并将其保存到目录/lib/systemd/system-sleep中。然后使用以下命令将其标记为可执行文件:

chmod a+x /lib/systemd/system-sleep/iwlwifi-reset

  • 相关问题