Debian squeeze BCM4312网官方卡驱动

最大的社区版本,Ubuntu的发源地
回复
头像
haoyihuan
帖子: 271
注册时间: 2009-06-11 13:37

Debian squeeze BCM4312网官方卡驱动

#1

帖子 haoyihuan » 2012-05-21 14:24

Debian squeeze的基本系统和Ubuntu的不太一样。Ubuntu中已经集成了GCC编译环境(至少在Ubuntu10.04中是这样的),而Debian squeeze中没有。因此在Debian squeeze中安装BCM4312网卡驱动,需要先安装GCC编译环境。本文主要参考BCM4312官方文档。
写在这里主要为了方便以后再次安装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
二、编译BCM4312驱动
将下载好的驱动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
2、编译驱动。官方提示make clean为可选,我倒是觉得真没有这个必要,如果该目录以前编译过的话,make clean倒是不要省的好。

代码: 全选

# make
# make clean
三、加载BCM4312驱动
1、删除之前的无线网卡驱动。
查看原系统中的无线网卡驱动,如果有的话,把他们卸载掉,并阻止这些驱动再次加载,我的Debian squeeze只有b43和ssb,没有bcma。
注意:只是这四个里面的,不要阻止wl加载,因为该驱动名称最后也是wl。
# 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
2、加载新的驱动。

代码: 全选

# modprobe lib80211
#modprobe cfg80211
# insmod wl.ko
过一会后,应该就能发现了。用ifconfig -a或者iwconfig查看下网络或无线网络设备,如果有eth1(eth0或其他eth开头的)说明驱动安装成功。

四、编译BCM4312到启动内核中,不用每次启动都要手动加载BCM4312驱动
1、把wl.ko驱动放到系统模块目录中,方便系统启动时搜索并加载。

代码: 全选

# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
2、备份原有启动内核,这是为了防止重新生成启动内核失败。

代码: 全选

# cp /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`-old
3、更新启动内核。

代码: 全选

# depmod -a
# update-initramfs -u
重启后就能够自动加载
跑debian应该是有点搞头的吧。
头像
tonghuix
帖子: 355
注册时间: 2010-10-08 0:55

Re: Debian squeeze BCM4312网官方卡驱动

#2

帖子 tonghuix » 2012-05-27 16:22

收藏了,很有用!

不过Debian已经提供了一个安装BCM4312的文档,方法更简单一些 。可以选择bcm43xx的内核驱动,或者选择wl驱动

http://wiki.debian.org/bcm43xx
http://wiki.debian.org/wl
/***
* @tonghuix 佟辉 Tong Hui
* @brief 启智开源 编码自由
* @brief Open Source Open Mind, Coding for free!
* @website: https://tonghuix.io
* @weibo http://weibo.com/234826309
* @Twitter http://twitter.com/tonghuix
* @G+ http://gplus.to/tonghuix
*/
xxc888
帖子: 39
注册时间: 2006-03-06 19:52

Re: Debian squeeze BCM4312网官方卡驱动

#3

帖子 xxc888 » 2012-12-16 9:54

xxc@ubuntu:~/bcm4312$ sudo make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-headers-3.5.0-17-generic'
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
CC [M] /home/xxc/bcm4312/src/wl/sys/wl_linux.o
/home/xxc/bcm4312/src/wl/sys/wl_linux.c:43:24: fatal error: asm/system.h: No such file or directory
compilation terminated.
make[2]: *** [/home/xxc/bcm4312/src/wl/sys/wl_linux.o] Error 1
make[1]: *** [_module_/home/xxc/bcm4312] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.5.0-17-generic'
make: *** [all] Error 2
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: Debian squeeze BCM4312网官方卡驱动

#4

帖子 自由建客 » 2012-12-16 19:29

别折腾了,按 wiki 来。
头像
haoyihuan
帖子: 271
注册时间: 2009-06-11 13:37

Re: Debian squeeze BCM4312网官方卡驱动

#5

帖子 haoyihuan » 2012-12-19 23:24

3楼那个内核?
apt-get install build-dep linux build-essential linux-headers-`uname -r` gcc
装了没?
跑debian应该是有点搞头的吧。
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: Debian squeeze BCM4312网官方卡驱动

#6

帖子 枫叶饭团 » 2012-12-19 23:36

这破驱动都不知道编译过多少次了
回复