内核更新至 5.19.0-40-generic 后找不到 wifi 适配器

内核更新至 5.19.0-40-generic 后找不到 wifi 适配器

多年来我一直使用同一个无线设备(华硕 PCE-AC88)。几个月前的一天,我启动了 ubuntu,系统提示未找到 wifi 适配器。在尝试了各种方法但都无济于事后,我刚刚从 20.04 升级到 22.04,问题就解决了。几周后,同样的问题又出现了,出于沮丧,我干脆重新格式化了全新安装的 Ubuntu 22.04。现在,几周后,我又遇到了同样的问题。未找到 wifi 适配器。但是,如果我启动到以前的内核版本(5.19.0-38-generic),它就可以正常工作了。

我不确定是否是特定的内核版本 5.19.0-40-generic 导致了该问题,或者是否仅仅是更新内核的过程导致了该问题。

以下是我从 5.19.0-38-generic 运行它时的输出:

$ lshw -C network

*-network                 
      description: Wireless interface
      product: Broadcom Inc. and subsidiaries
      vendor: Broadcom Inc. and subsidiaries
      physical id: 0
      bus info: pci@0000:02:00.0
      logical name: wlp2s0
      version: 04
      serial: 2c:fd:a1:cf:33:f2
      width: 64 bits
      clock: 33MHz
      capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
      configuration: broadcast=yes driver=brcmfmac driverversion=10.28.2 firmware=01-d2cbb8fd ip=192.168.2.29 latency=0 multicast=yes wireless=IEEE 802.11
      resources: irq:33 memory:f7000000-f7007fff memory:f6800000-f6ffffff memory:f2400000-f27fffff

$ lspci

02:00.0 Network controller: Broadcom Inc. and subsidiaries Device 43c3 (rev 04)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11)

当我从 5.19.0-40-generic 运行它时的输出:

$ lshw -C network

*-network UNCLAIMED
       description: Network controller
       product: Broadcom Inc. and subsidiaries
       vendor: Broadcom Inc. and subsidiaries
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 04
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: memory:f7000000-f7007fff memory:f6800000-f6ffffff memory:f2400000-f27fffff

$ lspci

02:00.0 Network controller: Broadcom Inc. and subsidiaries Device 43c3 (rev 04)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11)

我尝试过:

$ sudo apt install linux-modules-extra-5.19.0-40-generic

和:

sudo apt install --reinstall linux-generic

两者都不起作用。

编辑#1:我运行sudo dmesg并注意到了一些事情,在启动时5.19.0-38-generic我得到了以下条目:

$ sudo dmesg | grep brcmfmac
[    2.718401] usbcore: registered new interface driver brcmfmac
[    2.718432] brcmfmac 0000:02:00.0: enabling device (0000 -> 0002)
[    2.827304] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM4366/4
[    2.842972] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.ASUS-All Series.bin failed with error -2
[    2.856732] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.ASUS-All Series.txt failed with error -2
[    2.856759] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[    3.782706] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM4366/4
[    3.782781] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    3.783002] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4366/4 wl0: Nov  5 2018 03:19:56 version 10.28.2 (r769115) FWID 01-d2cbb8fd
[    3.810242] brcmfmac 0000:02:00.0 wlp2s0: renamed from wlan0

似乎它尝试加载驱动程序,失败了,但随后再次成功。

但是启动日志5.19.0-40-generic只尝试一次:

$ sudo dmesg | grep brcmfmac
[    2.667203] usbcore: registered new interface driver brcmfmac
[    2.667244] brcmfmac 0000:02:00.0: enabling device (0000 -> 0002)
[    2.775257] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4366c-pcie for chip BCM4366/4
[    2.792232] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.ASUS-All Series.bin failed with error -2
[    2.797133] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.ASUS-All Series.txt failed with error -2
[    2.797165] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac4366c-pcie.txt failed with error -2
[    3.773927] brcmfmac 0000:02:00.0: brcmf_pcie_init_ringbuffers: invalid max_flowrings(264)

编辑#2

结果是5.19.0-40-generic内核引入了影响我的特定 wifi 适配器的回归。这次提交max_flow_rings引入了对内部数量的检查brcmf_pcie_init_ringbuffers,如果超过 256 则返回错误。我的卡要求 264。这个问题在 5.19.0-42 中得到了修复,这次提交

我不确定更新的正确方法5.19.0-42-generic,最新版本sudo apt-cache search linux-image-5.19.0-5.19.0-40-generic

相关内容