#18483: DIR-825 running CC r43485 - WIFI cannot handle IRQ 40
-----------------------+------------------------
Reporter: papaj0e | Owner: developers
Type: defect | Status: new
Priority: normal | Milestone:
Component: packages | Version: Trunk
Resolution: | Keywords:
-----------------------+------------------------
Comment (by bluse):
Hi all,
From todays troubleshooting on several devices (UBNT bullet, Nanostation,
TPLink 4300, 4900) and the help of nbd, I provide the following status
update of this issue:
OBSERVATIONs:
-the IRQ error can be triggered on all my platforms with different IRQ
numbers (40,17,18) in the log
-the actual WiFi mode does not matter to trigger the problem (adhoc, ap,
sta)
-after the error happens, latency increases up to 200-300ms and throughput
decreases to ~250kByte/s
-it seems that while ath9k does a hw reset, the kernel handler ignors IRQs
but the hw fires an IRQ
-this leads probably to a temporary IRQ storm and the kernel solves this
by disabling this IRQ
STEPs to REPRODUCE the ERROR:
-generate proper traffic load on your ath9k wireless interface (iperf,
ect.)
-enforce several hw resets by issuing "echo 4 >
/sys/kernel/debug/ieee80211/phyXY/ath9k/diag"
-check "dmesg" for the error to appear
ATH9K SOURCE Code where the race condition is most likely to happen:
../compat-wireless../driver/net/wireless/ath/ath9k/main.c
../compat-wireless../driver/net/wireless/ath/ath9k/mac.c
PATCH HISTORY of this two files (with some IRQ fixes already in place)
http://git.kernel.org/cgit/linux/kernel/git/jberg/mac80211-next.git/log/drivers/net/wireless/ath/ath9k/main.c
http://git.kernel.org/cgit/linux/kernel/git/jberg/mac80211-next.git/log/drivers/net/wireless/ath/ath9k/mac.c
Still no fix yet, but work in progress.
Greetings Thomas
--
Ticket URL: <https://dev.openwrt.org/ticket/18483#comment:28>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets