2013-01-24 15:58:08

by Erwin Van de Velde

[permalink] [raw]
Subject: Unable to get RTS/CTS working in rt2800

Dear all,

In a test setup with 802.11a/n a colleague and I tried enabling RTS/CTS. The
only thing we got however was a CTS to self. RTS threshold was 1000B,
packet size 1400B. We looked for other options but did not find anything
helpful, what else can we try to enable RTS/CTS?

System:
Linux OpenWrt 3.3.8
driver: rt2800pci

Best regards,
Erwin



2013-01-25 10:45:50

by Erwin Van de Velde

[permalink] [raw]
Subject: Re: Unable to get RTS/CTS working in rt2800

On Friday 25 January 2013 09:42:31 Helmut Schaa wrote:
> On Thu, Jan 24, 2013 at 4:58 PM, Erwin Van de Velde
>
> <[email protected]> wrote:
> > In a test setup with 802.11a/n a colleague and I tried enabling
RTS/CTS.
> > The only thing we got however was a CTS to self. RTS threshold was
1000B,
> > packet size 1400B.
>
> Did you use 11n aggregation?

Yes, but afterwards we also tried it with 802.11a, same result.

> > We looked for other options but did not find anything
> > helpful, what else can we try to enable RTS/CTS?
>
> Yup, there are several issues there:
> - The hw ignores RTS thresholds for AMPDUs AFAIK
> - HT protection always uses CTS-to-self (hardcoded in driver in
> rt2800_config_ht_opmode)
>
> I don't think any other driver allows to configure if RTS-CTS or
> CTS-to-self should be used?
> You can easily enforce RTS-CTS for 11n transmissions by changing
> rt2800_config_ht_opmode.

Where do I configure that? Is it in the source code or is it a kernel
module parameter?

Best regards,
Erwin


2013-01-25 12:10:29

by Helmut Schaa

[permalink] [raw]
Subject: Re: Unable to get RTS/CTS working in rt2800

On Fri, Jan 25, 2013 at 11:45 AM, Erwin Van de Velde
<[email protected]> wrote:
> On Friday 25 January 2013 09:42:31 Helmut Schaa wrote:
>> On Thu, Jan 24, 2013 at 4:58 PM, Erwin Van de Velde
>>
>> <[email protected]> wrote:
>> > In a test setup with 802.11a/n a colleague and I tried enabling
> RTS/CTS.
>> > The only thing we got however was a CTS to self. RTS threshold was
> 1000B,
>> > packet size 1400B.
>>
>> Did you use 11n aggregation?
>
> Yes, but afterwards we also tried it with 802.11a, same result.

Bad. I expected this to work ...

>> > We looked for other options but did not find anything
>> > helpful, what else can we try to enable RTS/CTS?
>>
>> Yup, there are several issues there:
>> - The hw ignores RTS thresholds for AMPDUs AFAIK
>> - HT protection always uses CTS-to-self (hardcoded in driver in
>> rt2800_config_ht_opmode)
>>
>> I don't think any other driver allows to configure if RTS-CTS or
>> CTS-to-self should be used?
>> You can easily enforce RTS-CTS for 11n transmissions by changing
>> rt2800_config_ht_opmode.
>
> Where do I configure that? Is it in the source code or is it a kernel
> module parameter?

You'd need to change the source code of rt2800_config_ht_opmode.

Helmut

2013-01-25 08:42:32

by Helmut Schaa

[permalink] [raw]
Subject: Re: Unable to get RTS/CTS working in rt2800

On Thu, Jan 24, 2013 at 4:58 PM, Erwin Van de Velde
<[email protected]> wrote:
> In a test setup with 802.11a/n a colleague and I tried enabling RTS/CTS. The
> only thing we got however was a CTS to self. RTS threshold was 1000B,
> packet size 1400B.

Did you use 11n aggregation?

> We looked for other options but did not find anything
> helpful, what else can we try to enable RTS/CTS?

Yup, there are several issues there:
- The hw ignores RTS thresholds for AMPDUs AFAIK
- HT protection always uses CTS-to-self (hardcoded in driver in
rt2800_config_ht_opmode)

I don't think any other driver allows to configure if RTS-CTS or
CTS-to-self should be used?
You can easily enforce RTS-CTS for 11n transmissions by changing
rt2800_config_ht_opmode.

HTH,
Helmut