XPS 13 brcmfmac BRCMF_C_GET_ASSOCLIST 不受支持

XPS 13 brcmfmac BRCMF_C_GET_ASSOCLIST 不受支持

首先,我想指出的是,这个问题也曾被问过在 Arch 论坛上没有成功。从那条简短的帖子中可以获得更多背景信息。我在这里发帖是为了扩大受众范围,因为它似乎不是针对 Arch 的(基于另一位 XPS 用户的回复)。

我有一台戴尔 XPS 13 (9350) 笔记本电脑。我会经常(大约每天一两次,但时间不同,而且并不总是在明显事件(例如合上盖子或挂起)后)断开连接。也就是说,i3bar 会告诉我我仍处于连接状态,并且我仍有一个 IP,但没有任何服务器的 ping 响应。

在这种状态下,当我尝试使用更改无线连接时netctl-auto switch-to,我得到

WPA association/authentication failed for interface 'wlp58s0'

(显然所有键都是正确的,因为连接在其他时间有效。)唯一能解决这种状态的方法似乎就是重新启动,而且它总能解决问题。

在重启期间我经常会看到此消息(请参阅下面的journalctl输出):

brcmfmac: brcmf_msgbuf_tx_ioctl: Failed to reserve space in commonring

一些细节:

~$ lspci -vnn | grep -i net
3a:00.0 Network controller [0280]: Broadcom Limited BCM4350 802.11ac Wireless Network Adapter [14e4:43a3] (rev 08)
    Subsystem: Dell BCM4350 802.11ac Wireless Network Adapter [1028:0021]

~$ lsmod | grep brcmfmac
brcmfmac              233472  0
brcmutil               16384  1 brcmfmac
cfg80211              516096  1 brcmfmac
mmc_core              122880  2 rtsx_pci_sdmmc,brcmfmac
usbcore               208896  7 uvcvideo,usbhid,cdc_acm,xhci_pci,brcmfmac,btusb,xhci_hcd

~$ pacman -Q linux
linux 4.13.3-1

幸运的是,当我输入这段文字时,它又发生了。这是journalctl | grep brcmfmac我今天早上打开笔记本电脑(冷启动)后的输出:

Sep 29 08:04:09 thelonious kernel: usbcore: registered new interface driver brcmfmac
Sep 29 08:04:09 thelonious kernel: brcmfmac 0000:3a:00.0: enabling device (0000 -> 0002)
Sep 29 08:04:11 thelonious kernel: brcmfmac 0000:3a:00.0: Direct firmware load for brcm/brcmfmac4350-pcie.txt failed with error -2
Sep 29 08:04:11 thelonious kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 22 2015 06:16:26 version 7.35.180.119 (r594535) FWID 01-e791c176
Sep 29 08:04:11 thelonious kernel: brcmfmac 0000:3a:00.0 wlp58s0: renamed from wlan0
Sep 29 08:55:42 thelonious kernel: brcmfmac: brcmf_msgbuf_query_dcmd: Timeout on response for query command
Sep 29 08:55:42 thelonious kernel: brcmfmac: brcmf_cfg80211_dump_station: BRCMF_C_GET_ASSOCLIST unsupported, err=-5
Sep 29 08:55:44 thelonious kernel: brcmfmac: brcmf_msgbuf_query_dcmd: Timeout on response for query command
... snip multiple identical errors ...
Sep 29 08:57:57 thelonious kernel: brcmfmac: brcmf_cfg80211_dump_station: BRCMF_C_GET_ASSOCLIST unsupported, err=-5
Sep 29 08:57:57 thelonious kernel: brcmfmac: brcmf_msgbuf_tx_ioctl: Failed to reserve space in commonring
Sep 29 08:57:57 thelonious kernel: brcmfmac: brcmf_cfg80211_dump_station: BRCMF_C_GET_ASSOCLIST unsupported, err=-12
Sep 29 08:58:00 thelonious kernel: brcmfmac: brcmf_msgbuf_tx_ioctl: Failed to reserve space in commonring
... snip multiple identical errors ...
Sep 29 08:58:20 thelonious kernel: brcmfmac: brcmf_msgbuf_tx_ioctl: Failed to reserve space in commonring
Sep 29 08:58:20 thelonious kernel: brcmfmac: brcmf_cfg80211_dump_station: BRCMF_C_GET_ASSOCLIST unsupported, err=-12

内核模块出现此类故障后,仅重新启动服务也于事无补:

~$ sudo systemctl restart [email protected]
A dependency job for [email protected] failed. See 'journalctl -xe' for details.

~$ sudo journalctl -xe 
Sep 30 10:51:58 thelonious sudo[3626]:    basie : TTY=pts/2 ; PWD=/home/basie ; USER=root ; COMMAND=/usr/bin/systemctl restart netctl-auto@wlp5
Sep 30 10:51:58 thelonious sudo[3626]: pam_unix(sudo:session): session opened for user root by (uid=0)
Sep 30 10:51:58 thelonious systemd[1]: Unnecessary job for sys-subsystem-net-devices-wlp57s0.device was removed.
-- Subject: Unit sys-subsystem-net-devices-wlp57s0.device has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit sys-subsystem-net-devices-wlp57s0.device has failed.
-- 
-- The result is collected.
Sep 30 10:51:58 thelonious systemd[1]: [email protected]: Bound to unit sys-subsystem-net-devices-wlp57s0.device, but unit isn't acti
Sep 30 10:51:58 thelonious systemd[1]: Dependency failed for Automatic wireless network connection using netctl profiles.
-- Subject: Unit [email protected] has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit [email protected] has failed.
-- 
-- The result is dependency.
Sep 30 10:51:58 thelonious systemd[1]: [email protected]: Job [email protected]/start failed with result 'dependency'.
Sep 30 10:51:58 thelonious sudo[3626]: pam_unix(sudo:session): session closed for user root
Sep 30 10:52:00 thelonious kernel: brcmfmac: brcmf_msgbuf_tx_ioctl: Failed to reserve space in commonring
Sep 30 10:52:00 thelonious kernel: brcmfmac: brcmf_cfg80211_dump_station: BRCMF_C_GET_ASSOCLIST unsupported, err=-12
...snip identical messages...
Sep 30 10:52:05 thelonious kernel: brcmfmac: brcmf_cfg80211_dump_station: BRCMF_C_GET_ASSOCLIST unsupported, err=-12
Sep 30 10:52:10 thelonious kernel: net_ratelimit: 2 callbacks suppressed
Sep 30 10:52:10 thelonious kernel: brcmfmac: brcmf_msgbuf_tx_ioctl: Failed to reserve space in commonring
...etc...

因此,有两个问题:

  1. 我可以采取哪些进一步的步骤来诊断这个问题?显然,模块正在接收它不支持的命令(我注意到这个补丁来自 2015 年https://patchwork.kernel.org/patch/7354871/),但我不知道接下来该去哪里。
  2. 重新启动可以解决这个问题吗?我可以从终端尝试缩小搜索范围吗?

答案1

我得到了同样的

brcmfmac:brcmf_msgbuf_tx_ioctl:无法在 commonring 中预留空间

在我的 XPS 15 (9550) 上反复出现这种情况,当 wifi 断线时,通常是在睡眠/唤醒后。通常我可以用

$ sudo modprobe -r brcmfmac; sudo modprobe brcmfmac

避免重启。

相关内容