Ubuntu AR5001X+ 无线网卡性能

0

由于自己在家里装了台服务器,需要远程访问,但发现telnet访问会有hang的现象。
删除字符,或是输入字符都会有停顿的现象。
局域网也有通向的问题,只要用无线就有问题,如果换有线就没问题。

经测试,怀疑路由器性能问题(TL-WR641G/642G),毕竟用了2年多了,再加上TP link工程师也测试过,发现确实有这种问题,但不是明显。所以就买了个linksys WRH54G来做测试。
不巧的是,问题可能出在网卡驱动上(TL-WN650G),而不是Router本身的问题(暂时是这样)
下面是故障的详细troubleshooting过程:

注:我的服务器是ubuntu 9.04 64bit,linux效率高!
打个比方,在T60的windows上dynamips可以模拟6台,linux环境,可以模拟到13台

安装Madwifi网卡驱动

在测试中,发现linux下网卡的信号很差,只有46/100
默认情况下,ubuntu使用ath5k来做无线网卡的驱动。
Google后发现Madwifi的驱动支持的会好些。
但没有现成的64bit的Madwifi驱动,只能自己直接编译,看下面步骤:

1.下载Madwifi

去官方网站(http://madwifi-project.org/)下载madwifi的最新驱动,注意黑体说明:
“In case you use kernel 2.6.25 or newer, you need to get this snapshot”

2. 查看ubuntu的内核:
root@frank-desktop:~# uname -a
Linux frank-desktop 2.6.28-12-generic #43-Ubuntu SMP Fri May 1 19:31:32 UTC 2009 x86_64 GNU/Linux

3. 查看网卡型号:
root@frank-desktop:~# lspci
01:05.0 Ethernet controller: Atheros Communications Inc. Atheros AR5001X+ Wireless Network Adapter (rev 01)

4. 安装:
root@frank-desktop:/tmp# tar zxvf madwifi-0.9.4-current.tar.gz
root@frank-desktop:/tmp# cd madwifi-0.9.4-r4110-20100119/
root@frank-desktop:/tmp/madwifi-0.9.4-r4110-20100119# make
root@frank-desktop:/tmp/madwifi-0.9.4-r4110-20100119# make install
root@frank-desktop:/tmp/madwifi-0.9.4-r4110-20100119#init – 6
重启后进入系统,选hardware driver,激活madwifi,再重启ok。

5. 前后对比:
之前ath5k驱动下的网卡数据
从网关ping server,平均延迟2.2ms
————————————————–

root@frank-desktop:~# iwconfig wlan0
wlan0     IEEE 802.11bg  ESSID:"linksys"
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:23:69:C7:F4:C3
          Bit Rate=18 Mb/s   Tx-Power=20 dBm
          Retry min limit:7   RTS thr:off   Fragment thr=2352 B
          Encryption key:E559-9200-641F-DA2D-2D20-2A1B-FB37-E60F-B362-0195-D258-9429-FFE9-B46E-4DEC-F9D3 [2]   Security mode:open
          Power Management:off
          Link Quality=46/100  Signal level:-53 dBm  Noise level=-83 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

现在Madwifi驱动下的网卡数据
从网关ping server,平均延迟1.2ms以下
————————————————–

root@frank-desktop:~# iwconfig ath0
ath0      IEEE 802.11g  ESSID:"linksys"  Nickname:""
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:23:69:C7:F4:C3
          Bit Rate:36 Mb/s   Tx-Power:16 dBm   Sensitivity=1/1
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:FF70-9B7F-D639-C91B-5A2C-64B8-939A-C048   Security mode:restricted
          Power Management:off
          Link Quality=42/70  Signal level=-41 dBm  Noise level=-83 dBm
          Rx invalid nwid:76  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

安装ath9k网卡驱动

可以看到性能提升到了60%,但是不很明显,而且这种情况是近距离测试,如果隔两堵墙(间隔不到8米),信号还会下降。
在网上查到资料,kernel 2.6.29加载ath9k性能会从65%提高到80%,看了很诱人,可以参考:

http://bbs.archlinux.org/viewtopic.php?id=60759
Now my signal quality has gone up from ~65% to ~80% with ath9k (2.6.29) vs ndiswrapper (2.6.28). I must add that I’m using the beta wpa_supplicant from AUR, but I don’t think that will add to the stability of the connection…

正好可以借此机会把我的ubuntu9.04升级到9.10,现在9.10的kernel已经到2.6.31了。
升级还算顺利,虽然碰到些问题—_—!…

升级后发现默认驱动效果很不好,所以用Madwifi试试,发现也不稳定,还不及ubuntu9.04稳定。
郁闷。。。查了很多文章,有的说默认ubuntu9.10默认是用ath9k的,并且推荐用ndiswrapper(可以在linux中使用WinXP下的驱动,但缺点是不稳定,首次链接困难)。
在安装ndiswrapper的过程中,发现了我默认的无线网卡驱动不是ath9k,而是ath_pci。。。无语中
Google…Google…如何安装ath9k,功夫不负有心人,终于被我找到了,可以通过下面的方法加载ath9k。

注:这里有个小插曲,由于linux是module化得,所以ath9k也算是模块之一。
关于linux模块加载的知识,大家可以参考文章后面的链接。

查看wlan加载的是什么驱动模块

root@frank-desktop:/# lsmod |grep wlan
wlan_tkip              12224  0
wlan_wep                6816  1
wlan_scan_sta          14560  1
wlan                  224288  6 wlan_tkip,wlan_wep,wlan_scan_sta,ath_rate_sample,ath_pci

启动ath9k
更改wlan的驱动模块,默认ubuntu9.10集成了ath9k,直接用就可以了

root@frank-desktop:/etc# more modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp
rtc
ath_pci

在这里把“ath_pci”改成“ath9k”,重启后大喜~~发现信号强度已经上升到80%以上了。

root@frank-desktop:/# iwlist wlan0 scanning
wlan0     Scan completed :
          Cell 01 - Address: 00:14:78:88:2B:CA
                    Channel:6
                    Frequency:2.437 GHz (Channel 6)
                    Quality=60/70  Signal level=-50 dBm
                    Encryption key:on
                    ESSID:"TP-LINK"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                              12 Mb/s; 24 Mb/s; 36 Mb/s
                    Bit Rates:9 Mb/s; 18 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=000000014186a547
                    Extra: Last beacon: 40ms ago
                    IE: Unknown: 000754502D4C494E4B
                    IE: Unknown: 010882848B960C183048
                    IE: Unknown: 030106
                    IE: Unknown: 0706434E20010D14
                    IE: Unknown: 2A0100
                    IE: Unknown: 32041224606C
                    IE: Unknown: DD0900037F01010008FF7F
                    IE: Unknown: DD1A00037F0301000000001478882BCA021478882BCA64002C010808

总结

终于解决了这个问题,不过还在测试中。

2010年2月6日更新:

发现无线网卡还是有问题,可以看我的另一篇文章《Ubuntu AR5001X+ 无线网卡性能 续

以下是参考资料:
————————————————-
Atheros无线网卡芯片全介绍及与IBM兼容的讨论
http://www.51nb.com/forum/viewthread.php?tid=415664

ThinkPad R61 Wireless on Ubuntu 8.10 Intrepid
http://twntwn.info/blog/ajer001/archives/2738

在Thinkpad R61的Ubuntu上安装Atheros 5xxx的madwifi驱动
http://www.felix021.com/blog/read.php?1404

Atheros无线网卡芯片全介绍及与IBM兼容的讨论
http://www.51nb.com/forum/viewthread.php?tid=415664

解决1005ha/1008ha在ubuntu 9.10下糟糕的表现 — Ndiswrapper
http://www.imchao.net/linux/solve-1005ha1008ha-the-poor-performance-under-ubuntu-9-10.html

在Ubuntu里使用Windows的无线网卡驱动程序 — Ndiswrapper
http://ubuntuabc.com/123/?p=26

Ubuntu系统关于驱动模块命令的一些使用
http://www.wangchao.net.cn/bbsdetail_1409403.html

ath9k 驱动的问题
http://www.linuxsir.org/bbs/lastpostinthread336698.html

本文出自 Frank's Blog

版权声明:


本文链接:Ubuntu AR5001X+ 无线网卡性能
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接
你可以留言,或者trackback 从你的网站

留言哦

blonde teen swallows load.xxx videos