Hi Felix,  
  Please revise your commit: https://dev.openwrt.org/changeset/38486  It is 
causing the wifi on TL-WR1043ND v1 to stop working or speed drop.  
  Please see this ticket for details on my research:  
https://dev.openwrt.org/ticket/9654#comment:512  
  I was able to isolate the issue to this code:   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);

        …
}   
  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!: 
https://www.dropbox.com/s/ihfkx7ov4e8tcoz/Fixed-WiFi-stop-and-speed-reduction-issue-on-TL-WR1043ND.patch
 
  
  
   From c82e042b4758b4fa147daac1fafef2865a9b6dad Mon Sep 17 00:00:00 2001  
From: Georgi Valkov    Date: Sat, 2 Aug 2014 01:26:49 +0300  Subject: [PATCH] 
Fixed WiFi stop and speed reduction issue on TL-WR1043ND v1 (#9654)  
  Signed-off-by: Georgi Valkov    ---  
.../mac80211/patches/550-ath9k_entropy_from_adc.patch 
 
 
| 14 +++++++-------  
1 file changed, 7 insertions(+), 7 deletions(-)  
  diff --git a/package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch 
b/package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch  index 
7210a02..110ddf9 100644  --- 
a/package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch  +++ 
b/package/kernel/mac80211/patches/550-ath9k_entropy_from_adc.patch  @@ -26,9 
+26,9 @@  
+{  
+        int i, j;  
+  -+    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_TEST_CTL_STATUS, AR_PHY_TEST_CTL_RX_OBS_SEL, 0);  ++   
/// 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_TEST_CTL_STATUS, AR_PHY_TEST_CTL_RX_OBS_SEL, 0);  
+  
+        memset(buf, 0, len);  
+        for (i = 0; i   @@ -84,7 +84,7 @@  
 int ath9k_init_device(u16 devid, struct ath_softc *sc,  
                  
 
const struct ath_bus_ops *bus_ops)  
 {  -@@ -822,6 +835,8 @@ int ath9k_init_device(u16 devid, struct
  +@@ -822,6 +835,8 @@ int ath9k_init_device(u16 devid, struct  
                 ARRAY_SIZE(ath9k_tpt_blink));  
 #endif  

  @@ -132,9 +132,9 @@  
+{  
+        int i, j;  
+  -+    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);  ++        /// 
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);  
+  
+        memset(buf, 0, len);  
+        for (i = 0; i   --
  1.9.1  
  
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to