From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Greear Date: Fri, 05 Oct 2012 10:48:55 -0700 Subject: [ath9k-devel] At high attenuation, tx-rate does not drop low enough? In-Reply-To: <506E29F6.90602@candelatech.com> References: <506E0DE5.8030104@candelatech.com> <506E29F6.90602@candelatech.com> Message-ID: <506F1D87.8020401@candelatech.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org On 10/04/2012 05:29 PM, Ben Greear wrote: > On 10/04/2012 05:01 PM, Adrian Chadd wrote: >> On 4 October 2012 15:29, Ben Greear wrote: >>> More fun with attenuation and ath9k: >>> >>> It seems that the tx-rates do not properly go to lower speeds, >>> at least in some cases. >>> >>> I enabled lots of attenuation, and it gets into a state where the >>> station drops rates down to around 100Mbps, but the AP side stays with >>> high tx-rate. From sniffing, it seems that STA starts sending ARPs to AP, >>> and AP responds, but packet is never received on the STA. I *do* see lots >>> of rx-crc errors on the station. >>> >>> If I force the rate to be MCS-0, then it runs just fine. I haven't yet >>> tried forcing it to run at higher rates. >> >> Erm. Start with the rate control output (sysfs?) and see what the >> pass/fail rates are per TX rate. > > It seems I was using the built-in ath9k rate control logic (or, > at least it was compiled in). > > I tried changing to minstrel_ht, and then it works fine at lower > speeds, but max speed is only about 230Mbps, when I was getting 330Mbps > max before. After more fiddling, I got it working fine in the upload direction, but download is stuck at 230Mbps. I think it may not relate to the rate-control alg though, as changing it did not help. With regard to the ath9k-rate-control feature...any reason we can't add a patch like this and then allow users to set mac80211's default alg to ath9k_rate_control? I think this would let us easily change between rate algs without recompiling the kernel... diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/at index b182f93..3ee6e36 100644 --- a/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c @@ -739,7 +739,7 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee802 sc->ant_tx = hw->wiphy->available_antennas_tx; #ifdef CONFIG_ATH9K_RATE_CONTROL - hw->rate_control_algorithm = "ath9k_rate_control"; + /* hw->rate_control_algorithm = "ath9k_rate_control"; */ #endif if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ) Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com