Search Linux Wireless

Re: [PATCH] ath5k: Set ACK to user lower bit rates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/2/07, Nick Kossifidis <mickflemm@xxxxxxxxx> wrote:
> 2007/11/2, Nick Kossifidis <mickflemm@xxxxxxxxx>:
> > 2007/11/2, Luis R. Rodriguez <mcgrof@xxxxxxxxx>:
> > > Sorry, forgot this last hunk in my patch series... This applies on top
> > > of my series.
> > >
> > > This sets the ACK bitrate to the lower rates. Without this I get
> > > about 70% packet loss when using the 11M rate. Not sure exactly what rates
> > > this is setting the HW to send the ACKs in but it sure does help.
> > >
> >
> > 6Mbits for OFDM (have checked it out with various sniffers), if not
> > set i usualy get 24Mbits for acks when transmiting on 54Mbit.
> >
> > Haven't checked it for CCK but i guess it's 1 or 2 Mbits, have a look
> > at my comments inside reg.h...
> >
> > #define AR5K_STA_ID1_ACKCTS_6MB         0x01000000      /* Use 6Mbit/s
> > for ACK/CTS (?) */
> > #define AR5K_STA_ID1_BASE_RATE_11B      0x02000000      /* Use 11b
> > base rate (for ACK/CTS ?) [5211+] */
> >
>
> Also note that setting these bits is safe and cause a more stable
> behaviour. If these bits are not set then control_rate is being used

Why do you say that? How do you know?

> (check out rate tables -remember these tables are hardcoded in hal,
> that's why they have put control_rate there, to let us know what rate
> is being used for ack/cts frames by hw-).
>
> Here it is...
> (transmision rate) -> (ack/cts rate)
>
> OFDM
> 6 - 12 -> 6
> 12 - 24 -> 12
> 24 - 54 -> 24
>
> CCK
> 1 - 2 -> 1
> 2 - 11 -> 2

This is not a concoction by the HAL or driver, this is what the spec
yields. Let me quote the relevant section, which is in tx.c on
mac80211:

IEEE 802.11, 9.6:
         - control response frame (CTS or ACK) shall be transmitted using the
           same rate as the immediately previous frame in the frame exchange
           sequence, if this rate belongs to the PHY mandatory rates, or else
           at the highest possible rate belonging to the PHY rates in the
           BSSBasicRateSet

Also I think it might be possible to change the ACK rate per used TX
rate. I am not sure where this can be set though. In my latest
approach I just removed the control_rate all together as we should be
following the spec. I left the control rate though just to gradually
shift in the right direction and as I'm not yet 100% sure this is just
for the ACK timeout.

> So it still doesn't make sense that you had 70% loss i mean any rate
> between 2 and 11Mbits would cause the same ack rate (2Mbits), even if
> you didn't set that bit.

Yeah, it seemed strange to me too.

  Luis
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux