首先,我知道其他人最近发布了类似的问题,但是我在任何帖子中看到的许多修复或建议都无法解决我的问题。
我的华硕上网本自从 6-8 个月前买来之后一直运行良好,但在过去一周左右的时间里,wifi 开始毫无征兆地随机冻结/崩溃,尝试修复该问题的所有正常方法都没有任何效果 - 只有重新启动才能解决问题。
我尝试的第一个也是最明显的方法是重新启动网络管理器,但当我这样做时,我注意到 wifi 随后显示为已禁用。进一步的研究表明,wifi 不知何故被硬阻止了。键盘上有一个用于 wifi 的按钮,起初我以为我不小心按到了它,但 1) 再次按下它并不能解除 wifi 阻止;2) 从那时起,我一直非常注意不要按下它,但 wifi 仍然会随机被阻止。
有时我可以连续几个小时使用互联网而不会出现问题,有时在 wifi 冻结/崩溃后,它会在重新启动几分钟内再次冻结/崩溃。这种情况至少持续了一周,每天至少发生一次,尽管我尽力尝试,但我还是无法找出导致或触发冻结/崩溃的原因。
我尝试过但没有解决问题的修复方法:
- 将 BIOS 恢复为默认值
- 各种 rfkill 解锁
- 重新安装 wifi 驱动程序
- 从网络管理器切换到 wicd
- 卸载并重新加载 wifi 模块(brcmsmac)
值得注意的是,在我执行 sudo modprobe -r 后,brcmsmac 不会重新加载,之后运行 sudo modprobe brcmsmac 则不会产生任何结果,此时运行 lshw 会显示无线适配器为“未认领”。同样,只有重新启动才能解决这个问题。
其他信息/详细信息:
事实上,这个问题在过去一周左右开始出现,在我看来,这是某种更新引发的,但自从 4 月份发布以来,我就一直在运行 14.04 版本,所以如果我正确地假设是更新导致这个问题的原因,那么导致这个问题的一定是更新的、较小/较小的更新。
lspci -vv
02:00.0 Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
Subsystem: AzureWave Device 2047
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 17
Region 0: Memory at f7d00000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: bcma-pci-bridge
是否配置
eth1 Link encap:Ethernet HWaddr 74:d0:2b:71:7d:3f
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:19
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:183 errors:0 dropped:0 overruns:0 frame:0
TX packets:183 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:36944 (36.9 KB) TX bytes:36944 (36.9 KB)
wlan1 Link encap:Ethernet HWaddr dc:85:de:56:a4:14
inet addr:192.168.1.111 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::de85:deff:fe56:a414/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8442 errors:0 dropped:710 overruns:0 frame:0
TX packets:5874 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5259231 (5.2 MB) TX bytes:1242666 (1.2 MB)
rfkill 列表(工作时)
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
2: asus-wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
lshw -C 网络(工作时)
*-network
description: Network controller
product: BCM4313 802.11bgn Wireless Network Adapter
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=bcma-pci-bridge latency=0
resources: irq:17 memory:f7d00000-f7d03fff
*-network
description: Ethernet interface
product: AR8162 Fast Ethernet
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth1
version: 10
serial: 74:d0:2b:71:7d:3f
capacity: 100Mbit/s
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=alx latency=0 link=no multicast=yes port=twisted pair
resources: irq:45 memory:f7c00000-f7c3ffff ioport:e000(size=128)
*-network
description: Wireless interface
physical id: 1
logical name: wlan1
serial: dc:85:de:56:a4:14
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=brcmsmac driverversion=3.13.0-32-generic firmware=610.812 ip=192.168.1.111 link=yes multicast=yes wireless=IEEE 802.11bgn
rfkill 列表(崩溃/冻结后):
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes
2: asus-wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
lshw -C 网络(崩溃/冻结后)
*-network
description: Network controller
product: BCM4313 802.11bgn Wireless Network Adapter
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: cap_list
configuration: driver=bcma-pci-bridge latency=0
resources: irq:17 memory:f7d00000-f7d03fff
*-network
description: Ethernet interface
product: AR8162 Fast Ethernet
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth1
version: 10
serial: 74:d0:2b:71:7d:3f
capacity: 100Mbit/s
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=alx latency=0 link=no multicast=yes port=twisted pair
resources: irq:45 memory:f7c00000-f7c3ffff ioport:e000(size=128)
*-network DISABLED
description: Wireless interface
physical id: 1
logical name: wlan1
serial: dc:85:de:56:a4:14
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=brcmsmac driverversion=3.13.0-32-generic firmware=610.812 link=no multicast=yes wireless=IEEE 802.11bgn
运行后的结果:sudo modprobe -r brcmsmac && sudo modprobe brcmsmac(或任何停用然后重新激活或 modprobing brcmsmac 的命令变体)
rfkill list
2: asus-wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
基本上 phy0 消失了,我猜是因为 brcmsmac 拒绝重新激活
lshw -C network
*-network UNCLAIMED
description: Network controller
product: BCM4313 802.11bgn Wireless Network Adapter
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: cap_list
configuration: latency=0
resources: memory:f7d00000-f7d03fff
*-network
description: Ethernet interface
product: AR8162 Fast Ethernet
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth1
version: 10
serial: 74:d0:2b:71:7d:3f
capacity: 100Mbit/s
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=alx latency=0 link=no multicast=yes port=twisted pair
resources: irq:45 memory:f7c00000-f7c3ffff ioport:e000(size=128)
基本上无线适配器再次显示为“未认领”,我猜想这与 brcmsmac 未重新激活有关
编辑
以下是评论中要求的来自 /var/log/syslog 的一些看似相关的片段:
Jul 28 02:20:04 chibitachop wpa_supplicant[1174]: wlan1: CTRL-EVENT-SCAN-STARTED
Jul 28 02:42:32 chibitachop kernel: [29767.677589] brcmsmac bcma0:0: START: tid 1 is not agg'able
Jul 28 02:50:49 chibitachop kernel: [30265.344485] brcmsmac bcma0:0: START: tid 1 is not agg'able
Jul 28 03:05:34 chibitachop kernel: [31149.541093] brcmsmac bcma0:0: START: tid 2 is not agg'able
Jul 28 03:08:35 chibitachop kernel: [31331.008431] brcmsmac bcma0:0: START: tid 2 is not agg'able
Jul 28 17:20:55 chibitachop kernel: [82469.075694] brcmsmac bcma0:0: wl0: brcms_c_watchdog: dead chip
Jul 28 17:20:55 chibitachop kernel: [82469.144339] brcmsmac bcma0:0: ops->tx called while down
Jul 28 17:20:55 chibitachop kernel: [82469.332841] brcmsmac bcma0:0: ops->tx called while down
Jul 28 17:20:56 chibitachop wpa_supplicant[1174]: wlan1: CTRL-EVENT-DISCONNECTED bssid=bc:ee:7b:f3:32:b8 reason=4 locally_generated=1
Jul 28 17:20:56 chibitachop kernel: [82470.179674] brcmsmac bcma0:0: brcmsmac: brcms_ops_bss_info_changed: disassociated
Jul 28 17:20:56 chibitachop kernel: [82470.179688] brcmsmac bcma0:0: brcms_ops_bss_info_changed: arp filtering: 1 addresses (implement)
Jul 28 17:20:56 chibitachop kernel: [82470.179692] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
Jul 28 17:20:56 chibitachop kernel: [82470.179697] brcmsmac bcma0:0: wl0: brcms_c_wme_setparams : no-clock
此外,关于另一篇被标记为可能多余的帖子,该用户的 ID 是 14e4:432b,而我的是 14e4:4727,所以即使它确实有效,黑名单程序也是不同的,正如我在评论中所说的那样,对我来说它没有用。
根据在 /var/log/syslog 中发现的错误消息进行搜索,我发现了几个月前的这个帖子,其中有人使用与我相同的 14e4:4727 Broadcomm 遇到了类似的问题,但从未解决:http://ubuntuforums.org/showthread.php?t=2212368&page=4
针对该帖子,我的问题目前据称是重复的,该帖子本身重定向到 Broadcomm 驱动程序安装指南 - 该 Broadcom 安装指南是我开始研究此问题时发现的第一批帖子之一。根据该指南,我的 Broadcom 卡是“特殊情况 #1 - 此设备使用驱动程序组合 bcma 和 brcmsmac。根本不需要安装任何东西。所需的固件默认安装在软件包 linux-firmware 中。”尽管如此,我还是尝试重新安装驱动程序并尝试了所有黑名单组合,但都无济于事,正如我在原始帖子中提到的那样。
正如我之前所说,自从我买了这台电脑以来,我的无线网络已经运行了 6 - 8 个月,所以我知道我的驱动程序配置是正确的,直到大约一周前不知怎么搞砸了。我唯一能想到的可能是最近的一次小更新发生了变化,因为自从我买电脑时最初设置它以来,我没有对任何无线或网络设置进行任何调整,而且自从 4 月发布以来,我一直在运行 14.04。尽管如此,正如我已经说过的,在我发帖之前,我尝试的第一个修复方法是重新安装/将驱动程序列入黑名单,按照我的帖子目前被标记为重复的说明,但这并没有解决问题。
答案1
将此命令复制并粘贴到终端 CTRL+ALT+T 中:
echo "options asus_nb_wmi wapf=1" | sudo tee /etc/modprobe.d/asus_nb_wmi.conf
重启后 Wi-Fi 就可以正常工作了。
重新启动后,您可能需要切换 fn 键来移除硬块。
这里是关联详细信息由 varun 和 chili555 提供。