Welcome 微信登录

首页 / 操作系统 / Linux / Fedora 16下编译安装无线网卡驱动

大学里不知有多少开源爱好者,在为不同版本的Linux驱动而头疼。特别是像我这里用校园网的情况,有线上网必须要安装“星空极速”这个垃圾软件拨号才能上网。想用无线,用的Fedora又不像Ubuntu那样有默认无线网卡驱动,所以还要自己下载编译安装。本以为下载,编译一下不就行了?可真正做的时候还真没那么容易。鉴于今晚终于将数星期努力付诸实践并取得成功,个人把安装过程记录一下。一来帮住遇到同样情况的小白们,发扬开源社区精神。二来抒发一下终于能在linux里上网的激动心情。。(高手莫喷阿。。。。)。OK,废话完毕,进入正题。首先说明,我的无线网卡是Broadcom Corporation BCM4313 ,系统是DVD版本Linux fedora 16 3.1.0-7.fc16.i686.PAE完全安装版。(这里建议最好安装完全版,因为编译环境需要GCC,kernel-headers,kernel-devel.  PAE版本的还需要kernel-PAE-devel。如果安装的是桌面版的或者没有选择安装这些,就需要先手动安装,相当麻烦的)。命令行下安装驱动应该知道基本的复制,解压,文本编辑命令。(你要是还不知道这些,就请先看看基础命令再来联网吧!)一:确认无线网卡   [....]# lspci -vnn|grep 14e4 03:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g LP-PHY [14e4:4727] (rev 01)                                                这是我的无线网卡信息二:安装编译环境           [....]# yum  install kernel-headers kernel-devel gcc这里要提一下,可能会遇到很尴尬的问题:yum安装是需要联网的,而我们正在做的事就是想让系统连上网。所以我前面说最好安装完全版的系统,这样编译环境就已经配置好了。再说作为练习机,最好是安装所有的软件。三:下载驱动,解压到  /usr/local/src/我的驱动压缩包是从这里下载的http://www.broadcom.com/support/802.11/linux_sta.php 四:编译         进入解压后的目录   ["这里是解压后的目录"]# make这里应该会出现错误如下KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: 进入目录“/usr/src/kernels/3.1.0-7fc16.i686.PAE”
  LD      /usr/local/src/hybrid-wl/built-in.o
  CC [M]  /usr/local/src/hybrid-wl/src/shared/linux_osl.o
  CC [M]  /usr/local/src/hybrid-wl/src/wl/sys/wl_linux.o
/usr/local/src/hybrid-wl/src/wl/sys/wl_linux.c: 在函数‘wl_attach’中:
/usr/local/src/hybrid-wl/src/wl/sys/wl_linux.c:485:3: 错误:隐式声明函数‘init_MUTEX’ [-Werror=implicit-function-declaration]
cc1:有些警告被当作是错误


make[2]: *** [/usr/local/src/hybrid-wl/src/wl/sys/wl_linux.o] 错误 1
make[1]: *** [_module_/usr/local/src/hybrid-wl] 错误 2
make[1]: 离开目录“/usr/src/kernels/3.1.0-7fc16.i686.PAE”
make: *** [all] 错误 2解决方法为:[....]# vi /src/wl/sys/wl_linux.c进入文本编辑,找到init_MUTEX(&wl->sem).....................这个,需要慢慢找,耐心。。。。   改为sema_init(&wl->sem,1)  并在下一行加上 :#ifndef init_MUTEX
sema_init(&wl->sem,1);
#else
init_MUTEX(&wl->sem);
#endif...............................................................加的这段,有点编程基础的应该明白吧。保存退出。重新编译。                   这样弄完,编译应该没问题了。要是还有问题,那估计是上面那个字符打错了,注意细节!!!
五:后续工作        进入目录    # insmod wl.ko应该会出现"error insort "wl.ko"............."这样的错误。解决方法:目录  # cp wl.ko /lib/modules/3.1.0-7.fc16.i686.PAE/kernel/net/wireless/之后重复  insmod wl.ko然后 #depmod -a#modprobe wl重启#echo modprobe wl>>/etc/rc.local
之后。。。。。。。。。。。。。。惊喜!!!!!!!!!!
后记:Fedora 15与16有继承关系,在15中应该也行、、、、、、、Linux (CentOS) 强制命令行登录Ubuntu误删当前内核后的修复方法相关资讯      Fedora教程  Fedora 16 
  • Fedora安装之rpmfusion:获取 GPG   (03/02/2014 12:57:18)
  • Fedora 16 结束使命,Fedora 19 将  (02/15/2013 08:58:11)
  • Win7下安装Fedora 17注意点  (10/07/2012 20:47:42)
  • Fedora如何设置启动默认进入文本模  (04/06/2013 08:23:46)
  • Fedora 16下安装虚拟打印机(PDF)  (12/04/2012 14:41:06)
  • Windows 7 + Fedora 17 双系统 硬  (10/07/2012 18:43:52)
本文评论 查看全部评论 (0)
表情: 姓名: 字数