[OpenWrt-Devel] [PATCH] Fixed WiFi stop and speed reduction issue on TL-WR1043ND v1 (#9654)

George Valkov gvalkov at abv.bg
Sat Aug 2 11:29:56 EDT 2014


  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  
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20140802/6abdaf24/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list