Linux wireless drivers development
 help / color / mirror / Atom feed
* [RFC 0/4] add master channel switch announcement support
@ 2013-05-06 19:13 Simon Wunderlich
  2013-05-06 19:13 ` [RFC 1/4] cfg80211: add chandef to operating class conversion Simon Wunderlich
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Simon Wunderlich @ 2013-05-06 19:13 UTC (permalink / raw)
  To: linux-wireless; +Cc: Johannes Berg, Mathias Kretschmer, Simon Wunderlich

This is an early RFC of a possible channel switch announcement infrastructure.
It adds CSA/ECSA handling support for AP. This is required for DFS operation
(e.g. Wi-Fi Alliance requires this for 802.11h certification). This will also
be required for IBSS-DFS later.

I'd like to discuss if this design approach is going in the right direction.
What is currently working:

 * channels are announced by adding IEs (CSA and Extended CSA) in beacons
 * after some (configurable) time, the channel is switched
 * with the channel switch, CSA/ECSA IEs are removed and channel information
   is updated.
 * Userspace calls a new command NL80211_CMD_CHANNEL_SWITCH along with channel info
   (freq + width), whether traffic should be blocked and timing information
 * it currently works for me [TM] on my ath9k based machine

Questions:

 * We already have NL80211_CMD_CH_SWITCH_NOTIFY which is only used for notification.
   Maybe we can rename that and re-use it instead of adding a new command
   NL80211_CMD_CHANNEL_SWITCH?
 * Changes from HT20/NOHT to HT20/NOHT are handled with normal Channel Switch
   Announcements, everything else (for 40 MHz) is done with Extended Channel Switch
   Announcements. As far as I read the spec, we can't  use the secondary channel
   offset IE in beacons, but maybe I'm wrong here?
 * could other drivers (next to ath9k) work with this API?

Limitations:
 * only works for single interfaces (no plan to change that, due to lack of good concept)
 * Only changes in the same band (e.g. 2GHz -> 2GHz or 5GHz -> 5 GHz) and same
   operation mode (HT->HT or NOHT->NOHT) are supported. Especially the first
   restriction would be troublesome when rewriting the beacon (not only channel
   info has to be changed, but also basic rates, country information, etc ...).
   => What do you think about this approach?
   => (An alternative would be to require userspace to supply the next beacon too)
 * probe responses are not handled yet (have to look into it)
 * user notification is missing (we should send an event after this is finished)
 * locking and many corner cases are still broken (will fix that later)

As always, any comments are appreciated.

Cheers,
	Simon 

Simon Wunderlich (4):
  cfg80211: add chandef to operating class conversion
  nl80211/cfg80211: add channel switch command
  mac80211: add channel switch command and beacon callbacks
  ath9k: enable CSA functionality in ath9k

 drivers/net/wireless/ath/ath9k/main.c |    6 +
 include/linux/ieee80211.h             |    9 ++
 include/net/cfg80211.h                |   15 ++
 include/net/mac80211.h                |   21 +++
 include/uapi/linux/nl80211.h          |   20 +++
 net/mac80211/cfg.c                    |  262 +++++++++++++++++++++++++++++++++
 net/mac80211/driver-ops.h             |   11 ++
 net/mac80211/ieee80211_i.h            |    9 ++
 net/mac80211/iface.c                  |    2 +
 net/mac80211/trace.h                  |   20 +++
 net/mac80211/tx.c                     |   59 ++++++++
 net/mac80211/util.c                   |  210 ++++++++++++++++++++++++++
 net/wireless/nl80211.c                |   76 +++++++++-
 net/wireless/util.c                   |  193 ++++++++++++++++++++++++
 14 files changed, 912 insertions(+), 1 deletion(-)

-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-06-18 14:02 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-06 19:13 [RFC 0/4] add master channel switch announcement support Simon Wunderlich
2013-05-06 19:13 ` [RFC 1/4] cfg80211: add chandef to operating class conversion Simon Wunderlich
2013-05-06 19:13 ` [RFC 2/4] nl80211/cfg80211: add channel switch command Simon Wunderlich
2013-05-06 19:13 ` [RFC 3/4] mac80211: add channel switch command and beacon callbacks Simon Wunderlich
2013-05-06 19:13 ` [RFC 4/4] ath9k: enable CSA functionality in ath9k Simon Wunderlich
2013-05-13 10:09 ` [RFC 0/4] add master channel switch announcement support Johannes Berg
2013-05-14  9:27   ` Simon Wunderlich
2013-05-28 10:43     ` Simon Wunderlich
2013-06-11 12:31     ` Johannes Berg
2013-06-11 14:18       ` Simon Wunderlich
2013-06-18 14:01         ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox