Tuesday, October 8, 2013

Wireless router dropping connection under load - dmesg shows "ath: phy0: Failed to stop TX DMA, queues=0x004!"

Symptom:
Atheros-chipset based router, specifically:
Router Model
Buffalo WZR-HP-G300NH
Firmware Version
DD-WRT v24-sp2 (05/27/13) std - build 21676
Kernel Version
Linux 3.9.4 #320 Mon May 27 02:09:45 CEST 2013 mips


Was dropping wireless connection to my Nexus 7 (and iPod touch) when downloading anything large, e.g. app updates.

Connection would drop on client, interrupting whatever was downloading, then few seconds later would reconnect and continue, then drop again, etc.

dmesg from shell on the router gave me:
ath: phy0: Failed to stop TX DMA, queues=0x004!

every time it dropped the connection. 

cat /sys/kernel/debug/ieee80211/phy0/ath9k/reset

    Baseband Hang: 2538
Baseband Watchdog:  0
   Fatal HW Error:  0
      TX HW error:  0
     TX Path Hang:  0
      PLL RX Hang:  0
        MCI Reset:  0

REALLY ANNOYING.  Lots of internet sleuthing later, I appear to have found a fix!


TL;DR - TRY THIS
Make sure you're not using WPA2/ TKIP mode! Use AES instead - do not use TKIP.

Simply switching from TKIP to AES made the problem disappear completely. 
SO happy about that.

Work for you? Comment below please :-)