On Sat, 2010-01-30 at 21:10 +0100, Felix Fietkau wrote:

> The workaround value of '64' is actually wrong. When I had trouble
> associating in 2.4 GHz in a case where the slot time was actually set
> correctly, I simply used it, because that's what was being set in the
> initvals. We shouldn't base the slot time on this though - the initvals
> don't do this either.

I could reduce the minimal value of acktimeout from 64 to 20.  With 20,
I get a reliable communication every time.  With 19, it's doesn't work
ever.  The distance between STA and AP is about 1 meter.

> The slottime == -1 thing is obviously a bug, and I'll send a patch to
> fix it later.

It turns out that simply increasing the initial value to 54 is not
enough, as ah->slottime will be set to 9 from sc->beacon.slottime, so
acktimeout becomes 19.

But using the value of 10 instead of 9 for sc->beacon.slottime does the
trick.  That's the minimal patch that works for me.

Perhaps we should be using ATH9K_SLOT_TIME_9 there (see mac.h) and
define it to 10.

diff --git a/drivers/net/wireless/ath/ath9k/main.c 
b/drivers/net/wireless/ath/ath9k/main.c
index 6796d5c..d230128 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1833,7 +1833,7 @@ static void ath9k_bss_info_changed(struct ieee80211_hw 
*hw,
 
        if (changed & BSS_CHANGED_ERP_SLOT) {
                if (bss_conf->use_short_slot)
-                       slottime = 9;
+                       slottime = 10;
                else
                        slottime = 20;
                if (vif->type == NL80211_IFTYPE_AP) {


-- 
Regards,
Pavel Roskin
_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to