From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from s72.web-hosting.com (s72.web-hosting.com [198.187.29.21]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by huchra.bufferbloat.net (Postfix) with ESMTPS id 3933621F1A9 for ; Fri, 13 Dec 2013 01:32:32 -0800 (PST) Received: from [117.207.74.229] (port=45574 helo=nako) by server72.web-hosting.com with esmtpsa (UNKNOWN:AES128-GCM-SHA256:128) (Exim 4.80.1) (envelope-from ) id 1VrP6f-003PCE-A1; Fri, 13 Dec 2013 04:32:25 -0500 From: Sujith Manoharan MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <21162.54025.118938.614891@gargle.gargle.HOWL> Date: Fri, 13 Dec 2013 14:57:37 +0530 To: Sebastian Moeller In-Reply-To: References: <20131211174519.34966001@nehalam.linuxnetplumber.net> <21161.18818.926049.511664@gargle.gargle.HOWL> X-Mailer: VM 8.2.0b under 24.3.50.2 (x86_64-unknown-linux-gnu) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server72.web-hosting.com X-AntiAbuse: Original Domain - lists.bufferbloat.net X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - msujith.org X-Get-Message-Sender-Via: server72.web-hosting.com: authenticated_id: sujith@msujith.org X-Source: X-Source-Args: X-Source-Dir: Cc: ath9k-devel@lists.ath9k.org, linux-wireless@vger.kernel.org, cerowrt-devel@lists.bufferbloat.net Subject: Re: [Cerowrt-devel] Wireless failures 3.10.17-3 X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Dec 2013 09:32:32 -0000 Sebastian Moeller wrote: > It is a net gear WNDR3700 v2, so according to: > http://wiki.openwrt.org/toh/netgear/wndr3700 it is a Atheros AR7161 r= ev 2 680 > MHz soc with the following wireless parts: Atheros AR9223 802.11bgn /= Atheros > AR9220 802.11an. >=20 > Sure, I hope I got the right one. Now this is not from the same boot = as the > one with the errors, but I assume that does not make a difference=E2=80= =A6 Since I am > located in Germany I set the regulatory domain to DE. please let me k= now if I > you need any additional information or testing (note I am not set up = to build > cerowrt myself, so I would need Dave T=C3=A4ht's help to build a modi= fied firmware) Can you try this patch =3F diff --git a/drivers/net/wireless/ath/ath9k/ar9002=5Fmac.c b/drivers/ne= t/wireless/ath/ath9k/ar9002=5Fmac.c index 8d78253..0337de7 100644 --- a/drivers/net/wireless/ath/ath9k/ar9002=5Fmac.c +++ b/drivers/net/wireless/ath/ath9k/ar9002=5Fmac.c @@ -76,9 +76,16 @@ static bool ar9002=5Fhw=5Fget=5Fisr(struct ath=5Fhw = *ah, enum ath9k=5Fint *masked) =09=09=09=09mask2 |=3D ATH9K=5FINT=5FCST; =09=09=09if (isr2 & AR=5FISR=5FS2=5FTSFOOR) =09=09=09=09mask2 |=3D ATH9K=5FINT=5FTSFOOR; + +=09=09=09if (!(pCap->hw=5Fcaps & ATH9K=5FHW=5FCAP=5FRAC=5FSUPPORTED)) = { +=09=09=09=09REG=5FWRITE(ah, AR=5FISR=5FS2, isr2); +=09=09=09=09isr &=3D ~AR=5FISR=5FBCNMISC; +=09=09=09} =09=09} =20 -=09=09isr =3D REG=5FREAD(ah, AR=5FISR=5FRAC); +=09=09if (pCap->hw=5Fcaps & ATH9K=5FHW=5FCAP=5FRAC=5FSUPPORTED) +=09=09=09isr =3D REG=5FREAD(ah, AR=5FISR=5FRAC); + =09=09if (isr =3D=3D 0xffffffff) { =09=09=09*masked =3D 0; =09=09=09return false; @@ -97,11 +104,23 @@ static bool ar9002=5Fhw=5Fget=5Fisr(struct ath=5Fh= w *ah, enum ath9k=5Fint *masked) =20 =09=09=09*masked |=3D ATH9K=5FINT=5FTX; =20 -=09=09=09s0=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS0=5FS); +=09=09=09if (pCap->hw=5Fcaps & ATH9K=5FHW=5FCAP=5FRAC=5FSUPPORTED) { +=09=09=09=09s0=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS0=5FS); +=09=09=09=09s1=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS1=5FS); +=09=09=09} else { +=09=09=09=09s0=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS0); +=09=09=09=09REG=5FWRITE(ah, AR=5FISR=5FS0, s0=5Fs); +=09=09=09=09s1=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS1); +=09=09=09=09REG=5FWRITE(ah, AR=5FISR=5FS1, s1=5Fs); + +=09=09=09=09isr &=3D ~(AR=5FISR=5FTXOK | +=09=09=09=09=09 AR=5FISR=5FTXDESC | +=09=09=09=09=09 AR=5FISR=5FTXERR | +=09=09=09=09=09 AR=5FISR=5FTXEOL); +=09=09=09} + =09=09=09ah->intr=5Ftxqs |=3D MS(s0=5Fs, AR=5FISR=5FS0=5FQCU=5FTXOK); =09=09=09ah->intr=5Ftxqs |=3D MS(s0=5Fs, AR=5FISR=5FS0=5FQCU=5FTXDESC)= ; - -=09=09=09s1=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS1=5FS); =09=09=09ah->intr=5Ftxqs |=3D MS(s1=5Fs, AR=5FISR=5FS1=5FQCU=5FTXERR);= =09=09=09ah->intr=5Ftxqs |=3D MS(s1=5Fs, AR=5FISR=5FS1=5FQCU=5FTXEOL);= =09=09} @@ -120,7 +139,12 @@ static bool ar9002=5Fhw=5Fget=5Fisr(struct ath=5Fh= w *ah, enum ath9k=5Fint *masked) =09if (isr & AR=5FISR=5FGENTMR) { =09=09u32 s5=5Fs; =20 -=09=09s5=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS5=5FS); +=09=09if (pCap->hw=5Fcaps & ATH9K=5FHW=5FCAP=5FRAC=5FSUPPORTED) { +=09=09=09s5=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS5=5FS); +=09=09} else { +=09=09=09s5=5Fs =3D REG=5FREAD(ah, AR=5FISR=5FS5); +=09=09} + =09=09ah->intr=5Fgen=5Ftimer=5Ftrigger =3D =09=09=09=09MS(s5=5Fs, AR=5FISR=5FS5=5FGENTIMER=5FTRIG); =20 @@ -133,6 +157,16 @@ static bool ar9002=5Fhw=5Fget=5Fisr(struct ath=5Fh= w *ah, enum ath9k=5Fint *masked) =09=09if ((s5=5Fs & AR=5FISR=5FS5=5FTIM=5FTIMER) && =09=09 !(pCap->hw=5Fcaps & ATH9K=5FHW=5FCAP=5FAUTOSLEEP)) =09=09=09*masked |=3D ATH9K=5FINT=5FTIM=5FTIMER; + +=09=09if (!(pCap->hw=5Fcaps & ATH9K=5FHW=5FCAP=5FRAC=5FSUPPORTED)) { +=09=09=09REG=5FWRITE(ah, AR=5FISR=5FS5, s5=5Fs); +=09=09=09isr &=3D ~AR=5FISR=5FGENTMR; +=09=09} +=09} + +=09if (!(pCap->hw=5Fcaps & ATH9K=5FHW=5FCAP=5FRAC=5FSUPPORTED)) { +=09=09REG=5FWRITE(ah, AR=5FISR, isr); +=09=09REG=5FREAD(ah, AR=5FISR); =09} =20 =09if (sync=5Fcause) { A version that applies over OpenWrt trunk is here: http://msujith.org/dir/patches/wl/Dec-13-2013/0001-ath9k-Interrupt-hand= ling-fix-for-AR9002-family.patch Sujith