Painfully slow wireless throughput on Atheros AR5001 card

I have a Acer Revo R3610 nettop on which I installed oS11.3. It has an Atheros AR5001 wireless network adaptor.

I’m getting very bad latency and throughput on with this card. In comparison my Thinkpad with Intel card achieves at least 10 times the throughput from the same location. Also when I boot my wifi will come up authenticate and then a few seconds later disconnect and reconnect.

I’ve tried updating the kernel to 2.6.35 as one of the fixes was to improve the performance of the ath5k driver.

I’m using wpa2 authentication.
Here are some details:

mediacentre:~ # /sbin/lspci -nnk
00:00.0 Host bridge [0600]: nVidia Corporation MCP79 Host Bridge [10de:0a82] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
00:00.1 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0a88] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
00:03.0 ISA bridge [0601]: nVidia Corporation MCP79 LPC Bridge [10de:0aad] (rev b2)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
00:03.1 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0aa4] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
00:03.2 SMBus [0c05]: nVidia Corporation MCP79 SMBus [10de:0aa2] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
00:03.3 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0a89] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
00:03.5 Co-processor [0b40]: nVidia Corporation MCP79 Co-processor [10de:0aa3] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: nvidia
00:04.0 USB Controller [0c03]: nVidia Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa5] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: ohci_hcd
00:04.1 USB Controller [0c03]: nVidia Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa6] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: ehci_hcd
00:08.0 Audio device [0403]: nVidia Corporation MCP79 High Definition Audio [10de:0ac0] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: HDA Intel
00:09.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Bridge [10de:0aab] (rev b1)
00:0a.0 Ethernet controller [0200]: nVidia Corporation MCP79 Ethernet [10de:0ab0] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: forcedeth
00:0b.0 SATA controller [0106]: nVidia Corporation MCP79 AHCI Controller [10de:0ab9] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: ahci
00:0c.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0ac4] (rev b1)
        Kernel driver in use: pcieport
00:10.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0aa0] (rev b1)
00:15.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0ac6] (rev b1)
        Kernel driver in use: pcieport
00:16.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0ac7] (rev b1)
        Kernel driver in use: pcieport
00:17.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0ac7] (rev b1)
        Kernel driver in use: pcieport
00:18.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0ac7] (rev b1)
        Kernel driver in use: pcieport
03:00.0 VGA compatible controller [0300]: nVidia Corporation ION VGA [10de:087d] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: nvidia
05:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR5001 Wireless Network Adapter [168c:001c] (rev 01)
        Subsystem: Foxconn International, Inc. Device [105b:e008]
        Kernel driver in use: ath5k

mediacentre:~ # iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:"*******"  
          Mode:Managed  Frequency:2.432 GHz  Access Point: 00:14:85:CE:98:1E   
          Bit Rate=36 Mb/s   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=33/70  Signal level=-77 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
mediacentre:~ # uname -a
Linux mediacentre 2.6.35-20-desktop #1 SMP PREEMPT 2010-08-11 06:08:17 +0200 x86_64 x86_64 x86_64 GNU/Linux

Is there anything else I paste that will help determine the cause of the bad throughput. Browsing the web or copying files across the network is bordering unusable.

Just to add the dmesg immediately after boot. I only pasted from where I saw the first reference to anything to do with ath5k driver or network. Near the end you can see that the wlan0 repeatedly authenticates then de-authenticates.

    9.690308] hda_intel: Disable MSI for Nvidia chipset
    9.690384] HDA Intel 0000:00:08.0: setting latency timer to 64
   10.075451] ACPI: PCI Interrupt Link [LN4A] enabled at IRQ 19
   10.075465]   alloc irq_desc for 19 on node -1
   10.075470]   alloc kstat_irqs on node -1
   10.075490] ath5k 0000:05:00.0: PCI INT A -> Link[LN4A] -> GSI 19 (level, low) -> IRQ 19
   10.075507] ath5k 0000:05:00.0: setting latency timer to 64
   10.075606] ath5k 0000:05:00.0: registered as 'phy0'
   10.136048] ALSA patch_realtek.c:1308: SKU: Nid=0x1d sku_cfg=0x40020601
   10.136060] ALSA patch_realtek.c:1310: SKU: port_connectivity=0x1
   10.136068] ALSA patch_realtek.c:1311: SKU: enable_pcbeep=0x0
   10.136077] ALSA patch_realtek.c:1312: SKU: check_sum=0x00000002
   10.136085] ALSA patch_realtek.c:1313: SKU: customization=0x00000006
   10.136093] ALSA patch_realtek.c:1314: SKU: external_amp=0x0
   10.136101] ALSA patch_realtek.c:1315: SKU: platform_type=0x0
   10.136108] ALSA patch_realtek.c:1316: SKU: swap=0x0
   10.136115] ALSA patch_realtek.c:1317: SKU: override=0x1
   10.145403] hda_codec: ALC662 rev1: BIOS auto-probing.
   10.145416] ALSA hda_codec.c:4435: autoconfig: line_outs=1 (0x14/0x0/0x0/0x0/0x0)
   10.145426] ALSA hda_codec.c:4439:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
   10.145435] ALSA hda_codec.c:4443:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
   10.145445] ALSA hda_codec.c:4444:    mono: mono_out=0x0
   10.145452] ALSA hda_codec.c:4447:    dig-out=0x1e/0x0
   10.145460] ALSA hda_codec.c:4455:    inputs: mic=0x18, fmic=0x0, line=0x0, fline=0x0, cd=0x0, aux=0x0
   10.187409] ALSA patch_realtek.c:1358: realtek: No valid SSID, checking pincfg 0x40020601 for NID 0x1d
   10.187421] ALSA patch_realtek.c:1374: realtek: Enabling init ASM_ID=0x0601 CODEC_ID=10ec0662
   10.288049] nvidia: module license 'NVIDIA' taints kernel.
   10.288058] Disabling lock debugging due to kernel taint
   10.587884] ath: EEPROM regdomain: 0x65
   10.587891] ath: EEPROM indicates we should expect a direct regpair map
   10.587900] ath: Country alpha2 being used: 00
   10.587904] ath: Regpair used: 0x65
   10.988921] phy0: Selected rate control algorithm 'minstrel'
   10.990417] Registered led device: ath5k-phy0::rx
   10.990493] Registered led device: ath5k-phy0::tx
   10.990504] ath5k phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)
   12.599566] ACPI: PCI Interrupt Link [LPMU] enabled at IRQ 21
   12.599580] nvidia 0000:00:03.5: PCI INT B -> Link[LPMU] -> GSI 21 (level, low) -> IRQ 21
   12.600641] ACPI: PCI Interrupt Link [SGRU] enabled at IRQ 20
   12.600651] nvidia 0000:03:00.0: PCI INT A -> Link[SGRU] -> GSI 20 (level, low) -> IRQ 20
   12.600665] nvidia 0000:03:00.0: setting latency timer to 64
   12.600675] vgaarb: device changed decodes: PCI:0000:03:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
   12.601226] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  256.35  Wed Jun 16 18:42:44 PDT 2010
   12.776745] Adding 2095100k swap on /dev/sda5.  Priority:-1 extents:1 across:2095100k 
   13.748885] device-mapper: uevent: version 1.0.3
   13.749454] device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@redhat.com
   14.326854] bootsplash: status on console 0 changed to on
   26.850731] loop: module loaded
   27.021306] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: acl,user_xattr
   27.108792] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: acl,user_xattr
   27.312990] fuse init (API version 7.14)
   28.834100] type=1505 audit(1281636690.452:2): operation="profile_load" pid=1210 name=/bin/ping
   28.978505] type=1505 audit(1281636690.597:3): operation="profile_load" pid=1211 name=/sbin/klogd
   29.265553] type=1505 audit(1281636690.884:4): operation="profile_load" pid=1212 name=/sbin/syslog-ng
   29.549330] type=1505 audit(1281636691.167:5): operation="profile_load" pid=1221 name=/sbin/syslogd
   29.859167] type=1505 audit(1281636691.477:6): operation="profile_load" pid=1222 name=/usr/sbin/avahi-daemon
   30.112109] type=1505 audit(1281636691.730:7): operation="profile_load" pid=1223 name=/usr/sbin/identd
   30.393847] type=1505 audit(1281636692.012:8): operation="profile_load" pid=1224 name=/usr/sbin/mdnsd
   30.721612] type=1505 audit(1281636692.340:9): operation="profile_load" pid=1225 name=/usr/sbin/nscd
   31.205809] type=1505 audit(1281636692.824:10): operation="profile_load" pid=1226 name=/usr/sbin/ntpd
   31.458077] type=1505 audit(1281636693.076:11): operation="profile_load" pid=1227 name=/usr/sbin/traceroute
   37.430946] ADDRCONF(NETDEV_UP): wlan0: link is not ready
   39.771790] ip6_tables: (C) 2000-2006 Netfilter Core Team
   41.132532] audit_printk_skb: 3 callbacks suppressed
   41.132540] type=1503 audit(1281636702.750:13): operation="change_hat" info="unconfined" error=-1 pid=1534
   41.132590] type=1503 audit(1281636702.750:14): operation="change_hat" info="unconfined" error=-1 pid=1534
   41.232434] ip_tables: (C) 2000-2006 Netfilter Core Team
   41.293325] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
   42.412468] eth0: no link during initialization.
   42.413603] ADDRCONF(NETDEV_UP): eth0: link is not ready
   44.719754] NET: Registered protocol family 17
   45.769613] eth0: no link during initialization.
   45.771348] ADDRCONF(NETDEV_UP): eth0: link is not ready
   45.879993] ADDRCONF(NETDEV_UP): wlan0: link is not ready
   47.451275] wlan0: authenticate with 00:14:85:ce:98:1e (try 1)
   47.452699] wlan0: authenticated
   47.452749] wlan0: associate with 00:14:85:ce:98:1e (try 1)
   47.455086] wlan0: RX AssocResp from 00:14:85:ce:98:1e (capab=0x431 status=0 aid=1)
   47.455092] wlan0: associated
   47.456557] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
   52.596752] wlan0: deauthenticated from 00:14:85:ce:98:1e (Reason: 6)
   52.601977] cfg80211: Calling CRDA to update world regulatory domain
   52.615553] cfg80211: World regulatory domain updated:
   52.615565]     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
   52.615576]     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   52.615585]     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   52.615594]     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   52.615603]     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   52.615611]     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   53.782424] wlan0: authenticate with 00:14:85:ce:98:1e (try 1)
   53.783922] wlan0: authenticated
   53.784045] wlan0: associate with 00:14:85:ce:98:1e (try 1)
   53.786294] wlan0: RX AssocResp from 00:14:85:ce:98:1e (capab=0x431 status=0 aid=1)
   53.786303] wlan0: associated
   58.950579] wlan0: deauthenticated from 00:14:85:ce:98:1e (Reason: 6)
   58.958682] cfg80211: Calling CRDA to update world regulatory domain
   58.968672] cfg80211: World regulatory domain updated:
   58.968680]     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
   58.968688]     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   58.968694]     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   58.968700]     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   58.968706]     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   58.968712]     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   60.139996] wlan0: authenticate with 00:14:85:ce:98:1e (try 1)
   60.141439] wlan0: authenticated
   60.141508] wlan0: associate with 00:14:85:ce:98:1e (try 1)
   60.143956] wlan0: RX AssocResp from 00:14:85:ce:98:1e (capab=0x431 status=0 aid=1)
   60.143967] wlan0: associated
   65.284563] wlan0: deauthenticated from 00:14:85:ce:98:1e (Reason: 6)
   65.288184] cfg80211: Calling CRDA to update world regulatory domain
   65.302225] cfg80211: World regulatory domain updated:
   65.302236]     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
   65.302246]     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   65.302254]     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   65.302262]     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   65.302270]     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   65.302278]     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   66.472843] wlan0: authenticate with 00:14:85:ce:98:1e (try 1)
   66.475414] wlan0: authenticated
   66.475489] wlan0: associate with 00:14:85:ce:98:1e (try 1)
   66.477745] wlan0: RX AssocResp from 00:14:85:ce:98:1e (capab=0x431 status=0 aid=1)
   66.477759] wlan0: associated
   71.628449] wlan0: deauthenticated from 00:14:85:ce:98:1e (Reason: 6)
   71.632396] cfg80211: Calling CRDA to update world regulatory domain
   71.647268] cfg80211: World regulatory domain updated:
   71.647281]     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
   71.647292]     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   71.647301]     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   71.647310]     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   71.647319]     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   71.647328]     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   72.819494] wlan0: authenticate with 00:14:85:ce:98:1e (try 1)
   72.821039] wlan0: authenticated
   72.821099] wlan0: associate with 00:14:85:ce:98:1e (try 1)
   72.823540] wlan0: RX AssocResp from 00:14:85:ce:98:1e (capab=0x431 status=0 aid=1)
   72.823547] wlan0: associated
   75.694644] RPC: Registered udp transport module.
   75.694652] RPC: Registered tcp transport module.
   75.694656] RPC: Registered tcp NFSv4.1 backchannel transport module.
   75.756763] Slow work thread pool: Starting up
   75.756975] Slow work thread pool: Ready
   75.757303] FS-Cache: Loaded
   75.836491] FS-Cache: Netfs 'nfs' registered for caching
   79.997150] wlan0: deauthenticated from 00:14:85:ce:98:1e (Reason: 6)
   80.002748] cfg80211: Calling CRDA to update world regulatory domain
   80.012217] cfg80211: World regulatory domain updated:
   80.012225]     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
   80.012233]     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   80.012239]     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   80.012244]     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
   80.012250]     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   80.012294]     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
   81.177291] wlan0: authenticate with 00:14:85:ce:98:1e (try 1)
   81.178776] wlan0: authenticated
   81.178835] wlan0: associate with 00:14:85:ce:98:1e (try 1)
   81.181321] wlan0: RX AssocResp from 00:14:85:ce:98:1e (capab=0x431 status=0 aid=1)
   81.181327] wlan0: associated
   82.397742] Intel AES-NI instructions are not detected.
   82.414745] padlock: VIA PadLock not detected.

Bump. Is there anyone that can offer any suggestions or ideas as to what may be causing my problem? The throughput I’m getting is like the old ISDN days of 128kps and if I’m luck ~400kps. I’ve tried forcing various connection rates but it makes no difference . The card is connecting to my router at 36 or 48Mbps anyway so it’s not that. I’ve tried changing the channel to various other channels on the router in case of any interference from other APs but that makes no difference. There were references to using madwifi drivers in previous versions of oS but apparently those drivers haven’t been updated for a long time so probably won’t help.

Is there anyone with one of these cards (vendor ID 168c:001c, i.e. AR5001 or AR242X) that has it working properly in 11.3?

I don’t have any new suggestions, but I am having similar issues after a fresh install of 11.3. This laptop (Compaq Presario CQ50) had its AR2425 working just fine under 11.2, but now the wireless LED randomly flickers between blue and orange (wifi-on and wifi-off), and a lot of my transfers seem to time out or stall. When it works, the transfer rates are acceptable, but it’s all this disconnecting and reconnecting that seems to be causing problems.

I’ve given up with the Atheros card and have ordered an Intel Wifi Link 5100 which I seems to work well in Linux according to my research.

Sorry double post.

I know this is probably not going to be particularly useful, but I’m having the same problems with my Revo which has the AR5001 wireless chipset. Mepis Linux and Gentoo can see the card fine, but don’t seem to be able to see any wireless connections at all when scanning, and cannot connect if I try to specify all the credentials manually. Suse 11.3 has managed to connect to my network (which has encouraged me that the card is still working!), but I’m getting up to 90% packet loss with ping and can’t reliably connect to any services.

I’ve also tried on my Acer Aspire One netbook, which also has the AR5001 chipset - no joy with this at all - couldn’t even see any wireless networks.

Is this a bug with the ath5k driver for this particular chipset?
Any help/comments/suggestions would be very much appreciated - I’m going spare! I will look into the suggested Intel kit too…

Well in installed my intel5100 card and while it’s better than the Atheros card it replaced it’s still not good. I’m still getting rather slow throughput although it’s better than the atheros card. I also still get the dropped connections fairly regularly. The signal strength seems better on the intel than the atheros, 55% vs 45%. Bringing the Revo right next to the router improves the throughput considerably so the card works but it seems it needs a very good signal strength to obtain good throughput. I know throughput drops off with signal strength and quality but in contrast on my Thinkpad laptop with the intel ABG3945 still gets 5 times the throughput even at 40% signal strength.

I don’t know if there is a some compatibility problem with the Revo’s chipset with the wifi cards and openSUSE or Linux but at the moment it’s performing well under par.

I’ve done some searching, and found a couple of pages that might relate to this issue tangentially…

This page seems to report that there are issues with the AR5001 chipset reporting that it can support a wider array of ASPM power states than it can, and thus if ASPM is disabled or reduced in functionality the card works fine:
Re: [ath5k-devel] [PATCH v2] ath5k: disable ASPM – Linux PCI

Another page I found shows you how to tweak the power states that get used manually:
ASPM - Linux Wireless

I tried booting with the ‘pcie_aspm=off’ kernel option, but this didn’t seem to disable ASPM on the card (as shown with lspci -vvv as root). With the other method I can manipulate the actual registers on the wifi card to supposedly disable the L0s power state, but lspci still shows it active!

Any ideas?

Yast > Network Settings > Click on Card > Click Edit > Click Harware Tab > Enter “nohwcrypt” in Options (next to Ath5k)

Works for me.

Interesting. I’ll give that a go.