启动时出错:b43-phy0 不支持的 phy

启动时出错:b43-phy0 不支持的 phy

当我的机器启动时,我收到以下消息:

[17.789158] b43-phy0 ERROR: FOUND UNSUPPORTED PHY(Analog 10, Type 8 (LCN), Revision 1)
[21.656204] brcmsmac bcma:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
[21.656266] brcmsmac bcma:0: brcms_config: change power-save mode: false (implement)

我怎样才能解决这个问题?

答案1

https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211

看起来无线驱动程序需要更新

答案2

此消息来自我的 Broadcom BCM4313 无线芯片。关键问题是:您的 wifi 是否正常工作?虽然我在启动时收到此消息,但我的 wifi 工作正常。每次尝试让该消息消失,都以失败告终,或者 wifi 无法正常工作。因此,如果您的 wifi 正常工作,我建议忽略该消息(它会出现在不同的内核和不同的 Linux 发行版中)。

答案3

对我来说,这是因为我的计算机的 Broadcom wi-fi 芯片不受随附的开源bcma内核模块驱动程序的支持。当我运行 时没有出现无线连接,所以这肯定不是暂时的错误消息。我通过运行命令(注意:如果芯片是通过 USB 而不是 PCI 连接的,则可能必须使用)ip link识别了 wi-fi 芯片,然后找到以下行(通常是最后一行):lspci -klsusb

03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)
    Subsystem: ASUSTeK Computer Inc. Device 855c
    Kernel driver in use: bcma
    Kernel modules: bcma

wifi 芯片是 BCM4352,我们正尝试使用bcma内核模块与其交互。根据这一页在 kernel.org 上,默认内核模块不支持 BCM4352 芯片bcma;您必须改用限制许可的broadcom-wl内核模块。此驱动程序的安装过程因您的发行版而异;这里是我使用 Arch Linux 的方向。

安装后,broadcom-wl您将有两个内核模块竞争为您的 Wi-Fi 芯片提供服务 -wlbcma。您可以通过运行lspci -k并查看以下内容来看到这一点:

03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)
    Subsystem: ASUSTeK Computer Inc. Device 855c
    Kernel driver in use: wl
    Kernel modules: bcma, wl

为了防止冲突,你需要将bcma内核模块列入黑名单。我按照 Arch Linux wiki 上的说明进行了操作这里,创建一个文件,其中/etc/modprobe.d/nobcma.conf包含:

# Do not load the 'bcma' module on boot.
blacklist bcma

重新启动后,您可以运行dmesg | grep bcma检查它是否未加载,并dmesg | grep wl确保wl已加载(以及有关内核被专有代码污染的一些消息!)

我现在可以运行ip link并看到无线链接存在:

...
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 54:27:1e:30:26:61 brd ff:ff:ff:ff:ff:ff

相关内容