ath9k连接不稳定: DMA failed to stop in 10 ms

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

ath9k连接不稳定: DMA failed to stop in 10 ms

#1

帖子 vickycq » 2014-11-02 19:44

最近越来越频繁了。无线网突然断开,syslog短时间内大量涌出如下信息:
DMA2.png

代码: 全选

ath: phy0: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff
ath: phy0: Could not stop RX, we could be confusing the DMA engine when we start RX up
ath: phy0: Chip reset failed
ath: phy0: Unable to reset channel, reset status -22
ath: phy0: Unable to set channel
一旦出现,必须重启。有时刚重启完毕立马又会犯病,得重启数次才行。

另外同一台机器上的Windows7也有无故断线问题,症状极其相似,而且通常要重启2-5次才能恢复正常。

目前没搜到靠谱的讨论。谁遇到了来讨论一下?

故障重现方法:
0-开机,连接无线
1-把笔记本搬离无线路由器10米开外
2-观察

俺的无线网卡信息:

代码: 全选

  *-network
       description: Wireless interface
       product: AR9285 Wireless Network Adapter (PCI-Express) [168C:2B]
       vendor: Qualcomm Atheros [168C]
       physical id: 0
       bus info: pci@0000:06:00.0
       logical name: wlan0
       version: 01
       serial: 00:08:ca:c0:08:6b
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=3.13.0-37-generic firmware=N/A ip=192.168.0.103 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
       resources: irq:19 memory:fe800000-fe80ffff
uname -r:

代码: 全选

3.13.0-37-generic
上次由 vickycq 在 2014-11-12 18:02,总共编辑 3 次。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 讨论无线网断线问题:DMA failed to stop in 10 ms

#2

帖子 poloshiao » 2014-11-02 20:09

1. 這一篇
https://bbs.archlinux.org/viewtopic.php?id=137643
下面這一篇
http://ubuntuforums.org/showthread.php?t=1843638
解決了這個問題

2. 進一步參閱
https://bugs.launchpad.net/ubuntu/+sour ... ug/1016181
https://bugzilla.redhat.com/show_bug.cgi?id=755370
https://bbs.archlinux.org/viewtopic.php?id=137643

3. 根據你的 kernel 版本 到這裡 下載 合適版本 的 驅動
http://drvbp1.linux-foundation.org/~mcg ... backports/
3-1. uname -r
可以看看你目前載入的 kernel 版本
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 讨论无线网断线问题:DMA failed to stop in 10 ms

#3

帖子 vickycq » 2014-11-02 20:38

:em01 非常感谢!看链接中的帖子早至2012年,俺这本2012年就开始用了(debian),却最近半年(xubuntu 14.04)才出现此问题。

简单整一下,看有无效果。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 讨论无线网断线问题:DMA failed to stop in 10 ms

#4

帖子 vickycq » 2014-11-10 0:51

launchpad(bug 1016181)上的讨论中,有人指出和静电/usb接口有关系。根据个人观察,很有可能是atheros系列网卡的硬件问题。
有时拔掉笔记本电源,再插上,梆的一声就完蛋了。在Windows下也常出现,而且更顽固,重启好几次都不行。

在另外的分区装了Debian jessie,也有此问题。

方案0-a:用命令关闭ath9k的电源管理。

/etc/udev/rules.d/70-wifi-ath9k.rules

代码: 全选

## DISABLE POWERSAVE for Atheros 9K Wireless Network Adapters
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*" DRIVERS=="ath9k" RUN+="/sbin/iw dev %k set power_save off"
方案0-a测试结果:无效

方案0-b:用patch关闭电源管理https://patchwork.kernel.org/patch/2646451/
方案0-b测试结果:未测试
上次由 vickycq 在 2014-11-13 11:24,总共编辑 2 次。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#5

帖子 vickycq » 2014-11-12 18:01

更新

4楼的方案0-a不起作用。

主楼故障的重现方法:
0-开机,连接无线
1-把笔记本搬离无线路由器10米开外
2-观察

现在尝试另两种可能的解决方案

方案1:使用ndiswrapper+windows驱动
方案2:重新编译ath9k,使用如下patch:https://dev.openwrt.org/browser/trunk/p ... ?rev=34910

代码: 全选

--- a/drivers/net/wireless/ath/ath9k/mac.c
+++ b/drivers/net/wireless/ath/ath9k/mac.c
@@ -689,7 +689,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw 
 {
 #define AH_RX_STOP_DMA_TIMEOUT 10000   /* usec */
 	struct ath_common *common = ath9k_hw_common(ah);
-	u32 mac_status, last_mac_status = 0;
+	u32 mac_status = 0, last_mac_status = 0;
 	int i;
 
 	/* Enable access to the DMA observation bus */
@@ -719,6 +719,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw 
 	}
 
 	if (i == 0) {
+		if (!AR_SREV_9300_20_OR_LATER(ah) &&
+		    (mac_status & 0x700) == 0) {
+			/*
+			 * DMA is idle but the MAC is still stuck
+			 * processing events
+			 */
+			*reset = true;
+			return true;
+		}
+
 		ath_err(common,
 			"DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x DMADBG_7=0x%08x\n",
 			AH_RX_STOP_DMA_TIMEOUT / 1000,
上次由 vickycq 在 2017-06-08 9:26,总共编辑 6 次。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#6

帖子 vickycq » 2014-11-12 19:08

方案1、2的测试过程
(环境:Debian 8 Linux 3.17-1)

方案1
1-0. 安装ndiswrapper-utils-1.9, ndiswrapper-dkms
1-1. 到https://www.atheros.cz/atheros-wireless-drivers.html下载对应的Windows XP版本驱动程序
1-2. 卸载ath9k

代码: 全选

modprobe -r ath9k
1-3. 解压缩,在其目录下执行

代码: 全选

ndiswrapper -i netathwx.inf
(对应64-bit系统)
1-4. 执行

代码: 全选

ndiswrapper -m
1-5. 把ath9k加入blacklist

代码: 全选

echo 'blacklist ath9k' >> /etc/modprobe.d/blacklist.conf
1-6. 把ndiswrapper加入自启

代码: 全选

echo 'ndiswrapper' >> /etc/modules-load.d/modules.conf
1-7. reboot

测试结果:连接WPA-PSK保护的无线网络时,出现错误:
ndiswrapper WPA: EAPOL-Key Replay Counter did not increase - dropping packet
连接开放无线网络成功,可以交换数据,稳定性未测试。

方案2
2-0. apt-get install linux-source-3.17
2-0. modprobe -r ath9k
2-1. mkdir ~/test
2-2. cd ~/test
2-3. cp /usr/src/linux-source-3.17.tar.xz ./
2-4. tar Jxf linux-source-3.17.tar.xz
2-5. cd linux-source-3.17
2-6. ln -s /boot/config-3.17-1-amd64 .config
2-7. ln -s /usr/src/linux-headers-3.17-1-amd64/Module.symvers Module.symvers
2-8. make modules_prepare
2-9. 应用patch
2-10. make M=drivers/net/wireless/ath/ath9k
2-11. cd /lib/modules/3.17-1-amd64/kernel/drivers/net/wireless/ath/ath9k/
2-12. mkdir 3.17-1_default
2-13. cp *.* ./3.17-1_default
2-14. cd ~/test/linux-source-3.17/drivers/net/wireless/ath/ath9k/
2-15. cp *.ko /lib/modules/3.17-1-amd64/kernel/drivers/net/wireless/ath/ath9k/
2-17. modprobe ath9k

测试结果:测试中,目前稳定 EDIT 问题依旧
上次由 vickycq 在 2017-06-08 9:28,总共编辑 6 次。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#7

帖子 HuntXu » 2014-11-13 10:09

表示同樣有這個問題
之前使用kernel 3.17,5樓方案2中的patch似乎已經在內核中了(看錯了位置,在下面幾行 :em05 ),頻繁出現這個問題
後來我做了兩件事,把內核更新到3.18rc3,以及在/etc/modprobe.d/ath9k.conf中加入options ath9k nohwcrypt=1
仍然不確定是哪個操作修復了這個問題,至今接近半個月了只再次出現過一次
出現這個問題在我不帶電源運行一段時間,然後接上電源充電同時使用,這個時候特別頻繁發生
我再試試把4樓的方案加進去,在modinfo裏看到好像就這項和電源似乎還有點關係
HUNT Unfortunately No Talent...
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#8

帖子 vickycq » 2014-11-13 11:16

HuntXu 写了:表示同樣有這個問題
......
出現這個問題在我不帶電源運行一段時間,然後接上電源充電同時使用,這個時候特別頻繁發生
我的情况和你一样。

电气故障也并非没有可能。笔记本由于设计问题静电积累,或是主板走线设计有隐患,影响了无线的稳定性。最大的证据是装Windows也会出现类似的问题,只是无法debug。

看主楼更新的重现方法。但“把笔记本搬离无线路由器10米开外”和「断开电源」总是相伴相生的。我也搞不清楚究竟哪个才是真正的触发因素了。就查到的信息来看,两个触发因素都有人提到过。
HuntXu 写了: ...以及在/etc/modprobe.d/ath9k.conf中加入options ath9k nohwcrypt=1
我在3.14内核试过,很遗憾,对我无效。
HuntXu 写了: 我再試試把4樓的方案加進去,在modinfo裏看到好像就這項和電源似乎還有點關係
关闭自动省电,可用4楼的方法,也可用此patch重新编译ath9k:
https://patchwork.kernel.org/patch/2646451/

这个就算做方案0。

--------------------------------------分割线-------------------------------------------

关于5楼方案2的patch,详见https://bugzilla.redhat.com/show_bug.cgi?id=892811中的patch[3]
从代码上来看和问题的表象很接近,可能无法治本,但当作镇痛剂还是可以的。目前我正在测试,后续再来汇报。
上次由 vickycq 在 2014-11-13 11:39,总共编辑 1 次。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#9

帖子 vickycq » 2014-11-13 11:36

更新方案2测试结果:故障依旧

现在测试:
同时使用方案2和方案0-b的patch。
结果:
Debian experimental的内核Debian 3.17-1-amd64~exp1已经包含方案0-b的patch。
patch.png
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#10

帖子 HuntXu » 2014-11-13 14:23

我把nohwcrypt=1去掉,把ps_enable=0加上,很快就復現了一次這個問題,所以至少nohwcrypt=1對我來說是有效的
不過我都是手動modprobe ath9k的(不確定是否和這些動作有關)

具體型號是 02:00.0 Network controller [0280]: Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) [168c:002e] (rev 01)

機器用到現在剛好滿3年,不排除電氣方面的原因,但的確是最近兩個月才發生的,准確地說是在國慶節之後才發生

光看那個patch,好像就是直接繞過了報錯,告訴調用者DMA已經停了,如果我使用nohwcrypt=1還一直再出現這個情況的話,我就會考慮打上patch了,我同意“鎮痛劑”的說法 :em02
HUNT Unfortunately No Talent...
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#11

帖子 vickycq » 2014-11-13 14:55

HuntXu 写了: 光看那個patch,好像就是直接繞過了報錯,告訴調用者DMA已經停了,如果我使用nohwcrypt=1還一直再出現這個情況的話,我就會考慮打上patch了,我同意“鎮痛劑”的說法 :em02
很遗憾,我已经打了方案2的patch,问题依旧。此故障看来比较复杂,就拿咱俩来说,统一的报错背后可能是是截然不同的原因。

------------------------------------------------------------------------

查了一些资料,ath9k的电源管理确实问题很大。比如这一篇
http://www.linuxquestions.org/questions ... 175499101/
就提到Debian在3.13内核默认关闭了ath9k的电源管理。(正如方案0-b的patch所述)

上午也提到过搬动笔记本,插拔电源时容易触发问题,可能也和电源管理有关。虽然如上所述在init的时候默认不开启电源管理,但在userspace中仍有许多因素可能会打开省电模式,比如插拔电源。(pm-utils就有无线省电功能,见/usr/lib/pm-utils/power.d/wireless)

-------------------------------------------------------------------------
HuntXu 写了: 機器用到現在剛好滿3年,不排除電氣方面的原因,但的確是最近兩個月才發生的,准確地說是在國慶節之後才發生
能说一下你最近半年是什么系统/内核,是国庆节之后升级内核才出现的吗?
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#12

帖子 HuntXu » 2014-11-13 15:34

vickycq 写了:
HuntXu 写了: 機器用到現在剛好滿3年,不排除電氣方面的原因,但的確是最近兩個月才發生的,准確地說是在國慶節之後才發生
能说一下你最近半年是什么系统/内核,是国庆节之后升级内核才出现的吗?
自從買來這台機器一直都裝的Archlinux,Acer Aspire 4750G
內核我一直都是自己從git倉庫裏看心情編譯的,最近幾次升級如下

代码: 全选

[2014-08-04 09:53] [PACMAN] upgraded linux-hunt (3.14.0-1 -> 3.16.0-1)
[2014-10-08 01:07] [PACMAN] upgraded linux-hunt (3.16.0-1 -> 3.17.0-1)
[2014-11-04 19:07] [PACMAN] upgraded linux-hunt (3.17.0-1 -> 3.18.0rc3-1)
國慶節附近沒有什麽特別的情況和特別的包升級,只是幾天沒用它而已,反正就那麽莫名其妙出現了...
HUNT Unfortunately No Talent...
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#13

帖子 vickycq » 2014-11-14 23:47

装了Debian 7.7 (Linux 3.2) 也出现了此问题。可 Linux 3.2曾经稳定用过一年半以上,现在却有问题。
估计硬件故障的可能性较大,国产笔记本电气性能不稳?
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#14

帖子 vickycq » 2014-11-17 12:14

装了usb无线网卡,彻底抛弃ath9k。消停了。
viewtopic.php?f=116&t=466036
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
rosynirvana
帖子: 893
注册时间: 2011-02-14 17:46

Re: ath9k连接不稳定: DMA failed to stop in 10 ms

#15

帖子 rosynirvana » 2014-11-17 18:57

4750g十有八九是笔记本走线和品控的问题
在windows下面某些机器也很容易掉线,有新闻说用同款网卡的一些没这个问题
windows下面换一个acer没有提供但是Atheros提供的新驱动能改进不少
回复