Thread (16 messages) 16 messages, 4 authors, 2012-01-29

Re: [PATCH] mac80211: minstrel_ht should not override user supplied rts setting

From: Marek Lindner <hidden>
Date: 2012-01-28 20:09:16

On Sunday, January 29, 2012 04:03:41 you wrote:
On Sat, Jan 28, 2012 at 11:58 AM, Marek Lindner [off-list ref] 
wrote:
quoted
On Sunday, January 29, 2012 03:17:32 Daniel Halperin wrote:
quoted
Adaptive RTS/CTS is important to control for interference---RTS/CTS is
there so that other Wi-Fi devices know not to interfere with your
flow. It may well be the case that this is not a major problem in
whatever your scenario you're working, Marek, but it makes a big
difference in a many bad corner cases.
I am very well aware of what RTS/CTS is for and I am not against using
it. However, having the rate algorithm overriding the user setting for a
specific rate is extremely hard to grasp or debug.
To give you an understanding where I am coming from: In our networks we
experienced extremely variable throughput ranging from 30Mbit/s (single
stream) to 0.2 Mbit/s in the next second. As you can imagine we were
trying to figure out what was going on. After spending some time and
losing hair I noticed that the RTS/CTS implementation of our driver
(ath9k) is buggy. Every once in a while the nodes would "battle" each
other with RTS/CTS packets. Strange enough for us, sometimes no RTS
packets were sent and sometimes they would battle. All attempts to
disable RTS/CTS for the mere sake of testing(!) was impossible. First I
thought ath9k did not properly implement the "iw rts" setting but that
wasn't the case. After losing more hair I realized that minstrel_ht, a
rate control algorithm(!), was overriding my rts settings but not
always(!). The only way to make RTS shut up was to apply the posted
patch.
Can you explain what the low-level behavior of an RTS/CTS "battle" is?

Abstractly, the behavior you're describing sounds like a buggy driver
that doesn't obey overheard RTS or CTS packets.
I certainly can explain it but this is for another thread and unrelated to the 
points raised before.

Regards,
Marek
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help