纠结我半年的无线网卡问题由这篇文章得以解决,特此感谢本文作者,转来分享,希望对碰到类似问题的同学能够有所帮助,LINUX的精神就是分享嘛~
http://www.spongeliu.com/gentoo/gentoowirelessy450/
自从装上Gentoo,我就没再用过无线网卡,以前配置过一次,但是浅尝辄止,没有成功。因为最近要用无线网,所以决定给配置好。配置过程中遇到了不少问题,这里把我遇到的问题和解决方法汇总一下,这种配置上的事情一般每个人都会出现每个人的问题,解决方法也各不相同,所以只表述我所遇到的问题,希望有一条能解决你的烦恼。
先说下我的电脑的基本信息:
电脑型号:IdeaPad Y450, 具体的型号记不清楚了。
操作系统:2.6.32-gentoo-r7
无线网卡:Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
gentoo最吸引人的地方自然是其丰富的文档资源,于是找到Gentoo Handbook里的Wireless Networking,按照里面的步骤先后emerge了wireless-tools, wicd, WPA Supplicant, NetworkManager几个工具,并按照文档里介绍的进行配置,但发现无论使用什么工具,怎么配置,都产生不了任何的效果。猜想应该是驱动的问题。在Gentoo百科里搜索到这里,比较详细的说明了内核的配置。按照wiki上的步骤,配置好内核,装好相应模块后。使用命令:
ifconfig wlan0 up
得到了:
wlan0: ERROR while getting interface flags: No such device
使用stace跟踪下,发现下面一行:
ioctl(4, SIOCGIFFLAGS, {ifr_name="wlan03", ???}) = -1 ENODEV (No such device)
猜测还是驱动没有配置好,但是找遍了整个内核,把所有的wireless相关的选项都打开了,让然没有任何效果。于是google网卡型号,找到了这里。好吧我承认我土了,居然不知道intel的无线网卡驱动是iwlwifi,并且从2.6.24开始已经集成到内核里了。百科上搜索iwlwifi,找到了这里,按照上面配置好内核,编译,重启,终于有效果了,在nm-applet(NetworkManager的gnome界面)上已经能看到wireless的选项了,但是该选项是灰色的,并且下面写着wireless is disabled,并且无线网卡的指示灯也没有亮。
无论如何,总算有点效果了,下面我要作的就是把wireless给enable就是。输入命令:
ifconfig wlan0 up
得到:
SIOCGIFFLAGS;Unknow Error 132
google这个错误,发现大多数这种类型的错误都是因为硬件上没有打开无线网卡,检查硬件开关,是打开的,再次检查,还是打开的。于是继续在google上寻求帮助,发现这里楼主提到蓝牙和无线需要到Vista下用FN+F5全部打开,否则ubuntu上不能识别。并且使用命令:
rfkill list
得到:
0: phy0: Wireless LAN Soft blocked: no Hard blocked: yes
使用命令:
lshw -C network
得到:
*-network DISABLED description: Wireless interface product: PRO/Wireless 5100 AGN [Shiloh] Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:06:00.0 logical name: wlan0 version: 00 serial: 00:26:c6:22:5f:40 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=iwlagn latency=0 multicast=yes wireless=IEEE 802.11abgn
由上面这些信息基本可以确定,仍然是无线网卡的硬件问题。应该是我之前使用windows的时候用Fn+F5把无线网卡关了,然后导致硬件某些地方没有打 开。最简单的方法当然是装个windows然后使用Fn+F5重新打开无线,但是看到我塞的满满的各种盘,是在不舍得格掉其中任何一个去装 windows。
改变关键词,继续在google上搜索,看了一些关于Fn键的原理,猜想应该是bios对Fn+F5有支持,也就是在bios里面关闭了无线网卡。重 启,F2进入bios,只在advanced里找到wlan一项,并且已经是enabled。BIOS里面可配置的选项实在是太少,再次猜想是不是有用户 不可见的隐藏配置选项,google没有找到直接进入相应选项的方法。于是恢复BIOS的默认选项,没想到居然这样就把问题解决了,无线网卡的指示灯亮了起来!
最终的到的结论是,在windows下使用Fn+F5应该会在bios上关闭无线网卡,而用户没有办法直接设置这个BIOS选项,除非借助一些软 件,linux下我还没找到这样的软件,也懒得继续折腾了。虽然折腾了两天,最终得到了一个一点都不酷的解决方案,不过反正无线已经好用了,who care!!
下面是摘要,给那些遇到同样问题但是懒得看正文的同鞋们准备的:
1、emerge wireless-tools, NetworkManager
2、按照gentoo-wiki中的iwlwifi文档配置内核
3、ifconfig wlan0 up,如果出现132错误,切换到windows下按Fn+F5打开无线,或者跑到bios下重置下。