华为3com的Aolynk WUB320g usb无线网卡芯片组应该是Ralink(它的台湾分站)的RT73,虽然Ubuntu Gutsy自带了驱动,并且识别出了网卡,但注意,这个自带的驱动不好用,或者说没法用,仍然需要自己到http://rt2×00.serialmonkey.com/去下载开源的驱动,编译使用。(编译前后,用 iwpriv wlan0看列出的可用参数就知道这两个驱动的区别了)
编译需要内核相应的头文件,比如linux-headers-2.6.22-14-generic,解压后按照README文件的内容:
$ tar xzf rt73-cvs-daily.tar.gz
$ cd rt73-cvs-YYYYMMDDHH/Moduls
$ make
$ make install
就算编译安装完成了,手工挂载:modprobe rt73 ifname=wlan0,在/etc/modules中添加一句rt73,每次启动就能够自动挂载了。还可以在 /etc/modprobe.d/blacklist中增加一句:blacklist rt73usb,禁用系统自带的驱动。
如果要和采用WPA-PSK认证方式的AP连接,还要修改一下/etc/network/interfaces文件,比如:
auto wlan0
iface wlan0 inet static
address 192.168.0.13
netmask 255.255.255.0
gateway 192.168.0.1
pre-up ifconfig wlan0 up
pre-up ifconfig wlan0 down
pre-up ifconfig wlan0 up
pre-up iwconfig wlan0 essid "my_essid"
pre-up iwconfig wlan0 mode Managed
pre-up iwpriv wlan0 set AuthMode=WPAPSK
pre-up iwpriv wlan0 set EncrypType=TKIP
pre-up iwpriv wlan0 set WPAPSK="my_wpa_passphrase"
pre-up ifconfig wlan0 up
这个设置是从WifiDocs/Driver/RalinkRT73抓过来的,大体意思知道,但为什么写成这个格式不是非常明白,不过这样的确就可以使用了。
配置无线连接还可以使用其它工具,比如wifi-radar,或者专门为Ralink开源驱动设计的RutilT也不错。
试着用两块Wub320g配置Ad-Hoc对等网,但失败了,配置如下(两端的配置是一样的):
auto wlan0
iface wlan0 inet static
address 192.168.0.13
netmask 255.255.255.0
gateway 192.168.0.1
pre-up ifconfig wlan0 up
pre-up ifconfig wlan0 down
pre-up ifconfig wlan0 up
pre-up iwconfig wlan0 mode Ad-Hoc
pre-up iwconfig wlan0 channel 2
pre-up iwconfig wlan0 essid "fwolf_home"
pre-up iwconfig wlan0 key 1234567890
#pre-up iwpriv wlan0 set NetworkType=Adhoc
#pre-up iwpriv wlan0 set AuthMode=OPEN
#pre-up iwpriv wlan0 set EncrypType=NONE
#pre-up iwpriv wlan0 set SSID="fwolf_home"
# Break 802.11i's 11m/s limit
#pre-up iwpriv wlan0 set AdhocOfdm=1
pre-up ifconfig wlan0 up
注释中是另外一种方式,两种方式下网卡都能够连通,从iwconfig或者其它工具中都能看到已连接的状态,ifconfig也能看到发送和接收的流量,但两块网卡之间就是ping不通(属于同一网段)。把两端的机器都重启,偶尔能从还连接着局域网的机器上ping通另外一台只连接了无线网的机器,而反过来ping不通,提示:
Destination Host Unreachable
有时候还会提示:
ping: sendmsg: No buffer space available
对等网计划只好暂时搁浅,先找个AP用着。
最后总结,在为linux操作系统选购硬件时,一定要先上网看看相应的功能好不好配置,优先选择应用比较广泛、驱动比较开放、配置容易的产品。