来源:http://www.weiruoyu.cn/?p=251

我的笔记本是hp cq系列

1.确定笔记本无线网络芯片

[root@localhost local]# /sbin/lspci |grep Broadcom

09:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

可见对应的驱动为:Broadcom BCM4312

或者

[root@localhost local]# lspci |grep Network

09:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

2.下载

下载相应版本,我的是64位

http://www.broadcom.com/support/802.11/linux_sta.php

[root@localhost ~]# mkdir /usr/local/hybird

[root@localhost ~]# cd /usr/local/hybird/

[root@localhost hybird]# wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_112.tar.gz

[root@localhost hybird]# chmod 777 hybrid-portsrc_x86_64-v5_100_82_112.tar.gz

[root@localhost hybird]# tar -zxvf hybrid-portsrc_x86_64-v5_100_82_112.tar.gz

3.准备安装包

[root@localhost hybird]# yum install kernel-headers kernel-devel gcc

4.安装

4.1 报错1

[root@localhost hybird]# make

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`

make: *** /lib/modules/2.6.32-358.el6.x86_64/build: 没有那个文件或目录。 停止。

make: *** [all] 错误 2

解决办法

[root@localhost 2.6.32-358.el6.x86_64]# rm build -rf

[root@localhost 2.6.32-358.el6.x86_64]# ln -s /usr/src/kernels/2.6.32-358.6.1.el6.x86_64/ build

4.2make安装,但是后面要跟上参数

[root@localhost hybird]# make API=WEXT

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`

make[1]: Entering directory `/usr/src/kernels/2.6.32-358.6.1.el6.x86_64'

Wireless Extension API specified in command line

Using Wireless Extension API

LD      /usr/local/hybird/built-in.o

CC [M]  /usr/local/hybird/src/shared/linux_osl.o

CC [M]  /usr/local/hybird/src/wl/sys/wl_linux.o

CC [M]  /usr/local/hybird/src/wl/sys/wl_iw.o

CC [M]  /usr/local/hybird/src/wl/sys/wl_cfg80211.o

LD [M]  /usr/local/hybird/wl.o

WARNING: modpost: missing MODULE_LICENSE() in /usr/local/hybird/wl.o

see include/linux/module.h for more information

Building modules, stage 2.

Wireless Extension API specified in command line

Using Wireless Extension API

MODPOST 1 modules

WARNING: modpost: missing MODULE_LICENSE() in /usr/local/hybird/wl.o

see include/linux/module.h for more information

CC      /usr/local/hybird/wl.mod.o

LD [M]  /usr/local/hybird/wl.ko.unsigned

NO SIGN [M] /usr/local/hybird/wl.ko

make[1]: Leaving directory `/usr/src/kernels/2.6.32-358.6.1.el6.x86_64'

4.3make install

[root@localhost hybird]# make install

install -D -m 755 wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/wl.ko

4.4.复制wl.ko

[root@localhost hybird]# cp wl.ko /lib/modules/2.6.32-358.el6.x86_64/kernel/net/wireless/

5.查看多余的

1. 移除所有其它的 BROADCOM 无线设备驱动

除了我们已经编译好的驱动外,其它的Broadcom 802.11芯片驱动象b43, bcma和ssb。这个驱动和我们新的驱动是冲突的。所以我们要先把它们移除。

[root@localhost ~]# lsmod  | grep "b43\|ssb\|bcma\|wl"  (如果这个命令什么都没有,请重新启动,如果启动还是什么都没有直接走第六步然后再回到第五步往下执行)

b43                   214941  0

mac80211              457614  1 b43

cfg80211              193215  2 b43,mac80211

bcma                   29612  1 b43

wl                   2567687  0

lib80211                5127  1 wl

ssb                    59406  1 b43

mmc_core               76925  3 b43,ssb,sdhci
移除系统自带的相关驱动:
[root@localhost ~]# rmmod b43

[root@localhost ~]# rmmod ssb

[root@localhost ~]# rmmod bcma

[root@localhost ~]# rmmod wl

[root@localhost ~]# lsmod  | grep "b43\|ssb\|bcma\|wl"

所这些配置加入黑名单,不让它们被使用:

[root@localhost ~]# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf

[root@localhost ~]# echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf

[root@localhost ~]# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf


详细请参考:http://www.weiruoyu.cn/?p=251