Debian Broadcom4313无线网络配置
转自冷雨空间
参考以下文档:
文档1
以 Broadcom CorporationBCM4311、BCM4312、BCM4313、BCM4321 或 BCM4322 为基础的无线网络卡
若要安装以 Broadcom BCM4311、BCM4312、BCM4313、BCM4321 或 BCM4322为基础的无线网络卡,请遵照以下的步骤:第 1 步:辨认无线网络芯片及安装时依赖的组件
首先,请确定你是位「拥有 Broadcom BCM43xx 无线网络卡的幸运儿」:
[user@host ~]$ /sbin/lspci | grep Broadcom辨认完无线网络芯片型号之后,请确定你不会欠缺编译及安装时所需的组件:
0b:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 01)
[root@host]# yum install kernel-headers kernel-devel gcc当然,假若你要为 Xen 内核(kernel-xen)编译驱动程序,你必须安装 kernel-xen-devel 而不是kernel-devel。
第 2 步:下载并解压 Broadcom 驱动程序的压缩档
请从 Broadcom的官方网站下载 Broadcom BCM43xx 的 linux 驱动程序压缩档到你的机器并将它解压到/usr/local/src/hybrid-wl,请随你所需将这个目录的拥有者改为无特权的用户:[root@host ~]# mkdir -p /usr/local/src/hybrid-wl
[root@host hybrid-wl]# cd /usr/local/src/hybrid-wl
[root@host hybrid-wl]# tar xvfz /path/to/the/tarball/hybrid-portsrc-x86_64-v5.10.91.9.3.tar.gz(下载档的名称)
[root@host hybrid-wl]# chown -R someuser.somegroup /usr/local/src/hybrid-wl
第 3 步:编译 Broadcom 驱动模块
驱动模块可以这样编译:
[user@host hybrid-wl]$ make -C /lib/modules/`uname -r`/build/ M=`pwd`请留意引号(也就反引号)。 现在你很可能会获得一个错误信息,而不是一个编译好的驱动模块(实际上,本作者仍未遇过这个信息以外的情况)。这则信息的内容大致上是:
make: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64'正如你所见,typedefs.h 这个文件的第 70 行出了一个问题。要解决它,请将第70 行的代码改为注释,好让它变成: 你亦可以通过在标头档加入以下内容(勿论这一行是否已经存在)来简单地解决这个问题:
LD /tmp/hybrid/hybrid/hybrid/built-in.o
CC [M] /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.o
In file included from /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.c:20:
/tmp/hybrid/hybrid/hybrid/src/include/typedefs.h:70: error: conflicting types for ‘bool’
include/linux/types.h:36: error: previous declaration of ‘bool’ was here
make[1]: *** [/tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.o] Error 1
make: *** [_module_/tmp/hybrid/hybrid/hybrid] Error 2
make: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'
#define TYPEDEF_BOOL现在,请尝试再次编译驱动模块:
[user@host hybrid-wl]$ make -C /lib/modules/`uname -r`/build/ M=`pwd`编译器的输出大致上是这样:
make: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64'一旦这个模块被建成,你便可以删除不必要的符号:
CC [M] /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.o
CC [M] /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_iw.o
CC [M] /tmp/hybrid/hybrid/hybrid/src/shared/linux_osl.o
LD [M] /tmp/hybrid/hybrid/hybrid/wl.o
Building modules, stage 2.
MODPOST
CC /tmp/hybrid/hybrid/hybrid/wl.mod.o
LD [M] /tmp/hybrid/hybrid/hybrid/wl.ko
make: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'
[user@host hybrid-wl]$ strip --strip-debug wl.ko你会发现驱动模块的文件尺寸会明显地缩小(由 2.2MB 降至 1.5MB)。而且,你的驱动模块仍能正常运作
第 4 步上:将驱动模块装入内核中
当你成功地编译了驱动模块后,你便可以将它装入内核中,并设置在开机时自动装入这个驱动程序(要这样做,你必须利用 root的权限)。当然,做这一切之先,你必须从内核删除现在的无线驱动模块(假如有的话):[root@host ~]# rmmod bcm43xx现在我们装入驱动模块:
[root@host ~]# rmmod b43
[root@host ~]# rmmod b43legacy
[root@host ~]# rmmod ndiswrapper
[root@host hybrid-wl]# modprobe wl.ko你也可采用:
[root@host hybrid-wl]# insmod wl.ko假如你在无线驱动程序以外没有应用 ndiswrapper 这个内核模块,你可以删除它,但这并非必需的。
第 4 步下:在开机时将驱动模块装入内核中
首先,请将驱动模块的文件复制到一个可以让内核找到它的地方:[root@host hybrid-wl]# cp -vi /usr/local/src/hybrid-wl/wl.ko /lib/modules/`uname -r`/extra/这样做是为了与其它已经/将会从 kmod 组件安装的外置模块(例如:fuse、ntfs-3g、等)保持一贯性。按着,请执行:
[root@host ~]# depmod $(uname -r)以便能创建一个模块的互赖性清单。 编译 /etc/modprobe.d/blacklist 这个文件并加入以下内容:
blacklist bcm43xx通过这样做,你可以避免这些模块在开机时被装入内核中。此外,假如你在/etc/modprobe.conf 内有一行是指定无线界面的驱动程序,例如:
blacklist ndiswrapper
blacklist b43
blacklist b43legacy
alias eth1 bcm43xx请将这行注释掉:
或
alias eth1 b43
或
alias eth1 b43legacy
#alias eth1 bcm43xx并为你的无线网络卡加入新的驱动程序别名:
或
#alias eth1 b43
或
#alias eth1 b43legacy
alias eth1 wl这一切都假设你的无线网络界面设备档是 eth1。 现在,请编译 /etc/modprobe.d/modprobe.conf.dist这个文件并加入以下内容:
alias ieee80211_crypt_tkip ieee80211_crypt_tkip现在你的驱动应该在每次开机时都会被装入(当然除了在你安装了新内核之后,到时你必须依照以上步骤将它重新编译)。
alias eth1 wl
文档2
1.下载并且解压
32位系统:hybrid-portsrc_x86-32_v5.100.82.38.tar.gz
64位系统:hybrid-portsrc_x86-64_v5.100.82.38.tar.gz
2.组建驱动
cd 解压文件夹路径
make clean
make
//可能会看到"WARNING: modpost: missing MODULE_LICENSE()",忽略它
3.加载驱动
sudo modprobe lib80211
sudo insmod wl.ko
4.再让它常驻内存
sudo cp wl.ko /lib/modules/`uname-r`/kernel/drivers/net/wireless
sudo depmod -a
要是之前安装过BCM驱动的话,要清除先
结束。
文档3
对于许多初学Linux的人来说,安装好一块无线网卡可能会花费其大量的时间和精力。但是如果你成功安装了无线网卡后,你一定会觉得自己的收获会很大。在此,我给大家介绍在Linux下如何用源码方式安装无线网卡,希望能对大家有所帮助!
1、安装前准备
在博通的官方网站上下载源码安装包,我下载的安装包是hybrid-portsrc_x86-32_v5.60.246.6.tar.gz32位的,当然官方网站http://www.broadcom.com/support/802.11/linux_sta.php上还有与之相对应的64位的安装包(通过#lspci | grepnetwork查看无线网卡型号),这就根据自己的实际情况下载(对此有人就会产生疑问了:如何查看Linux操作系统是32位的还是64位的。我们可以使用 #uname-a 命令来查看你的操作系统,后面是 X686或X86_64则内核是64位的,i686或i386则内核是32位的)。
2、安装无线网卡
l在根目录下新建文件夹
#mkdir/temp
l将下载的驱动包放到该文件夹下
l解压该安装包解压后会产生两个文件夹及两个文件(lib、src、Makefile、README.txt)
l接着我们在该目录下使用make编译。如出现以下语句:
KBUILD_NOPEDANTIC=1 make –C /lib/modules/’uname-r’/build M=’pwd’
Make:*** /lib/modules/2.6.32-71.el6.i686/Nosuch
File ordirectory.stop
则需要安装kernel-devel我们通过yum安装。
#yuminstall kernel-devel(前提:Linux下已安装yum)
l安装成功后我们在make就不会有什么问题了
编译成功后我们查看一下当前文件夹中的内容,会发现出现了几个扩展名为.o的文件,说明编译成功。
l接下来我们使用makeinstall安装
#makeinstall
安装成功后我们再查看下文件夹下的内容你会发现多出了一个wl.ko的模块文件,证明我们安装成功。
l接着我们进入目录
#cd/lib/modules/2.6.32/kernel/drivers/net/wireless
我们查看其中的内容会看到一个绿色的名为wl.ko的模块文件。
l我们把这个模块文件复制到net文件夹下
#cpwl.ko /lib/modules/2.6.32/kernel/driversnet
l接着我们通过insmod命令加载wl模块
#insmod/lib/modules/2.6.32-71.el6.i686/kernel/drivers/net/wireless/wl.ko
3、检查无线网卡安装是否成功
#lsmod | grepwl
4、激活网卡
#ifconfig eth0up(网卡设备名,这里以eth0为例)
如果这是还ping不通的话,可能是配置文件在捣鬼,如果没有网卡的配置文件,新建一个网卡配置文件就OK了,具体操作如下:
#pwd
/etc/sysconfig/network-scripts/
#touch ifcfg-eth0 (这里以eth0为例)
#vim ifcfg-eth0
MODE=Mannged
TYPE=Wireless
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="ifcfg-eth0"
UUID=de52673b-fc0c-4585-aba6-1b5accc6dale
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
DHCP_CLIENT_ID=127.0.0.1
5、查看网卡
#ifconfig–a查看网卡
#iwconfig–a查看无线网卡
这样,无线网卡就轻松的安装成功了!