今天装了CentOS 6.3,结果发现无线网卡不能识别。。官网上说,CentOS不支持BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43224, BCM43225, BCM43227 和 BCM43228芯片的无线网卡。解决方法以下。 php
1. 查看无线网卡芯片 html
首先要确认是不是Broadcom BCM43XX系列的芯片: linux
1 | [user@host~]$ /sbin/lspci | grep Broadcom |
2 | 0b:00.0Network controller: Broadcom Corporation BCM4312802.11a/b/g (rev01) |
2. 在 http://www.broadcom.com/support/802.11/linux_sta.php 下载最新的驱动 centos
3. 解压下载好的驱动到/usr/local/src/hybrid-wl目录,并修改相应的权限: 网络
1 | [root@host~]# mkdir -p /usr/local/src/hybrid-wl |
2 | [root@hosthybrid-wl]# cd /usr/local/src/hybrid-wl |
3 | [root@hosthybrid-wl]# tar xvfz /path/to/the/tarball/hybrid-portsrc-x86_64-v5.10.91.9.3.tar.gz (下载文件的名称) |
4 | [root@hosthybrid-wl]# chown -R someuser.somegroup /usr/local/src/hybrid-wl |
4. 编译Broadcom无线网卡模块: less
1 | make API=WEXT |
5. 复制新生成的wl.ko文件到系统目录: 学习
1 | cp -rf wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/ |
6. 将模块加载至核心 ui
首先构建依赖: google
1 | [root@host~]# depmod `uname -r` |
而后加载驱动: spa
1 | [root@hosthybrid-wl]# modprobe wl |
7. 在启动时将驱动模块加载至核心:
1 | [root@hosthybrid-wl]# cp -vi /usr/local/src/hybrid-wl/wl.ko /lib/modules/`uname -r`/extra/ |
2 | [root@host~]# depmod $(uname -r) |
参考文章:
http://wiki.centos.org/HowTos/Laptops/Wireless/Broadcom?action=show
http://blog.sina.com.cn/s/blog_6daad9bd0100mrl9.html
最近在学习linux中,一开始本身是用Ubuntu入手,Ubuntu用起来至关的方便,环境的搭建只用个sudo apt-get intsall
一、下载驱动程序。
地址: http://www.broadcom.com/support/802.11/linux_sta.php
根据所装的系统选择就好。
二、建立安装目录以及解压。
1)建立文件目录:mkdir -m775 -p /server/hybrid/
2)下载的文件放在/home/wangx/下载,转移文件:
3)mv -f /home/wangx/下载/**.tar.gz /server/hybrid/
4)解压文件:tar zxvf **.tar.gz
三、安装:make
可是到了这一步就出现问题了,错误以下:
make: *** /lib/modules/2.6.32-220.el6.i686/build: 没有那个文件或目录。 中止。
make: *** [all] 错误 2
这就是linux的内核文件,因而我就查看文件是否存在:
cd /lib/modules/2.6.32-220.el6.i686
ls -al
结果以下:lrwxrwxrwx. 1 root root 44 3月 4 00:32 build -> ../../../usr/src/kernels/2.6.32-220.el6.i686
build 是一个连接文件,而且指向的地址不存在。
我发现/usr/src/kernels/目录下面是没有内容的,对于centos来讲,内核源码是放在 /usr/src/kernels 目录中;若是经过在线升级内核,也是放在这个目录中;若是您的系统中的 /usr/src/kernels/ 中没有内容,说明没有安装内核的源码包 kernel-devel 软件包;
经过在线安装的内核源码包 ,好比经过 apt+synaptic 或者yum 安装的,内核源码会被放到/usr/src/kernel 下的目录中,您要进入相对应的目录进行编译; 在这里我是经过yum安装的。四、配置
1: 移除全部其它的BROADCOM 无线设备驱动。
除了咱们已经编译好的驱动外,其它的Broadcom 802.11芯片驱动象b43, bcma和ssb。 这个驱动和咱们新的驱动是冲突的。因此咱们要先把它们移除。
# 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 二、根据你的系统执行 # modprobe lib80211 而后: # insmod wl.ko 如今你的网络管理程序应该能够找到设备。你可使用无线网络了。 注:其它总结一下,咱们的过程就是把编译出来的wl.ko 放入/lib/modules/2.6.32-220.2.1.el6.i686/kernel/net/wireless目录。而后执行配置。
[root@localhost wireless]# pwd
/lib/modules/2.6.32-220.2.1.el6.i686/kernel/net/wireless
[root@localhost wireless]# ls
cfg80211.ko lib80211_crypt_tkip.ko lib80211.ko
lib80211_crypt_ccmp.ko lib80211_crypt_wep.ko wl.ko
注意wl.ko的权限。
[root@localhost wireless]# chmod 755 wl.ko
[root@localhost wireless]# ls -al 总用量 3544 drwxr-xr-x. 2 root root 4096 1月 21 23:23 . drwxr-xr-x. 27 root root 4096 1月 21 22:02 .. -rwxr--r--. 1 root root 157204 12月 23 03:51 cfg80211.ko -rwxr--r--. 1 root root 8788 12月 23 03:51 lib80211_crypt_ccmp.ko -rwxr--r--. 1 root root 13120 12月 23 03:51 lib80211_crypt_tkip.ko -rwxr--r--. 1 root root 7340 12月 23 03:51 lib80211_crypt_wep.ko -rwxr--r--. 1 root root 10588 12月 23 03:51 lib80211.ko -rwxr-xr-x. 1 root root 3408349 1月 21 23:23 wl.ko