现在的笔记本无线网卡有不少是博通的,但是博通公司的linux驱动安装起来非常麻烦,我刚入手了一部宏基AS 5750G的本本,又需要学习linux,没办法,安装了win7和fedora16的双系统,但是linux的无线网卡驱动我将近折腾了一天才搞好,拿来与大家分享,共同学习。
硬件:
本本-宏基星锐5750G
路由-tplink TL-WR740N
软件:
fedora16
操作步骤:
桌面-右击鼠标-konsole,进入控制台
su 进入root
输入命令:(在#提示符下) lspci | grep Network (此处N一定要大写)
显示:03:00.0 Network controller: Broadcom Corporation BCM43227 802.11b/g/n
只要有Broadcom,即是博通公司的无线网卡,就去下面的地址下载驱动
http://www.broadcom.com/support/802.11/linux_sta.php(下载的时候注意区分32位和64位两个版本)
然后解压tar -zxvf hybrid-portsrc_x86_32-v5_100_82_112.tar.gz(或者hybrid-portsrc_x86_64-v5_100_82_112.tar.gz)
进入解压后的文件,编译文件:
make clean
make
然后,就会出现一个wl.ko的文件,将该文件复制到另一个目录下:
cp wl.ko /lib/modules/内核版本号(modules下只有一个文件夹,直接按两下tab)/kernel/drivers/net/wireless
然后就是检测模块依赖:
depmod -a
然后就是加载无线网卡驱动模块
modprobe wl
这样就会发现,无线的图标显示出来了,只剩最后一步了
设置开机自动加载模块
echo modprobe wl>>/etc/rc.local
然后就大功告成了!!!
出现问题及其解决:
1.在输入 make clean 命令后,提示错误:无法找到一个叫“build”的文件
上网查资料,发现是没安装kernel,直接进更新查找安装(或者sudo yum install kernel)
2.在输入make命令后,提示
CC [M] /home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.o
/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: 错误:初始值设定项里有未知的字段‘ndo_set_multicast_list’
/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: 警告:从不兼容的指针类型初始化 [默认启用]
/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: 警告:(在‘wl_netdev_ops.ndo_validate_addr’的初始化附近) [默认启用]
make[2]: *** [/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112/src/wl/sys/wl_linux.o] 错误 1
make[1]: *** [_module_/home/liu/document/hybrid-portsrc_x86_32-v5_100_82_112] 错误 2
make[1]: 离开目录“/usr/src/kernels/3.2.2-1.fc16.i686.PAE”
make: *** [all] 错误 2
继续上网查资料,发现是由于linux内核升级造成,驱动程序更新不及时,只适应老版本(3.2.2以前的)内核。
对比之前3.1.9的内核文件 /lib/modules/3.1.9-1.fc16.i686.PAE/source/include/linux/netdevice.h 和3.2.2中的文件,
发现结构体net_device_ops中少了ndo_set-multicast_list成员。
把驱动中388行注解掉,重新编译,警告但是编译通过。
再次google后发现,将ndo_set_multicast_list 替换成ndo_set_rx_mode 同样编译通过,并且没有警告信息。
3.无法联网
一切停当后,为了安全,重新启动系统,果然出现无线图标,但是悲剧随之产生,整个楼上的无线信号都搜索到了,就是搜索不到我的无线路由,汗!
浪费了大约5个小时的时间,最后发现是路由器无线设置的部分,原来是设置 ”信道13“,现在调整到 ”自动“,一切ok,原理可能是这个驱动不支持13的信道白。
以上是自己动手的经历,有错误请帮忙指出,谢谢。


回复时引用此帖

书签