1. 这块网卡使用的是Atheros Communications Inc. AR2413的芯片组,可以使用madwifi的驱动(www.madwifi-project.org)。现在的Linux内核默认就带有madwifi的驱动,名为ath5k,但是这个驱动对于配置该网卡为AP有问题,所以我们还是换成ath_pci这个驱动,这也是madwifi project中的驱动。
2. 所以,首先pacman -S madwifi madwifi-utils wireless_tools,然后morprobe -r ath5k并将ath5k在/etc/rc.conf中ban掉(在MODULES一项中用!ban掉),这样Arch就会加载ath_pci这个驱动了。
3. 然后就是配置该网卡了,配置网卡连接无线网络很简单,但是配置成AP有点麻烦,现在将命令行罗列一下:
wlanconfig ath0 destroy >& /dev/null
wlanconfig ath0 create wlandev wifi0 wlanmode ap >& /dev/null
iwconfig ath0 mode master essid EricAP freq 2.422G key s:qazwsxpl,okmi
/sbin/ifconfig ath0 192.168.1.1 netmask 255.255.255.0
这样就OK了。
4. 最后想把上面这些配置内容使用netcfg2来管理,但是到最后发现netcfg2无法handle这些脚本。netcfg2的profile文件语法中倒是提供了象PRE_UP, POST_UP, PRE_DOWN, POST_DOWN这样的配置项,我们可以把wlanconfig这样的命令放到这些配置项中,但是netcfg2用来启动网络的脚本估计没有考虑到用户会把无线网卡配置成AP的模式,所以这些脚本有缺陷(比如脚本中会hardcode iwconfig ath0 mode managed这样的东西)。所以后来没办法,将上述的命令行放到了/etc/rc.local中,开机执行,搞定。
网站madwifi-project.org上有很多有价值的参考信息,有问题可以去该网站参考。此外,据我在网上搜索的结果,使用无线网卡做AP,需要网卡本身支持AP模式才行,而这方面madwifi和Atheros是做得比较好的,其他网卡可能就有这样那样的问题。
2. 所以,首先pacman -S madwifi madwifi-utils wireless_tools,然后morprobe -r ath5k并将ath5k在/etc/rc.conf中ban掉(在MODULES一项中用!ban掉),这样Arch就会加载ath_pci这个驱动了。
3. 然后就是配置该网卡了,配置网卡连接无线网络很简单,但是配置成AP有点麻烦,现在将命令行罗列一下:
wlanconfig ath0 destroy >& /dev/null
wlanconfig ath0 create wlandev wifi0 wlanmode ap >& /dev/null
iwconfig ath0 mode master essid EricAP freq 2.422G key s:qazwsxpl,okmi
/sbin/ifconfig ath0 192.168.1.1 netmask 255.255.255.0
这样就OK了。
4. 最后想把上面这些配置内容使用netcfg2来管理,但是到最后发现netcfg2无法handle这些脚本。netcfg2的profile文件语法中倒是提供了象PRE_UP, POST_UP, PRE_DOWN, POST_DOWN这样的配置项,我们可以把wlanconfig这样的命令放到这些配置项中,但是netcfg2用来启动网络的脚本估计没有考虑到用户会把无线网卡配置成AP的模式,所以这些脚本有缺陷(比如脚本中会hardcode iwconfig ath0 mode managed这样的东西)。所以后来没办法,将上述的命令行放到了/etc/rc.local中,开机执行,搞定。
网站madwifi-project.org上有很多有价值的参考信息,有问题可以去该网站参考。此外,据我在网上搜索的结果,使用无线网卡做AP,需要网卡本身支持AP模式才行,而这方面madwifi和Atheros是做得比较好的,其他网卡可能就有这样那样的问题。
补充一点:上述配置的无线AP,使用了WEP加密方式。配合iptables,ADSL(pacman -S rp-pppoe)就可以将一台Linux机器做成无线路由。
如果要支持WPA加密模式,需要再安装hostap软件,这方面内容请参考hostap的网站了。