本人历经半个月终于配置成功linux下的Broadcom 4312无线网卡驱动,从中体会到了配置Linux无线网卡的不易之处,下面我把这段时间得到的经验分享给大家,希望能给大家一些
帮助。
本人使用的机器是DELL Latitude D630笔记本电脑,安装的是CentOS 5.4版本的操作系统,内核版本是2.6.18.164,无线网卡是Broadcom(BCM) 4312
Linux安装无线网卡一般分为三种方法:
第一种:编译内核
第二种:使用linux工具软件ndiswrapper,该软件的作用就是在Linux下把windows下的驱动模拟起来使用。
第三种:就是自己写喽。(谁都不希望是这种情况)
本人使用的方法是使用Linux工具软件ndiswrapper安装Broadcom(BCM) 4312无线网卡驱动。
说心里话,本人真应该好好感谢ndiswrapper工具软件,如果没有它偶很可能要去编译内核了。
一种称为ndiswrapper的程序能够允许Linux内核模块加载到某些无线卡的Windows驱动上。这就使得手提在Linux中使用无线卡,即使没有原始的Linux驱动。
ndiswapper官方网站:
http://ndiswrapper.sourceforge.net/提取驱动组件,这个是前提!下载了windows下的无线驱动之后,就需要提取和你的无线网络硬件相关的.sys和.inf文件了,这些就是NdisWrapper所需要的所有东西了,剩下的文
件就可以丢弃了。
[root@localhost ~]# lspci | grep Broadcom
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5755M Gigabit Ethernet PCI Express (rev 02)
0c:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
#第一行Broadcom Corporation NetXtreme BCM5755M Gigabit Ethernet PCI Express是我的物理有线网卡;第二行Broadcom Corporation BCM4312 802.11b/g是我的无线网卡
#以上是要找出是否有不匹配的无线网卡在加载。
#即使有无线网卡驱动已经被加载了,但是不匹配的话,就等于没有!
#这可是关键的问题哦,如果忽略了这个问题,做了N多次的也没有用。
将自带的无效驱动列入黑名单,免得启动时加载。
[root@localhost ~]# vi /etc/modprobe.d/blacklist
blacklist bcm4312
#编辑 blacklist文件,将bcm4312驱动列入黑名单。
#编辑完文件保存退出
下载ndiswrapper
请打开这个网址:
http://sourceforge.net/projects/ndis...��载地址:... wrapper-1.56.tar.gz)。
安装ndiswrapper
[root@localhost ~]#tar zxvf ndiswrapper-1.56.tar.gz
[root@localhost ~]#cd ndiswrapper
[root@localhost ndiswrapper-1.56]#make
[root@localhost ndiswrapper-1.56]#make install
按照这样的步骤ndiswrapper工具软件包就安装成功了(这个应该没有什么太大的问题吧)。
这就安装了ndiswrapper工具和不同于当前运行的内核的内核模块。你必须拥有有效的内核源代码。(对大部分RPM,只需安装“内核-源”软件包。
接着,你需要找到卡的Windows驱动的副本,该副本是从已经存在的Windows系统(如果是双重导入的)找到的或是下载下来的驱动,都是没有关系的。SourgeForge.net网站列出了
可支持的卡,并且提供链接供大家下载Windows驱动。
[root@localhost ndiswrapper-1.56]# ndiswrapper -h //使用ndiswrapper -h命令可以查看ndiswrapper命令参数的用法
install/manage Windows drivers for ndiswrapper
usage: ndiswrapper OPTION
-i inffile install driver described by 'inffile'
-a devid driver use installed 'driver' for 'devid' (dangerous)
-r driver remove 'driver'
-l list installed drivers
-m write configuration for modprobe
-ma write module alias configuration for all devices
-mi write module install configuration for all devices
-v report version information
where 'devid' is either PCIID or USBID of the form XXXX:XXXX,
as reported by 'lspci -n' or 'lsusb' for the card
[root@localhost DRIVER]# ndiswrapper -i bcmwl5.inf //后面的windows驱动文件*.inf最好是指一个绝对路径
installing bcmwl5 ...
*注:安装windows驱动除了需要*.inf信息文件,还需要相应的*sys系统文件。另外,*.inf和*.sys文件必须要在一个目录里面。
如果没有*.sys文件,就会出现如下提示:
installing bcmwl5 ...
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
couldn't find "BCMWL5.SYS" in "."; make sure all driver files, including .inf, .sys (and any firmware files) are in "." -
installation may be incomplete
forcing parameter IBSSGMode from 0 to 2
安装成功后系统会生成/etc/ndiswrapper/bcmwl5目录,并且在目录下生成相关文件。
[root@localhost DRIVER]# ls /etc/ndiswrapper/bcmwl5/
14E4:4311:0007:1028.5.conf 14E4:4320:0002:1028.5.conf
14E4:4311:0008:1028.5.conf 14E4:4320:0003:1028.5.conf
14E4:4311.5.conf 14E4:4320:0004:1028.5.conf
14E4:4312:0007:1028.5.conf 14E4:4320.5.conf
14E4:4312:0008:1028.5.conf 14E4:4324:0001:1028.5.conf
14E4:4312.5.conf 14E4:4324:0002:1028.5.conf
14E4:4315:000B:1028.5.conf 14E4:4324:0003:1028.5.conf
14E4:4315:000C:1028.5.conf 14E4:4324:0004:1028.5.conf
14E4:4315.5.conf 14E4:4324.5.conf
14E4:4318:0005:1028.5.conf 14E4:4328:0009:1028.5.conf
14E4:4318:0006:1028.5.conf 14E4:4328:000A:1028.5.conf
14E4:4318.5.conf 14E4:4328.5.conf
14E4:4319:0005:1028.5.conf 14E4:432B:000D:1028.5.conf
14E4:4319:0006:1028.5.conf 14E4:432B.5.conf
14E4:4319.5.conf bcmwl5.inf
14E4:4320:0001:1028.5.conf bcmwl5.sys
查看ndiswrapper安装驱动是否成功
[root@localhost DRIVER]# ndiswrapper -l //查看驱动是否安装成功
bcmwl5 : driver installed
device (14E4:4315) present
注:出现以上文字,说明我的电脑里已经成功安装了bcmwl5驱动。
加载模块
ndiswrapper -m #加载模块,但是并不会在开机的时候自动加载!建议继续使用以下两个命令。
[root@localhost DRIVER]# ndiswrapper -ma
module configuration information is stored in /etc/modprobe.d/ndiswrapper.conf
[root@localhost DRIVER]# ndiswrapper -mi
module configuration information is stored in /etc/modprobe.d/ndiswrapper.conf
#这样的话开机就会自动加载了!
[root@localhost DRIVER]# modprobe ndiswrapper
安装成功无线网卡驱动之后,就可以使用NetworkManager来管理了。
在说个事NetworkManager之前请确认wireless_tool软件工具包是否安装,如果没有安装wireless软件工具包NetworkManager也不会好用的。
[root@localhost ~]# rpm -qa | grep wireless-tool
wireless-tools-28-2.el5
目前NetworkManager的最新版本是0.8,可以到这里下载NetworkManager原码包:
http://ftp.gnome.org/pub/GNOME/sourc...��可以在系统安装光盘里面找到。
[root@localhost ~]# rpm -qa | grep NetworkManager //查看是否安装NetworkManager软件包
NetworkManager-glib-0.7.0-9.el5
NetworkManager-0.7.0-9.el5
NetworkManager-gnome-0.7.0-9.el5
注:如果出现以上三个软件包说明NetworkManager已经安装了。
如果没有安装NetworkManager,请安装NetworkManager软件包。
NetworkManager的rpm包安装方法:
[root@localhost ~]#rpm -ivh NetworkManager-glib-0.7.0-9.el5
[root@localhost ~]#rpm -ivh NetworkManager-0.7.0-9.el5
[root@localhost ~]#rpm -ivh NetworkManager-gnome-0.7.0-9.el5
或者
[root@localhost ~]# yum -y install NetworkManager NetworkManager-gnome
NetworkManager的原码包安装方法:
[root@localhost ~]tar zxvf NetworkManager-0.8.tar.gz
[root@localhost ~]cd NetworkManager-0.8
[root@localhost NetworkManager-0.8]make
[root@localhost NetworkManager-0.8]make install
NetworkManager安装完以后把它设置为开机自动启动。
[root@localhost ~]# chkconfig --level 5 NetworkManager
重新启动计算机
[root@localhost ~]#reboot
重新启动计算机后会发现在屏幕的右上角会出现一个无线网卡图标,右键点击“启用无线”,然后再左键选择一个无线资源上网即可。