Bug 183430 - [iwn] latest change to the rate code setup uses 11n rates on an 11n channel when 11n rates aren't provided
Summary: [iwn] latest change to the rate code setup uses 11n rates on an 11n channel w...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: wireless (show other bugs)
Version: 1.0-CURRENT
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-wireless (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-29 04:00 UTC by Adrian Chadd
Modified: 2019-01-21 09:30 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adrian Chadd freebsd_committer freebsd_triage 2013-10-29 04:00:01 UTC
the latest changes in iwn messed up how the rates are calculated.

the PLCP lookup code is doing the wrong thing - it assumes that an 11n channel will always have 11n traffic. However, some management traffic may be non-11n. So, support that.

Some 11n APs get very unhappy if you send them 11n management frames, so don't do that.
Comment 1 dfilter service freebsd_committer freebsd_triage 2013-10-29 04:03:08 UTC
Author: adrian
Date: Tue Oct 29 04:03:00 2013
New Revision: 257301
URL: http://svnweb.freebsd.org/changeset/base/257301

Log:
  Fix the PLCP lookup code in iwn(4) to base the 11n decision on whether
  the rate is 11n, rather than whether the channel is 11n.
  
  This correctly allows the PLCP lookup code to return the legacy rates
  even on an 11n channel.
  
  PR:		kern/183430

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Tue Oct 29 03:52:05 2013	(r257300)
+++ head/sys/dev/iwn/if_iwn.c	Tue Oct 29 04:03:00 2013	(r257301)
@@ -2210,7 +2210,7 @@ iwn_rate_to_plcp(struct iwn_softc *sc, s
 	 * If it's an MCS rate, let's set the plcp correctly
 	 * and set the relevant flags based on the node config.
 	 */
-	if (IEEE80211_IS_CHAN_HT(ni->ni_chan)) {
+	if (rate & IEEE80211_RATE_MCS) {
 		/*
 		 * Set the initial PLCP value to be between 0->31 for
 		 * MCS 0 -> MCS 31, then set the "I'm an MCS rate!"
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2013-10-29 04:54:52 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-wireless

Over to maintainer(s).
Comment 3 Eitan Adler freebsd_committer freebsd_triage 2018-05-28 19:46:53 UTC
batch change:

For bugs that match the following
-  Status Is In progress 
AND
- Untouched since 2018-01-01.
AND
- Affects Base System OR Documentation

DO:

Reset to open status.


Note:
I did a quick pass but if you are getting this email it might be worthwhile to double check to see if this bug ought to be closed.
Comment 4 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2019-01-21 09:30:08 UTC
There is a commit referencing this PR, but it's still not closed and has been inactive for some time. Closing the PR as fixed but feel free to re-open it if the issue hasn't been completely resolved.

Thanks