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