来源: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
转载于:https://blog.51cto.com/weiruoyu/1193257