Monday, August 29, 2011

How To Install Broadcom BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43224, BCM43225, BCM43227 and BCM43228 Wireless NICs On CentOS 6

Hello Everybody,

Today, I am going to explain how to install Broadcom wireless NIC cards on CentOS 6.0. First, you should determine which Wlan chip or Wlan controller do you have. Login as root and run the following command:

[root@Centos6 ~]# lspci | grep Broadcom
02:00.0 Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01) 

As you see, my computer has BCM43224 Wlan chip. So, if your computer has one of the following Wlan chips or Wlan Network Controllers (BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43224, BCM43225, BCM43227 and BCM43228), your computer will install the wireless after running the instructions below:

  1. yum install kernel-headers kernel-devel gcc 
  2. Go to this link **Click Here** and download the Broadcom Linux Driver (64 or 32 bits)
  3. mkdir -p /usr/local/khosro/taraghi-wl 
  4. cd /usr/local/khosro/taraghi-wl 
  5. tar xvfz /home/khosro/Download/hybrid-portsrc_x86_64-v5_100_82_38.tar.gz (You should change the path to the actual path of your tarball that you downloaded)
  6. make -C /lib/modules/`uname -r`/build/ M=`pwd`           ====>Your output should look something like this:
    make: Entering directory `/usr/src/kernels/2.6.32-71.29.1.el6.x86_64'
     LD      /usr/local/khosro/taraghi-wl/built-in.o
     CC [M]  /usr/local/
    khosro/taraghi-wl/src/shared/linux_osl.o
     CC [M]  /usr/local/
    khosro/taraghi-wl/src/wl/sys/wl_linux.o
     CC [M]  /usr/local/
    khosro/taraghi-wl/src/wl/sys/wl_iw.o
     LD [M]  /usr/local/
    khosro/taraghi-wl/wl.o
     Building modules, stage 2.
     MODPOST 1 modules
     CC      /usr/local/
    khosro/taraghi-wl/wl.mod.o
     LD [M]  /usr/local/
    khosro/taraghi-wl/wl.ko.unsigned
     NO SIGN [M] /usr/local/
    khosro/taraghi-wl/wl.ko
    make: Leaving directory `/usr/src/kernels/2.6.32-71.29.1.el6.x86_64'
  7. rmmod bcm43xx 
  8. rmmod b43 
  9. insmod wl.ko  ====> Load the driver module 
  10. cp -vi /usr/local/khosro/taraghi-wl/wl.ko /lib/modules/`uname -r`/extra/  
  11. depmod $(uname -r) ===> To create module dependencies
  12. vim /etc/modprobe.d/blacklist.conf     ===>And add the following lines under "# framebuffer drivers" to prevent these modules from being loaded into kernel at boot time:
blacklist bcm43xx
blacklist b43

Save the file. Now, you should see the available wirelesses under Wireless Network if you click on Wired Network icon ,usually, on top right.

Regards,
Khosro Taraghi

10 comments:

  1. Hey! I work the tutorial.
    When I run make-C / lib / modules / `uname-r` / build / M = `pwd`
    I respond with:
    -bash: make: command not found
    Do you know why?

    ReplyDelete
  2. You are AWESOME!!!!!

    Ran into a couple of things but following the common issues sections at:

    http://www.broadcom.com/docs/linux_sta/README.txt

    Will help you get through it.

    Thanks again for this!!

    ReplyDelete
  3. For anyone who had issues with make
    type : yum groupinstall Development Tools
    in terminal so it can install the make function

    ReplyDelete
  4. WHile make I am getting error. Last few lines are as below

    /usr/local/pchaturvedi/broadcom-wl/src/wl/sys/wl_cfg80211.c:2149: error: too few arguments to function ‘cfg80211_roamed’
    make[1]: *** [/usr/local/pchaturvedi/broadcom-wl/src/wl/sys/wl_cfg80211.o] Error 1
    make: *** [_module_/usr/local/pchaturvedi/broadcom-wl] Error 2
    make: Leaving directory `/usr/src/kernels/2.6.32-358.2.1.el6.x86_64'

    ReplyDelete
    Replies
    1. Hi .Did you solve it because I'm getting the same?

      Delete
  5. same error as Mr Prashant C Chaturvedi

    ReplyDelete
  6. Just came over to briefly introduce ourselves as a commercial blacklist provider without spamming up your boards too much I hope.

    Good morning!

    We are currently looking for entities interested in our publications!

    We are the worlds first, and the leading publisher of Squid 'Native ACL' formatted blacklists. Our works far outclass the other blacklist options. We have better blacklists, including ACL lists that allow for web filtering directly with Squid proxy. Of course we also offer alternative formats to ensure compatibility with the most widely used third party plugins and applications, such as DansGuardian and Squidguard, among many other platforms that are currently being used with our works.

    And while our blacklists are subscription based, they are as a result of our efforts, of a much higher degree of quality than the free alternatives.

    There is a demand for a better blacklist, we intend to fill that gap,

    We hope to serve you,

    --
    Signed,

    Benjamin E. Nichols
    http://www.squidblacklist.org

    ReplyDelete