BCM43228 自内核 3.15.xx 起不再工作

BCM43228 自内核 3.15.xx 起不再工作

从那时起yum update,我的 WiFi 就断开了。该命令rfkill list返回:

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

我发现我必须这样做,rmmod hp-wmi并且我做到了,并且在执行此操作后软(在上面的输出中看到)没有被阻止,但问题仍然存在。

细节:

$ uname -a
3.15.10-200.fc20.x86_64 #1 SMP Thu Aug 14 15:39:24 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ iwconfig 
lo        no wireless extensions.

em1       no wireless extensions.

wlo1      IEEE 802.11abg  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off


$ ifconfig 
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 88.177.227.149  netmask 255.255.255.0  broadcast 88.177.227.255
        inet6 fe80::a65d:36ff:fe99:86e6  prefixlen 64  scopeid 0x20<link>
        ether a4:5d:36:99:86:e6  txqueuelen 1000  (Ethernet)
        RX packets 2307  bytes 1166280 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2666  bytes 364291 (355.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  memory 0xd0400000-d0420000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Boucle locale)
        RX packets 88  bytes 6968 (6.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 88  bytes 6968 (6.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlo1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::3623:87ff:fe49:df30  prefixlen 64  scopeid 0x20<link>
        ether 34:23:87:49:df:30  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 19 


$ lspci -k | grep -A 3 -i network
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
    Subsystem: Hewlett-Packard Company Device 176b
    Kernel driver in use: e1000e
    Kernel modules: e1000e
--
04:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n
    Subsystem: Hewlett-Packard Company BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter
    Kernel driver in use: wl
    Kernel modules: bcma, wl

注意:启动后ifconfig返回:

em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.110.67  netmask 255.255.192.0  broadcast 172.20.127.255
        inet6 fe80::a65d:36ff:fe99:86e6  prefixlen 64  scopeid 0x20<link>
        ether a4:5d:36:99:86:e6  txqueuelen 1000  (Ethernet)
        RX packets 12485  bytes 3839676 (3.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4671  bytes 974683 (951.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  memory 0xd0400000-d0420000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Boucle locale)
        RX packets 16  bytes 1504 (1.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 1504 (1.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我需要去做ifconfig wlo1 up。不管怎样都行不通。

该命令dmesg | grep wl返回:

[    7.751232] wl: module license 'MIXED/Proprietary' taints kernel.
[    7.801938] systemd-udevd[494]: renamed network interface eth0 to wlo1
[  106.820202] ERROR @wl_dev_intvar_get : error (-1)
[  106.820208] ERROR @wl_cfg80211_get_tx_power : error (-1)

答案1

想法#1

我首先尝试获取最新的 Broadcom 驱动程序,可在此处获取:

想法#2

也许这篇博文是您的问题?标题:Broadcom Wireless 无法在 Fedora 20 Kernel 3.15 上运行。它详细介绍了 2 个错误,详细信息请参见此处:

以及 Gentoo bug tracker 中详细介绍的补丁:

$ curl https://513156.bugs.gentoo.org/attachment.cgi?id=378836 -o patch.txt 

本博客文章的其余步骤如下:

摘抄

我抓住了机会,将其直接应用到/tmp/wifi.补丁成功并且模块编译。

$ sudo yum install patch
$ cd /tmp/wifi && patch -p1 < patch.txt 

接下来,我需要将模块复制到 . 搜索的默认模块文件夹中modprobe

$ sudo mkdir /lib/modules/`uname -r`/extra/net/wireless
$ sudo cp wl.ko /lib/modules/`uname -r`/extra/net/wireless
$ sudo depmod -a 

接下来删除可能与此冲突的任何其他软件和驱动程序。就我而言,这意味着删除 Broadcom OpenFWWF 软件包并删除 bcma 内核模块并将其列入黑名单。

$ sudo rmmod bcma
$ sudo echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
$ sudo yum remove b43-openfwwf.noarch

要使用安装新模块modprobe

$ sudo modprobe wl

为了在启动时加载模块,我只需运行

$ sudo echo modprobe wl >> /etc/rc.local  

最后使用 NetworkManager 配置新设备。哦,还要感谢我的前同事 Steve 提供的笔记本电脑;-)

参考

相关内容