写在这里主要为了方便以后再次安装BCM4312驱动,同时也希望对Debian新手有点帮助。
附:
BCM4312官方驱动和文档地址:http://www.broadcom.com/support/802.11/linux_sta.php
一个32位的,一个64位的,还有一个是官方文档。
一、安装GCC编译环境
根据官方文档在Ubuntu中的提示,稍微修改了下(linux-headers-generic改为linux-headers-`uname -r` ,添加了个gcc)。其实在Ubuntu是不用自己安装,已经有了这个环境。
代码: 全选
#apt-get install build-dep linux build-essential linux-headers-`uname -r` gcc
将下载好的驱动hybrid-portsrc_x86_32-v5_100_82_112.tar.gz(32位)或hybrid-portsrc_x86_64-v5_100_82_112.tar.gz(64位)。以下以64位为例,假设hybrid-portsrc_x86_64-v5_100_82_112.tar.gz包就在当前目录下。
1、新建一个临时目录bcm4312,把hybrid-portsrc_x86_64-v5_100_82_112.tar.gz解压到该目录下。
代码: 全选
# mkdir bcm4312
# cd bcm4312
#tar xzf ../hybrid-portsrc_x86_64-v5_100_82_112.tar.gz
代码: 全选
# make
# make clean
1、删除之前的无线网卡驱动。
查看原系统中的无线网卡驱动,如果有的话,把他们卸载掉,并阻止这些驱动再次加载,我的Debian squeeze只有b43和ssb,没有bcma。
注意:只是这四个里面的,不要阻止wl加载,因为该驱动名称最后也是wl。
2、加载新的驱动。# lsmod | grep "b43\|ssb\|bcma\|wl"
rmmod b43
rmmod ssb
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
代码: 全选
# modprobe lib80211
#modprobe cfg80211
# insmod wl.ko
四、编译BCM4312到启动内核中,不用每次启动都要手动加载BCM4312驱动
1、把wl.ko驱动放到系统模块目录中,方便系统启动时搜索并加载。
代码: 全选
# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
代码: 全选
# cp /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`-old
代码: 全选
# depmod -a
# update-initramfs -u