参考:http://www.broadcom.com/docs/linux_sta/README.txt
1.下载:
http://www.broadcom.com/support/802.11/linux_sta.php
2.编译:
# ls /lib/modules/`uname -r`/build # mkdir hybrid_wl # cd hybrid_wl # tar xzf <path>/hybrid-portsrc.tar or <path>/hybrid-portsrc-x86_64.tar.gz # make clean (optional) # make
错误1:/home/zhuang/broadcom/src/wl/sys/wl_linux.c:43:24: 致命错误: asm/system.h:没有那个文件或目录
编译中断。
解决办法://#include <asm/system.h>
错误2:/home/zhuang/broadcom/src/wl/sys/wl_linux.c:388:2: 错误: 初始值设定项里有未知的字段‘ndo_set_multicast_list’
/home/zhuang/broadcom/src/wl/sys/wl_linux.c:388:2: 警告: 从不兼容的指针类型初始化 [默认启用]
/home/zhuang/broadcom/src/wl/sys/wl_linux.c:388:2: 警告: (在‘wl_netdev_ops.ndo_validate_addr’的初始化附近) [默认启用]
make[2]: *** [/home/zhuang/broadcom/src/wl/sys/wl_linux.o] 错误 1
make[1]: *** [_module_/home/zhuang/broadcom] 错误 2
make[1]:正在离开目录 `/usr/src/linux-headers-3.5.0-17-generic’
解决办法:将ndo_set_multicast_list 替换成ndo_set_rx_mode
3.配置
3.5.0-17-generic 是你的内核版本号。
# sudo cp wl.ko /lib/modules/3.5.0-17-generic/kernel/net/wireless/ # sudo depmod # sudo modprobe wl
配置开机自动启动无线驱动:
# lsmod | grep "b43|ssb|bcma|wl" 如果存在下面的驱动,必须手动删除他们,否则就不用执行下面的命令 # rmmod b43 # rmmod ssb # rmmod bcma # rmmod wl # echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf # echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf # echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
如果出现以下错误:
bash: /etc/modprobe.d/blacklist.conf: 权限不够
手动打开sudo gedit /etc/modprobe.d/blacklist.conf,添加:
blacklist ssb
blacklist bcma
blacklist b43
安装:
modprobe lib80211 insmod wl.ko 开机启动: echo modeprobe wl >> /etc/rc.local