CentOS6.3安装Broadcom无线网卡驱动

DELL的笔记本上安装了CentOS6.3,没有安装无线网卡驱动,安装这个驱动,在Google上找了好多资料,,最后终于解决了这个问题。在这里做点记录,希望也能帮到别人。

我的机子是32位,CentOS的内核版本是2.6.32-279.19.1.el6.i686,下载的无线网卡驱动是hybrid-portsrc_x86_32-v5_100_82_112.tar.gz

下面是具体的步骤

一:确定无线网卡的型号,驱动下载

第一步要确定机子的无线网卡型号是什么,可以用命令

[root@CentOS ~]$/sbin/lspci | grep Broadcom02:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)或[root@CentOS ~]$lspci | grep Wireless

可见对应的驱动为:BroadcomBCM4313

下载驱动:

其中,在下载页面有一个README.txt文件,里面有一段话这样描述:

SUPPORTED DEVICES—————–The cards with the following PCI Device IDs are supported with this driver.Both Broadcom and and Dell product names are described. Cards not listedhere may also work.

BRCM PCI PCI DellProduct Name Vendor ID Device ID Product ID————- ———- ——— ———–4311 2.4 Ghz 0x14e4 0×4311 Dell 13904311 Dualband 0x14e4 0×4312 Dell 14904311 5 Ghz 0x14e4 0×43134312 2.4 Ghz 0x14e4 0×4315 Dell 13954313 2.4 Ghz 0x14e4 0×4727 Dell 15014321 Dualband 0x14e4 0×4328 Dell 15054321 Dualband 0x14e4 0×4328 Dell 15004321 2.4 Ghz 0x14e4 0×43294321 5 Ghz 0x14e4 0x432a4322 Dualband 0x14e4 0x432b Dell 15104322 2.4 Ghz 0x14e4 0x432c4322 5 Ghz 0x14e4 0x432d43224 Dualband 0x14e4 0×4353 Dell 152043225 2.4 Ghz 0x14e4 0×435743227 2.4 Ghz 0x14e4 0×435843228 Dualband 0x14e4 0×4359 Dell 1530

To find the Device ID’s of Broadcom cards on your machines do:# lspci -n | grep 14e4

运行:[jimanyu@CentOS ~]$ lspci -n | grep 14e402:00.0 0280: 14e4:4727 (rev 01)0b:00.0 0200: 14e4:1680 (rev 10)

CentOS的内核源码是放在 /usr/src/kernels 目录中; 如果通过在线升级内核, 也是放在这个目录中; 如果你的系统中的 /usr/src/kernels/ 中没有内容,说明没有安装内核的源码包 kernel-devel 软件包; 通过在线安装的内核源码包, 可以通过 yum 安装的, 内核源码会被放到 /usr/src/kernel 下的目录中

[root@host ~]# yum install kernel-headers kernel-devel gcc

如果未安装内核的源码包,在后面make的时候会报错误:

[root@CentOS hybird-wl]$ make -C /lib/modules/`uname -r`/build/ M=`pwd`make: *** /lib/modules/2.6.32-279.el6.i686/build/: No such file or directory. Stop.

二:建立安装目录

[root@CentOS ~]# mkdir -p /usr/local/src/hybrid-wl[root@CentOS hybrid-wl]# cd /usr/local/src/hybrid-wl[root@CentOS hybrid-wl]# tar xvfz /path/to/the/tarball/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz(name of the downloaded file)[root@CentOS hybrid-wl]# chown -R someuser.somegroup /usr/local/src/hybrid-wl

三:编译

[root@CentOS hybird-wl]$ make

第一次编译,报了如下的错误:

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`make[1]: Entering directory `/usr/src/kernels/2.6.32-279.el6.i686′CFG80211 API is prefered for this kernel versionUsing CFG80211 APILD /usr/local/src/hybird-wl/built-in.oCC [M] /usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.o/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:64: warning: ‘enum tx_power_setting’ declared inside parameter list/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:64: warning: its scope is only this definition or declaration, which is probably not what you want/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1110: warning: ‘enum tx_power_setting’ declared inside parameter list/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1110: error: parameter 2 (‘type’) has incomplete type/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c: In function ‘wl_cfg80211_set_tx_power’:/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1123: error: ‘TX_POWER_AUTOMATIC’ undeclared (first use in this function)/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1123: error: (Each undeclared identifier is reported only once/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1123: error: for each function it appears in.)/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1125: error: ‘TX_POWER_LIMITED’ undeclared (first use in this function)/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1131: error: ‘TX_POWER_FIXED’ undeclared (first use in this function)/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c: At top level:/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1649: warning: initialization from incompatible pointer type/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1651: warning: initialization from incompatible pointer type/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1652: warning: initialization from incompatible pointer type/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1653: warning: initialization from incompatible pointer type/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1654: warning: initialization from incompatible pointer type/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1658: warning: initialization from incompatible pointer type/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c: In function ‘wl_inform_single_bss’:/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:1817: error: too few arguments to function ‘ieee80211_channel_to_frequency’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c: In function ‘wl_bss_roaming_done’:/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2117: warning: passing argument 2 of ‘cfg80211_roamed’ from incompatible pointer typeinclude/net/cfg80211.h:3035: note: expected ‘struct ieee80211_channel *’ but argument is of type ‘u8 *’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2117: warning: passing argument 4 of ‘cfg80211_roamed’ makes pointer from integer without a castinclude/net/cfg80211.h:3035: note: expected ‘const u8 *’ but argument is of type ‘s32’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2117: warning: passing argument 5 of ‘cfg80211_roamed’ makes integer from pointer without a castinclude/net/cfg80211.h:3035: note: expected ‘size_t’ but argument is of type ‘u8 *’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2117: warning: passing argument 6 of ‘cfg80211_roamed’ makes pointer from integer without a castinclude/net/cfg80211.h:3035: note: expected ‘const u8 *’ but argument is of type ‘s32’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2117: error: too few arguments to function ‘cfg80211_roamed’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c: In function ‘wl_bss_connect_done’:/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2149: warning: passing argument 2 of ‘cfg80211_roamed’ from incompatible pointer typeinclude/net/cfg80211.h:3035: note: expected ‘struct ieee80211_channel *’ but argument is of type ‘u8 *’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2149: warning: passing argument 4 of ‘cfg80211_roamed’ makes pointer from integer without a castinclude/net/cfg80211.h:3035: note: expected ‘const u8 *’ but argument is of type ‘s32’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2149: warning: passing argument 5 of ‘cfg80211_roamed’ makes integer from pointer without a castinclude/net/cfg80211.h:3035: note: expected ‘size_t’ but argument is of type ‘u8 *’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2149: warning: passing argument 6 of ‘cfg80211_roamed’ makes pointer from integer without a castinclude/net/cfg80211.h:3035: note: expected ‘const u8 *’ but argument is of type ‘s32’/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.c:2149: error: too few arguments to function ‘cfg80211_roamed’make[2]: *** [/usr/local/src/hybird-wl/src/wl/sys/wl_cfg80211.o] Error 1make[1]: *** [_module_/usr/local/src/hybird-wl] Error 2make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.el6.i686′make: *** [all] Error 2

google了一下,发现CentOS6.3版本报的都是相同的错误,找了好多资料都没有好的解决办法。回头再看broadcom的REAMME.txt,里面写了一段话:

If your driver does not build, check to make sure you have installed thekernel package described in the requirements above.

梦想让我与众不同,奋斗让我改变命运!

CentOS6.3安装Broadcom无线网卡驱动

相关文章:

你感兴趣的文章:

标签云: