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