#11862: ath: Failed to stop TX DMA, queues=0x004
------------------------------+-----------------------------------
Reporter: igor@… | Owner: nbd
Type: defect | Status: assigned
Priority: response-needed | Milestone: Barrier Breaker 14.07
Component: kernel | Version: Trunk
Resolution: | Keywords:
------------------------------+-----------------------------------
Comment (by tatsuya46):
i use ddwrt but this problem is relevant to all fw except stock that
support qualcomm atheros, found some info about it & made it reproduceable
http://svn.dd-wrt.com/ticket/2952#comment:110
http://www.dd-
wrt.com/phpBB2/viewtopic.php?t=171400&postdays=0&postorder=asc&start=285
i found the cause, finally..it was in front of me the whole damn time, its
the 40mhz/fat channel intolerant bit that some clients either force, or
have the option to force it. thats what that setting does, make that
client do ht20 only, BUT also tries to force the entire network on 2.4ghz
to use ht20 as well. its an override, but "wide ht40" only setting, is
also an override, 2 overrides clash & start fighting, somehow the client
wins. i thought of this yesterday when i noticed the macbook online, the
entire network was in ht20 only & had their uptimes reset + tx dma spam
again. i know apple computers never do ht40 on 2.4ghz cause of apple's
decision, but apparently THEY ARE BY DEFAULT FORCING 40mhz/FAT CHANNEL
INTOLERANT. other clients such as the iphone/ipad/ipod touch,
playstation4, wii-u, which are also ht20 only 802.11n devices, do NOT
cause this problem & never did cause they dont force that stupid
intolerant setting
i can now replicate the tx dma spam & dropouts at any given time with 100%
chance & its simple with the correct hardware, in order to reproduce u
need to do the following, with the following radios
*get an AR93xx or newer radio such as those found in the
wndr4300/wndr3700v4 & tl-wdr4900 v1. this is NOT OCCURING ON OLDER AR92xx
found in wndr3700 v1/v2/wndr3800/dir-825 b1/b2. only 1 single failed to
stop tx dma occurs when i do it on these radios, with no drops, but
jittery throughput.
*have another ht40 device connected (to same radio 2.4ghz) @ ht40 rates,
ensure u have wide ht40 ONLY set, NOT dynamic or full ht20. if u dont have
another ht40 device connected, the issue will not occur
*get a test client, best with windows, that has the 40mhz/fat channel
intolerant nic setting, or a client you know that automatically forces it
enabled such as a macbook when used on 2.4ghz
*switch on 40mhz/fat channel intolerant on the client so it disconnects &
reconnects
*observe all other connected ht40 clients should be now forced down to
ht20 until 40mhz/fat channel intolerant is disabled or the client
disconnects, dropouts/tx dma spam should occur now & any throughput
running at the same time will tank to near 0 mbps
*switch off 40mhz/fat channel intolerant on the test client
*reinitialize the radios by applying settings on wifi page or reboot
router
*attempt again
u MUST do it in these steps to reproduce, doing this i can make spam of tx
dma & dropouts happen indefinitely, all day every day with the exact same
queues=0x002! & 0x00a! codes EVERY single time. so the problem is newer
radios cant SMOOTHLY transition from ht40 to ht20 while that client is
connected, or override that stupid 40mhz/fat channel intolerant bit that a
client may connect with. i hope the latter is going to be the fix, how &
why should a single client connecting with an 802.11n OPTIONAL SPEC
setting, 40mhz/fat channel intolerant, override the AP? AP is boss, when
the user selects ht40 ONLY, it should be ht40 ONLY, ht20 clients still
work fine like always, but that 40mhz/fat channel intolerant bit needs to
be properly overridden & not force down the entire network
this has nothing to do with 20/40 coexistence setting nics have, or
protection mode, or any other setting, its solely 40mhz/fat channel
intolerant. on AR93xx+ radios, dont know about QCAxxxx radios or any newer
2.4ghz AR9xxx after AR93xx, dont have them. the SOC AR9344 on
wndr4300/wndr3700v4 is 100% reproduceable, the AR9381 in tl-wdr4900 v1.x
is 100% reproduceable
http://www.dd-
wrt.com/phpBB2/viewtopic.php?t=171400&postdays=0&postorder=asc&start=285
brainslayer can u please investigate this exactly following the steps i
mentioned & using a 2.4ghz radio of similar model? (ur tl-wdr4900 v1 will
do)
========================================================================================
another user, kryptex has stated:
I confirm tatsuya46's findings from Comment 110 above, for WNDR3800 on
r26446 (Wide HT40 setting on the 2.4G network). I connected 2 laptops with
HT40-capable WiFi? cards: Intel 6205 and Atheros AR9285. Under normal
circumstances both connect with HT40.
If I enable the "Fat channel intolerant" setting in the Intel 6205's
driver (up to date, latest v17.14), it immediately forces the entire
network down to HT20 (on both Intel 6205 and Atheros AR9285) and the
network speed suffers really badly, with intermittent
disconnects/reconnects: speeds are down to 1 Mbps instead of the usual
90-95 Mpbs. The network is unusable in this state, it's really awful.
Now we know what "bad client" is: a client with setting <HT40/fat channel
intolerant> enabled. As soon as such a client connects to Atheros-based
routers, it produces intermittent disconnects, laggy connection, TX DMA
errors, and the network becomes very unstable.
It's great to have finally nailed down the cause for the ath9k
dropouts/freezes. With this new information a fix is most probably
straightforward to implement. E.g. when such "bad clients" connect (Apple
products such as Macbooks etc.), the transition from HT40 down to HT20
should be somehow made smooth and stable; or simply just allow the "bad
client" with the HT40 intolerant bit to connect @HT20 and leave the rest
of the network @HT40. The latter solution is arguably the best way to fix
this bug.
========================================================================================
when testing this on the latest version of netgear stock fw for
wndr3700v1, the 2.4ghz network holds ht40 with the "up to 300mbps" dynamic
setting (theres 3 other 2.4ghz networks in this house, with 1 being 2ft
from it), & when connecting my laptop with 40mhz intolerant ENABLED, the
dropouts or lag does not occur, to add to that the network DOES NOT FOLLOW
the 40mhz intolerant setting of my laptop, it completely & seamlessly
OVERRIDES it, using the "up to 300mbps" setting on STOCK FW, thats the
same as dynamic ht20/40..while on ddwrt ht40 ONLY, does not override 40mhz
intolerant + it creates failed to stop tx dma & dropouts
also during this test (that was repeated 3 times), the test laptop with
40mhz intolerant enabled, ITSELF didnt even use ht20 rates, it held with
ht40. with my iphone 6 doing a wlan throughput test throughout the entire
test, its throughput did not drop any more than 1.5mbps for a period of 1
second when the laptop connected. the entire test on stock fw was
completely seamless, completely, seamless & smooth
--
Ticket URL: <https://dev.openwrt.org/ticket/11862#comment:301>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets