2012年10月16日星期二

archlinux下的无线配置


在archlinux下把无线网络配置了一通,基本教程可参考arch wiki上的文章:
https://wiki.archlinux.org/index.php/Wireless_Setup
https://wiki.archlinux.org/index.php/Netcfg

以下说一下在配置过程中遇到的问题:
我用的是HP 4411s笔记本,在开始配置之前输入命令"ifconfig -a"可以看到wlan0接口,因此直接输入命令"ip link set wlan0 up"尝试将wlan0开启,但是遇到了第一个问题:“RTNETLINK answers: Operation not possible due to RF-kill”,原因是wlan0被关闭了,但是用"rfkill unblock all"命令之后虽然已经取消soft block,但是问题并没有得到解决,在网上查资料发现也有类似的情况,(在这里说明一下,输入rfkill list之后发现有两个wifi设备,一个是hp-wifi,另一个是phy0)解决办法是将hp-wifi关闭并取消phy0的hard block。将hp-wifi关闭的做法是在/etc/modprobe.d/modprobe.conf里加一句blacklist hp_wmi,表示在系统启动时不加载该模块。而在本机器上按Alt+F12组合键则可取消phy0的hard block。到此第一个问题得到解决。

然后输入"wifi-menu"并选择相应无线网络,可以正常连接。由于我需要设置静态IP,因此打算使用netcfg来管理相应网络,具体的说明文档可以参见这里,当我编写好相应的配置文件后输入"netcfg mynetwork"命令时遇到了第二个问题:adding gateway failed。在网上查资料发现有一样的问题,但是别人推荐的解决方法均没能解决我的问题,因此试着在配置文件里将路由器的配置换另一种方式:
#GATEWAY='xxx.xxx.xxx.xxx'
POST_UP='ip route add xxx.xxx.xxx.254/32 dev wlan0'
这个方法解决了第二个问题。