<HTML><BODY>
<div>Hi Felix,</div><div><br></div><div>Please revise your commit: https://dev.openwrt.org/changeset/38486</div><div>It is causing the wifi on TL-WR1043ND v1 to stop working or speed drop.</div><div><br></div><div>Please see this ticket for details on my research:</div><div>https://dev.openwrt.org/ticket/9654#comment:512</div><div><br></div><div>I was able to isolate the issue to this code:</div><div><pre class="wiki" style="background-color: rgb(247, 247, 247); border: 1px solid rgb(215, 215, 215); box-shadow: rgb(238, 238, 238) 0px 0px 1em; border-top-left-radius: 0.3em; border-top-right-radius: 0.3em; border-bottom-right-radius: 0.3em; border-bottom-left-radius: 0.3em; margin-right: 1.75em; margin-left: 1.75em; padding: 0.25em; overflow: auto; font-size: 13px;">static void ar5008_hw_get_adc_entropy(struct ath_hw *ah, u8 *buf, size_t len)
{
…
REG_RMW_FIELD(ah, AR_PHY_TEST, AR_PHY_TEST_BBB_OBS_SEL, 1);
REG_CLR_BIT(ah, AR_PHY_TEST, AR_PHY_TEST_RX_OBS_SEL_BIT5);
REG_RMW_FIELD(ah, AR_PHY_TEST2, AR_PHY_TEST2_RX_OBS_SEL, 0);
…
}</pre></div><div><br></div><div>I have prepared a workaround patch, it resolves the issue, unfortunately the code it disables is beyond my experience, and it probably breaks your code, so please check it!:</div>https://www.dropbox.com/s/ihfkx7ov4e8tcoz/Fixed-WiFi-stop-and-speed-reduction-issue-on-TL-WR1043ND.patch<div><br></div><div><br></div><div><br></div><div><div>From c82e042b4758b4fa147daac1fafef2865a9b6dad Mon Sep 17 00:00:00 2001</div><div>From: Georgi Valkov <gvalkov@abv.bg></div><div>Date: Sat, 2 Aug 2014 01:26:49 +0300</div><div>Subject: [PATCH] Fixed WiFi stop and speed reduction issue on TL-WR1043ND v1 (#9654)</div><div><br></div><div>Signed-off-by: Georgi Valkov <gvalkov@abv.bg></div><div>---</div><div> .../mac80211/patches/550-ath9k_entropy_from_adc.patch | 14 +++++++-------</div><div> 1 file changed, 7 insertions(+), 7 deletions(-)</div><div><br></div><div>diff --git a/package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch b/package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch</div><div>index 7210a02..110ddf9 100644</div><div>--- a/package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch</div><div>+++ b/package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch</div><div>@@ -26,9 +26,9 @@</div><div> +{</div><div> +<span class="Apple-tab-span" style="white-space:pre"> </span>int i, j;</div><div> +</div><div>-+<span class="Apple-tab-span" style="white-space:pre"> </span>REG_RMW_FIELD(ah, AR_PHY_TEST, AR_PHY_TEST_BBB_OBS_SEL, 1);</div><div>-+<span class="Apple-tab-span" style="white-space:pre"> </span>REG_CLR_BIT(ah, AR_PHY_TEST, AR_PHY_TEST_RX_OBS_SEL_BIT5);</div><div>-+<span class="Apple-tab-span" style="white-space:pre"> </span>REG_RMW_FIELD(ah, AR_PHY_TEST_CTL_STATUS, AR_PHY_TEST_CTL_RX_OBS_SEL, 0);</div><div>++<span class="Apple-tab-span" style="white-space:pre"> </span>/// REG_RMW_FIELD(ah, AR_PHY_TEST, AR_PHY_TEST_BBB_OBS_SEL, 1);</div><div>++<span class="Apple-tab-span" style="white-space:pre"> </span>/// REG_CLR_BIT(ah, AR_PHY_TEST, AR_PHY_TEST_RX_OBS_SEL_BIT5);</div><div>++<span class="Apple-tab-span" style="white-space:pre"> </span>/// REG_RMW_FIELD(ah, AR_PHY_TEST_CTL_STATUS, AR_PHY_TEST_CTL_RX_OBS_SEL, 0);</div><div> +</div><div> +<span class="Apple-tab-span" style="white-space:pre"> </span>memset(buf, 0, len);</div><div> +<span class="Apple-tab-span" style="white-space:pre"> </span>for (i = 0; i < len; i++) {</div><div>@@ -84,7 +84,7 @@</div><div> int ath9k_init_device(u16 devid, struct ath_softc *sc,</div><div> <span class="Apple-tab-span" style="white-space:pre"> </span> const struct ath_bus_ops *bus_ops)</div><div> {</div><div>-@@ -822,6 +835,8 @@ int ath9k_init_device(u16 devid, struct </div><div>+@@ -822,6 +835,8 @@ int ath9k_init_device(u16 devid, struct</div><div> <span class="Apple-tab-span" style="white-space:pre"> </span>ARRAY_SIZE(ath9k_tpt_blink));</div><div> #endif</div><div> </div><div>@@ -132,9 +132,9 @@</div><div> +{</div><div> +<span class="Apple-tab-span" style="white-space:pre"> </span>int i, j;</div><div> +</div><div>-+<span class="Apple-tab-span" style="white-space:pre"> </span>REG_RMW_FIELD(ah, AR_PHY_TEST, AR_PHY_TEST_BBB_OBS_SEL, 1);</div><div>-+<span class="Apple-tab-span" style="white-space:pre"> </span>REG_CLR_BIT(ah, AR_PHY_TEST, AR_PHY_TEST_RX_OBS_SEL_BIT5);</div><div>-+<span class="Apple-tab-span" style="white-space:pre"> </span>REG_RMW_FIELD(ah, AR_PHY_TEST2, AR_PHY_TEST2_RX_OBS_SEL, 0);</div><div>++<span class="Apple-tab-span" style="white-space:pre"> </span>/// REG_RMW_FIELD(ah, AR_PHY_TEST, AR_PHY_TEST_BBB_OBS_SEL, 1);</div><div>++<span class="Apple-tab-span" style="white-space:pre"> </span>/// REG_CLR_BIT(ah, AR_PHY_TEST, AR_PHY_TEST_RX_OBS_SEL_BIT5);</div><div>++<span class="Apple-tab-span" style="white-space:pre"> </span>/// REG_RMW_FIELD(ah, AR_PHY_TEST2, AR_PHY_TEST2_RX_OBS_SEL, 0);</div><div> +</div><div> +<span class="Apple-tab-span" style="white-space:pre"> </span>memset(buf, 0, len);</div><div> +<span class="Apple-tab-span" style="white-space:pre"> </span>for (i = 0; i < len; i++) {</div><div>-- </div><div>1.9.1</div><div><br></div></div></BODY></HTML>