Fedora Linux Broadcom b43 BCM43228 Wireless Driver Installation

last updated in Categories , , ,

I am using Dell / Lenovo laptop with Broadcom’s IEEE 802.11a/b/g/n based wireless card. How can I install Broadcom-wl STA BCM4322 Wireless driver on a Fedora Linux version 30/31? How can I install kmod-wl and BMC firmware on Fedora Linux?

Broadcom’s IEEE 802.11a/b/g/n driver can be installed on any Linux disruption including Fedora Linux version 20. This page explains how to enable and install Broadcom b43 driver under a Fedora Linux v29/30/31. The driver (broadcom-wl and kmod-wl) works with the following Wireless chipsets only:

  • BCM4311
  • BCM4312
  • BCM4313
  • BCM4321
  • BCM4322
  • BCM43224
  • BCM43225
  • BCM43227
  • BCM43228

Fedora Linux Broadcom b43 BCM43228 wl Wireless Driver

Steps to install Broadcom b43 are as follows for Dell/HP/Lenovo Thinkpads:

  1. Open the terminal application
  2. Find your wifi chipset on Fedora Linux
  3. Enable rpmfusion repo using the dnf command
  4. Install b43 driver firmware by typing sudo dnf install kmod-wl
  5. Reboot the Fedora laptop to enable Broadcom b43 BCM43228 driver
  6. Connect to Wifi AP

Let us see all commands and steps in details.

The error message

When you run the dmesg command along with grep command:
dmesg
dmesg | grep -i b43

Sample outputs:

[   58.738021] Broadcom 43xx driver loaded [ Features: PNLS ]
[   58.738159] b43 bcma0:1: Direct firmware load for b43/ucode30_mimo.fw failed with error -2
[   58.738213] b43 bcma0:1: Direct firmware load for b43/ucode30_mimo.fw failed with error -2
[   58.738560] b43 bcma0:1: Direct firmware load for b43-open/ucode30_mimo.fw failed with error -2
[   58.738608] b43 bcma0:1: Direct firmware load for b43-open/ucode30_mimo.fw failed with error -2
[   58.738612] b43-phy0 ERROR: Firmware file "b43/ucode30_mimo.fw" not found
[   58.738614] b43-phy0 ERROR: Firmware file "b43-open/ucode30_mimo.fw" not found
[   58.738616] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.

You need to install b43/ucode30_mimo firmware for Fedora Linux 30 to activate your wifi card.

Finding out your chipset / wireless card name on a Fedora Linux

Open the terminal app and type the following lspci command:
$ lspci
$ lspci | grep -i broadcom

Sample outputs:

Fig.01: Fedora Linux Find Supported Broadcom  Wireless Devices Name/Chipset
Fig.01: Fedora Linux Find Supported Broadcom Wireless Devices Name/Chipset

How do I use Broadcom wireless cards in Fedora version 28/29/30/31?

Fedora Linux provides a version of this driver via rpmfusion repo. All you need to do is configure rpmfusion repo and install the driver.

Step 1. Enable rpmfusion repo

Open the Terminal app and type the following command:
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Enable rpmfusion repo for Fedora Linux b43 BCM43228 installation

Step 2. Install Broadcom Wireless b43 Driver firmware on Fedora Linux

Type the following dnf command:
$ sudo dnf search kmod-wl
$ sudo dnf info kmod-wl
## *** update the system *** ##
$ sudo yum update
## *** if a new kernel was installed reboot the system *** ##
$ sudo reboot
## *** Install kmod-wl *** ##
$ sudo dnf install kmod-wl

Sample outputs:

Last metadata expiration check: 0:02:58 ago on Monday 21 October 2019 04:17:08 PM IST.
Dependencies resolved.
================================================================================================================================================
 Package                         Architecture     Version                                             Repository                           Size
================================================================================================================================================
Installing:
 kmod-wl                         x86_64           6.30.223.271-30.fc30                                rpmfusion-nonfree-updates            10 k
Installing dependencies:
 akmods                          noarch           0.5.6-20.fc30                                       updates                              23 k
 annobin                         x86_64           8.71-3.fc30                                         updates                             107 k
 elfutils-libelf-devel           x86_64           0.177-1.fc30                                        updates                              23 k
 fakeroot                        x86_64           1.24-2.fc30                                         updates                              91 k
 fakeroot-libs                   x86_64           1.24-2.fc30                                         updates                              34 k
 kernel-devel                    x86_64           5.3.6-200.fc30                                      updates                              13 M
 kmodtool                        noarch           1-34.fc30                                           updates                              13 k
 nim-srpm-macros                 noarch           2-1.fc30                                            updates                             8.2 k
 patch                           x86_64           2.7.6-11.fc30                                       updates                             126 k
 qt5-srpm-macros                 noarch           5.12.5-1.fc30                                       updates                             8.9 k
 redhat-rpm-config               noarch           130-1.fc30                                          updates                              63 k
 rpm-build                       x86_64           4.14.2.1-5.fc30                                     updates                             106 k
 rust-srpm-macros                noarch           10-1.fc30                                           updates                             9.5 k
 zlib-devel                      x86_64           1.2.11-18.fc30                                      updates                              46 k
 zstd                            x86_64           1.4.2-1.fc30                                        updates                             371 k
 dwz                             x86_64           0.12-10.fc30                                        fedora                              102 k
 efi-srpm-macros                 noarch           4-2.fc30                                            fedora                               23 k
 fpc-srpm-macros                 noarch           1.2-1.fc30                                          fedora                              7.5 k
 ghc-srpm-macros                 noarch           1.4.2-9.fc30                                        fedora                              7.6 k
 gnat-srpm-macros                noarch           4-9.fc30                                            fedora                              8.5 k
 go-srpm-macros                  noarch           2-19.fc30                                           fedora                               11 k
 ocaml-srpm-macros               noarch           5-5.fc30                                            fedora                              7.7 k
 openblas-srpm-macros            noarch           2-5.fc30                                            fedora                              7.3 k
 perl-srpm-macros                noarch           1-29.fc30                                           fedora                              8.2 k
 python-srpm-macros              noarch           3-42.fc30                                           fedora                               11 k
 rpmdevtools                     noarch           8.10-8.fc30                                         fedora                               91 k
 xemacs-filesystem               noarch           21.5.34-33.20190323hgc0ed7ef9a5a1.fc30              fedora                               10 k
 akmod-wl                        x86_64           6.30.223.271-30.fc30                                rpmfusion-nonfree-updates           5.5 M
 broadcom-wl                     noarch           6.30.223.271-13.fc30                                rpmfusion-nonfree-updates            25 k

Transaction Summary
================================================================================================================================================
Install  30 Packages

Total download size: 20 M
Installed size: 63 M
Is this ok [y/N]: y

Step 3. Reboot the system

Type the following reboot command to reboot the Linux based system:
$ sudo reboot

Step 4. Verify and connect to the Wireless network

Type the following command to verify that wireless interface for Broadcom b43 is up and running using ip command:
$ ifconfig
$ ip a s
$ iwconfig
$ sudo lshw -C network -short
$ nmcli -f GENERAL,WIFI-PROPERTIES dev show wlp1s0

Fedora Linux Broadcom b43 installation and verification

Step 5. How to connect to Wi-Fi network

Now that fimrware installed and wifi card activated, we can connect to our wireless network using Network Manager (top right side) > Select Wi-Fi > Select Network > Select a network > Connect > Enter password for wireless network:

Fig.02: Fedora Linux Wireless Connection
Fig.02: Fedora Linux Wireless Connection for bc43

Conclusion

You learned how to install Broadcom’s proprietary drivers and firmware (bc43) under Fedora 28/29/30/31 using the command line. If possible, always get an Intel-based wifi card for Linux laptop.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Start the discussion at www.nixcraft.com

Historical Comment Archive

26 comment

  1. Hello, thank you for the amazing guide. I am having an issue with step #2
    I am entering # yum search kmod-wl —–and getting

    [root@localhost ~]# yum search kmod-wl
    Loaded plugins: langpacks, refresh-packagekit
    ============================= N/S matched: kmod-wl =============================
    akmod-wl.x86_64 : Akmod package for wl kernel module(s)
    kmod-wl.x86_64 : Metapackage which tracks in wl kernel module for newest kernel
    kmod-wl-3.11.10-301.fc20.x86_64.x86_64 : wl kernel module(s) for
                                           : 3.11.10-301.fc20.x86_64
    kmod-wl-3.12.10-300.fc20.x86_64.x86_64 : wl kernel module(s) for
                                           : 3.12.10-300.fc20.x86_64
    kmod-wl-3.12.5-302.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.12.5-302.fc20.x86_64
    kmod-wl-3.12.6-300.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.12.6-300.fc20.x86_64
    kmod-wl-3.12.7-300.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.12.7-300.fc20.x86_64
    kmod-wl-3.12.8-300.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.12.8-300.fc20.x86_64
    kmod-wl-3.12.9-300.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.12.9-300.fc20.x86_64
    kmod-wl-3.12.9-301.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.12.9-301.fc20.x86_64
    kmod-wl-3.13.10-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                           : 3.13.10-200.fc20.x86_64
    kmod-wl-3.13.3-201.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.13.3-201.fc20.x86_64
    kmod-wl-3.13.4-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.13.4-200.fc20.x86_64
    kmod-wl-3.13.5-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.13.5-200.fc20.x86_64
    kmod-wl-3.13.6-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.13.6-200.fc20.x86_64
    kmod-wl-3.13.7-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.13.7-200.fc20.x86_64
    kmod-wl-3.13.8-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.13.8-200.fc20.x86_64
    kmod-wl-3.13.9-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.13.9-200.fc20.x86_64
    kmod-wl-3.14.1-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.14.1-200.fc20.x86_64
    kmod-wl-3.14.2-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.14.2-200.fc20.x86_64
    kmod-wl-3.14.3-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.14.3-200.fc20.x86_64
    kmod-wl-3.14.4-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.14.4-200.fc20.x86_64
    kmod-wl-3.14.5-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.14.5-200.fc20.x86_64
    kmod-wl-3.14.6-200.fc20.x86_64.x86_64 : wl kernel module(s) for
                                          : 3.14.6-200.fc20.x86_64
    

    Name and summary matches only, use “search all” for everything.

    But when I use # yum install kmod-wl —- I am getting

    [root@localhost ~]# yum install kmod-wl

    Loaded plugins: langpacks, refresh-packagekit
    Resolving Dependencies
    –> Running transaction check
    —> Package kmod-wl.x86_64 0:6.30.223.141-5.fc20.24 will be installed
    –> Processing Dependency: kmod-wl-3.14.6-200.fc20.x86_64 >= 6.30.223.141-5.fc20.24 for package: kmod-wl-6.30.223.141-5.fc20.24.x86_64
    –> Running transaction check
    —> Package kmod-wl-3.14.6-200.fc20.x86_64.x86_64 0:6.30.223.141-5.fc20.24 will be installed
    –> Processing Dependency: kernel-uname-r = 3.14.6-200.fc20.x86_64 for package: kmod-wl-3.14.6-200.fc20.x86_64-6.30.223.141-5.fc20.24.x86_64
    –> Processing Dependency: wl-kmod-common >= 6.30.223.141 for package: kmod-wl-3.14.6-200.fc20.x86_64-6.30.223.141-5.fc20.24.x86_64
    –> Running transaction check
    —> Package broadcom-wl.noarch 0:6.30.223.141-2.fc20 will be installed
    —> Package kmod-wl-3.14.6-200.fc20.x86_64.x86_64 0:6.30.223.141-5.fc20.24 will be installed
    –> Processing Dependency: kernel-uname-r = 3.14.6-200.fc20.x86_64 for package: kmod-wl-3.14.6-200.fc20.x86_64-6.30.223.141-5.fc20.24.x86_64
    –> Finished Dependency Resolution
    Error: Package: kmod-wl-3.14.6-200.fc20.x86_64-6.30.223.141-5.fc20.24.x86_64 (rpmfusion-nonfree-updates)
    Requires: kernel-uname-r = 3.14.6-200.fc20.x86_64
    Installed: kernel-3.11.10-301.fc20.x86_64 (@koji-override-0/$releasever)
    kernel-uname-r = 3.11.10-301.fc20.x86_64
    Installed: kernel-3.14.7-200.fc20.x86_64 (@updates)
    kernel-uname-r = 3.14.7-200.fc20.x86_64
    Available: kernel-debug-3.11.10-301.fc20.x86_64 (fedora)
    kernel-uname-r = 3.11.10-301.fc20.x86_64+debug
    Available: kernel-debug-3.14.7-200.fc20.x86_64 (updates)
    kernel-uname-r = 3.14.7-200.fc20.x86_64+debug
    You could try using –skip-broken to work around the problem
    You could try running: rpm -Va –nofiles –nodigest

    I am a complete Linux noob, please help

  2. I could not install kmod-wl .The following error occurs during the installation.
    [root@localhost ~]# yum install kmod-wl
    And it said:

    Loaded plugins: langpacks, refresh-packagekit
    Resolving Dependencies
    --> Running transaction check
    ---> Package kmod-wl.x86_64 0:6.30.223.141-5.fc20.26 will be installed
    --> Processing Dependency: kmod-wl-3.14.8-200.fc20.x86_64 >= 6.30.223.141-5.fc20.26 for package: kmod-wl-6.30.223.141-5.fc20.26.x86_64
    --> Running transaction check
    ---> Package kmod-wl-3.14.8-200.fc20.x86_64.x86_64 0:6.30.223.141-5.fc20.26 will be installed
    --> Processing Dependency: kernel-uname-r = 3.14.8-200.fc20.x86_64 for package: kmod-wl-3.14.8-200.fc20.x86_64-6.30.223.141-5.fc20.26.x86_64
    --> Finished Dependency Resolution
    Error: Package: kmod-wl-3.14.8-200.fc20.x86_64-6.30.223.141-5.fc20.26.x86_64 (rpmfusion-nonfree-updates)
               Requires: kernel-uname-r = 3.14.8-200.fc20.x86_64
               Installed: kernel-3.11.10-301.fc20.x86_64 (@koji-override-0/$releasever)
                   kernel-uname-r = 3.11.10-301.fc20.x86_64
               Installed: kernel-3.14.9-200.fc20.x86_64 (@updates)
                   kernel-uname-r = 3.14.9-200.fc20.x86_64
               Available: kernel-debug-3.11.10-301.fc20.x86_64 (fedora)
                   kernel-uname-r = 3.11.10-301.fc20.x86_64+debug
               Available: kernel-debug-3.14.9-200.fc20.x86_64 (updates)
                   kernel-uname-r = 3.14.9-200.fc20.x86_64+debug
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
    [root@localhost ~]#

    1. Any reply to this for a fix? I’m having the same problem with my hp dv6000? I’d appreciate any assistance I can get because I need this running for a class I’m taking. Thanks!!!!!

  3. after running lspci | grep -i broadcom command i get the output as follow
    Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)
    Subsystem: Lenovo Device 0611
    Kernel driver in use: bcma-pci-bridge
    Kernel modules: bcma

    the chipset is not listed above..any way by which i can install,wifi drivers onnn my laptop

  4. Thanks!!

    I was searching for hours how to solve it. I followed your steps and in 5 minutes I completed it!

    Wifi is now working. Thanks a lot!

  5. Hello. I’m relatively new at Fedora but i am loving it. My DELL Vostro 1710 had the same problem after installing Fedora 20. Your tutorial saved my day. After that everything work fine, until the last update. 3.14.8. If i open with version 3.14.7 wireless is working, but the new one doesn’t. I’ve tried ti repeat the steps but no luck… Anyone has any idea what is the problem?? Thanks…

  6. Hi there, I’m receiving this error and needed urgent assistance so that I can use my computer for class. Any and all help is appreciated. I’m using Fedora 20 on an HP dv6000.

    Error:
    [root@localhost khunt]# yum install kmod-wl

    Loaded plugins: langpacks, refresh-packagekit
    rpmfusion-free-updates                           | 3.3 kB  00:00     
    rpmfusion-nonfree-updates                        | 3.3 kB  00:00     
    updates/20/x86_64/metalink                       |  17 kB  00:00     
    Resolving Dependencies
    --> Running transaction check
    ---> Package kmod-wl.x86_64 0:6.30.223.248-4.fc20.6 will be installed
    --> Processing Dependency: kmod-wl-3.17.7-200.fc20.x86_64 >= 6.30.223.248-4.fc20.6 for package: kmod-wl-6.30.223.248-4.fc20.6.x86_64
    --> Running transaction check
    ---> Package kmod-wl-3.17.7-200.fc20.x86_64.x86_64 0:6.30.223.248-4.fc20.6 will be installed
    --> Processing Dependency: kernel-uname-r = 3.17.7-200.fc20.x86_64 for package: kmod-wl-3.17.7-200.fc20.x86_64-6.30.223.248-4.fc20.6.x86_64
    --> Processing Dependency: wl-kmod-common >= 6.30.223.248 for package: kmod-wl-3.17.7-200.fc20.x86_64-6.30.223.248-4.fc20.6.x86_64
    --> Running transaction check
    ---> Package broadcom-wl.noarch 0:6.30.223.248-1.fc20 will be installed
    ---> Package kmod-wl-3.17.7-200.fc20.x86_64.x86_64 0:6.30.223.248-4.fc20.6 will be installed
    --> Processing Dependency: kernel-uname-r = 3.17.7-200.fc20.x86_64 for package: kmod-wl-3.17.7-200.fc20.x86_64-6.30.223.248-4.fc20.6.x86_64
    --> Finished Dependency Resolution
    Error: Package: kmod-wl-3.17.7-200.fc20.x86_64-6.30.223.248-4.fc20.6.x86_64 (rpmfusion-nonfree-updates)
               Requires: kernel-uname-r = 3.17.7-200.fc20.x86_64
               Installed: kernel-3.11.10-301.fc20.x86_64 (@koji-override-0/$releasever)
                   kernel-uname-r = 3.11.10-301.fc20.x86_64
               Installed: kernel-3.17.8-200.fc20.x86_64 (@updates)
                   kernel-uname-r = 3.17.8-200.fc20.x86_64
               Available: kernel-debug-3.11.10-301.fc20.x86_64 (fedora)
                   kernel-uname-r = 3.11.10-301.fc20.x86_64+debug
               Available: kernel-debug-3.17.8-200.fc20.x86_64 (updates)
                   kernel-uname-r = 3.17.8-200.fc20.x86_64+debug
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
  7. Bhai nitesh …my chipset is also same as like your BCM43142
    SO you found any solution to install driver for this
    If you found it than pls help me

  8. Thank you very much. I was getting very frustrated trying to have Fedora on my laptop with Windows 10 and having no wireless with linux. This worked great with the Broadcom BCM43142 controller on a HP Pavilion .

  9. works perfect on my Dell Latitude E6530 with
    Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n.
    Thank you very much !

  10. Thank you! I tried the official fedoraproject forum and stackexchange unix forum but yours finally did it.

    Still, have a question? Get help on our forum!