[CentOS] CentOS 6.5 driver for a Broadcom Corporation BCM4313 chipset

Ljubomir Ljubojevic centos at plnet.rs
Wed Jun 11 08:01:49 UTC 2014


On 06/11/2014 06:21 AM, HM Johnson wrote:
> Hello CentOS admins.
>
> I am an AIX admin bent on learning CentOS.  Yesterday I downloaded
> CentOS-6.5-x86_64-bin-DVD1.iso, burned a DVD and loaded it onto a Lenovo
> IdeaPad N585 laptop.  All went well, except for getting the integrated
> wireless to work.  Here is some info and what I tried so far.
>
> # lspci|egrep -i wireless
> 06:00.0 Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless
> Network Adapter (rev 01)
> # uname -r
> 2.6.32-431.el6.x86_64
>
> I found these instructions for building a driver for the BCM4313 chip set:
> http://wiki.centos.org/HowTos/Laptops/Wireless/Broadcom?action=show
>
> I went to this site:
> http://www.broadcom.com/support/802.11/linux_sta.php
> and downloaded this file:
> hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz
>
> No problem with this:
>    yum install kernel-headers kernel-devel gcc
>
> I extracted the file:
>    mkdir -p /usr/local/src/hybrid-wl
>    cd /usr/local/src/hybrid-wl
>    pwd
>    tar xvfz /root/Downloads/hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz
>    chown -R root.root /usr/local/src/hybrid-wl
>
> Now is where the issues begin, with the make (I know bug surprise):
> #  make -C /lib/modules/`uname -r`/build/ M=`pwd`
> make: *** /lib/modules/2.6.32-431.el6.x86_64/build/: No such file or
> directory.  Stop.
>
> Build does not exist? Let's investigate this:
> # (cd /lib/modules/2.6.32-431.el6.x86_64/ ; ls -l)|egrep build
> lrwxrwxrwx.  1 root root     46 Jun  7 20:11 build ->
> ../../../usr/src/kernels/2.6.32-431.el6.x86_64
> lrwxrwxrwx.  1 root root      5 Jun  7 20:11 source -> build
>
> Ok, so build is a link, let's investigate further:
> # cd /lib/modules/2.6.32-431.el6.x86_64/
> # cd ../../../usr/src/kernels/
> # ls -l
> total 4
> drwxr-xr-x. 22 root root 4096 Jun  8 19:54 2.6.32-431.17.1.el6.x86_64
>
> Hmmm, so build is a link to:  2.6.32-431.el6.x86_64
>           but what exists is:  2.6.32-431.17.1.el6.x86_64
>
> Ok, let's try fixing the link:
> # cd /lib/modules/2.6.32-431.el6.x86_64/
> # mv build build.bad
> # ln -s ../../../usr/src/kernels/2.6.32-431.17.1.el6.x86_64 build
> [root at picard 2.6.32-431.el6.x86_64]# ls -l |egrep build
> lrwxrwxrwx.  1 root root     51 Jun  9 21:50 build ->
> ../../../usr/src/kernels/2.6.32-431.17.1.el6.x86_64
> lrwxrwxrwx.  1 root root     46 Jun  7 20:11 build.bad ->
> ../../../usr/src/kernels/2.6.32-431.el6.x86_64
> lrwxrwxrwx.  1 root root      5 Jun  7 20:11 source -> build
> # ls -ld build
> lrwxrwxrwx. 1 root root 51 Jun  9 21:50 build ->
> ../../../usr/src/kernels/2.6.32-431.17.1.el6.x86_64
>
> Ok, build is now a link pointing to something that exists, lets try the
> make again:
> # cd /usr/local/src/hybrid-wl
> # ls -l
> total 20
> -rw-r--r--. 1 root root    8 Jun  8 20:27 built-in.o
> drwxrwxr-x. 2 root root 4096 Aug  1  2013 lib
> -rw-r--r--. 1 root root 4101 Aug  1  2013 Makefile
> drwxrwxr-x. 6 root root 4096 Aug  1  2013 src
> #  make -C /lib/modules/`uname -r`/build/ M=`pwd`
> make: Entering directory `/usr/src/kernels/2.6.32-431.17.1.el6.x86_64'
> CFG80211 API is prefered for this kernel version
> Using CFG80211 API
>    CC [M]  /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:79: warning: ‘enum
> tx_power_setting’ declared inside parameter list
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:79: warning: its
> scope is only this definition or declaration, which is probably not what
> you want
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function
> ‘wl_cfg80211_join_ibss’:
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:726: error:
> ‘struct cfg80211_ibss_params’ has no member named ‘channel’
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: At top level:
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1092: warning:
> ‘enum tx_power_setting’ declared inside parameter list
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1092: error:
> parameter 2 (‘type’) has incomplete type
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function
> ‘wl_cfg80211_set_tx_power’:
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1103: error:
> ‘TX_POWER_AUTOMATIC’ undeclared (first use in this function)
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1103: error: (Each
> undeclared identifier is reported only once
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1103: error: for
> each function it appears in.)
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1105: error:
> ‘TX_POWER_LIMITED’ undeclared (first use in this function)
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1111: error:
> ‘TX_POWER_FIXED’ undeclared (first use in this function)
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: At top level:
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1589: warning:
> initialization from incompatible pointer type
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1594: warning:
> initialization from incompatible pointer type
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1595: warning:
> initialization from incompatible pointer type
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1596: warning:
> initialization from incompatible pointer type
> /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1597: warning:
> initialization from incompatible pointer type
> etc, etc, etc for many, many lines
>
> Wow, I'm not sure where to even begin with this.
> Anyone got any ideas?
> What I'm trying to get is a CentOS 6.5 driver for a Broadcom Corporation
> BCM4313 chipset.
>

Visit www.elrepo.org and find kmod-wl package. Since firmware is not 
open source, you will get SRPM which, along with firmware you download 
manualy  you can use to create RPM which will work on all later kernels 
(no need to rebuild for newer kernels).

Forgive me for using Facebook links, but here are link where to start 
with CentOS, from our global FB group:

1. Resourcies for the beginers (Documentation, repositories, etc.):
https://www.facebook.com/groups/2371797727/doc/10150604562857728/
2. How To Ask a Question:
https://www.facebook.com/groups/2371797727/doc/10150312666807728/
3. What CentOS IS, and what is NOT?:
https://www.facebook.com/groups/2371797727/doc/10151427940017728/
4. STOP Disabling SELinux!:
https://www.facebook.com/groups/2371797727/doc/10150515843882728/
5. Software RAID on RHEL 6:
https://www.facebook.com/groups/2371797727/doc/10151254589767728/
6. Mounting NFS and Windows/CIFS/Samba filesystem via AutoFS:
https://www.facebook.com/groups/2371797727/doc/10150312742892728/
7. How to Provide Information About Your System:
https://www.centos.org/forums/viewtopic.php?f=18&t=9219
8. Installing Software:
https://www.centos.org/forums/viewtopic.php?f=18&t=9218
9. Where to Find Answers:
https://www.centos.org/forums/viewtopic.php?f=18&t=9216
10. Tutorials and presentations:
http://www.redhat.com/summit/2013/presentations/
11. Wireless, nVidia, ATI, Intel, and other drivers:
http://elrepo.org/tiki/DeviceIDs

(I should really see to create similar page on our Wiki)

-- 
Ljubomir Ljubojevic
(Love is in the Air)
PL Computers
Serbia, Europe

StarOS, Mikrotik and CentOS/RHEL/Linux consultant



More information about the CentOS mailing list