对于Linux系统,可能经常遇到的棘手问题就是辛辛苦苦把系统装好了(其实安装过程挺简单的),结果发现木有驱动,特别是网卡!这可苦了我的超级本,本来就只有孤零零一个无线网卡,还不能工作,心那是拔凉拔凉的。于是乎,手动编译安装网卡驱动的任务开始了。
首先确认自己的网卡型号,我的是Broadcom BCM4313,网上关于该型号驱动安装的文章还是挺多的,CentOS Wiki里也有相关的介绍,所以下面关于驱动安装的内容就基本是根据自己的情况拼凑起来的,希望对大家还是有所帮助。
关闭不需要或可能引起冲突的驱动模块
打开文件/etc/modprobe.d/blacklist.conf,加入如下行:
blacklist bcm43xx blacklist ndiswrapper blacklist b43 blacklist b43legacy blacklist bcma blacklist ssb
安装编译所需的组件
# yum install kernel-headers kernel-devel gcc
下载和安装驱动
这里是下载地址:http://www.broadcom.com/support/802.11/linux_sta.php
注意根据自己的系统选择对应的驱动。这里我下载的是名为hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz的压缩包。
解压并进入目录:
# tar zxvf hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz # cd hybrid-v35_64-nodebug-pcoem-6_30_223_141
编译源代码:
# make
如果编译不成功可以进行如下尝试:
# make clean # make API=WEXT
顺利的话会生成wl.ko文件,然后可以手动将其放到内核中:
# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
或运行make install。
现在就可以将驱动加载到内核中了:
# depmod -a # modprobe lib80211
为了方便使用,可以设置让其开机自动加载:
# echo modprobe wl >> /etc/rc.local
启用NetworkManager
驱动装好,网卡可以用了,不过如何配置呢?像iwtools一类的命令行工具确实可以,还高端大气上档次(命令行嘛!)。不过自用的玩意儿何必苦了自己呢,还是用GUI工具节省劳动力吧。NetworkManager简单好用,可谓神器。
CentOS6.4默认应该是安装了该工具的,只需启用即可:
# service NetworkManager start
不过我在这里遇到一个问题:
/etc/init.d/NetworkManager: line 35: /etc/sysconfig/network: No such file or directory
解决办法是下载以下包并安装:
http://elrepo.org/linux/elrepo/el6/x86_64/RPMS/kmod-alx-0.0-8.el6.elrepo.x86_64.rpm
然后执行:
# cat > /etc/sysconfig/network << "EOF" > NETWORKING=yes > EOF
重启后问题解决。
其他问题
另外,我还遇到一个问题,就是什么都OK了,但就是网络不可用,NetworkManager里总是显示“wireless is disabled”。通过一番搜寻,发现是acer-wmi模块惹的祸,在开启该模块的情况下,会导致无线网络连接模块被阻塞。解决方法就是将其关闭,即在/etc/modprobe.d/blacklist.conf中增加一行:
blacklist acer_wmi
您好,感谢你提供这个让我连上网,但是现在可以找到wifi,但是只能联没有密码的,有密码的他就会弹出提示你连接需要密码,求解?谢谢