Page MenuHomeFreeBSD

rtwn: explicitly configure RTS based on basic rates
Needs RevisionPublic

Authored by adrian on Thu, Dec 19, 2:21 AM.
Referenced Files
Unknown Object (File)
Thu, Dec 26, 2:32 PM
Unknown Object (File)
Thu, Dec 26, 3:30 AM
Unknown Object (File)
Wed, Dec 25, 1:18 PM
Unknown Object (File)
Wed, Dec 25, 11:02 AM
Unknown Object (File)
Wed, Dec 25, 9:05 AM
Unknown Object (File)
Wed, Dec 25, 7:41 AM
Unknown Object (File)
Sat, Dec 21, 8:29 PM
Unknown Object (File)
Fri, Dec 20, 4:24 PM
Subscribers

Details

Reviewers
bz
Group Reviewers
wireless
Summary

The NIC/firmware initialises the initial RTS/CTS rate to something
high, like OFDM48. That's not going to be very reliable.

It's not a problem right now as we program in the RTS/CTS value
to use in the TX descriptor setup path based on the control rate
for the given frame TX rate, and like the INIDATA/driver rate
stuff in the TX descriptor, the TX descriptor RTS/CTS rate overrides
the INIRTS rate.

However when it's time to flip on firmware based rate control,
the initial rate needs to not be OFDM48. Yes, the firmware and
hardware does have some rate retry schedule for RTS/CTS frames,
but there's no point in wasting short retries trying to do OFDM48
based RTS/CTS setup.

Add some warning logging if there are no basic or RTS/CTS rates
available, and leave things at default. If this happens in
production for someone then it would be good to know and what
the rate mask was.

Locally tested:

  • RTL8192CU, STA mode (with/without firmware rate control enabled locally)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 61319
Build 58203: arc lint + arc unit

Event Timeline

bz added a subscriber: bz.
bz added inline comments.
sys/dev/rtwn/if_rtwn_rx.c
164

That could be a single line of arguments and save some vertical space.

This revision is now accepted and ready to land.Fri, Dec 20, 7:26 AM
  • fix fls() offset bug, it starts at 1, not 0
  • allow more CCK rates and OFDM up to 24, after consultation with other wifi community people
This revision now requires review to proceed.Tue, Dec 24, 5:32 PM

This also looks good.

sys/dev/rtwn/if_rtwn_rx.c
154

Can we have symbolic constants for this mask instead of a comment?

bz requested changes to this revision.Tue, Jan 7, 7:06 PM

There are pending requests fr changes from @fuz and me here.

This revision now requires changes to proceed.Tue, Jan 7, 7:06 PM