Linux wireless drivers development
 help / color / mirror / Atom feed
From: a@pandem0nium
To: linux-wireless@vger.kernel.org
Cc: Johannes Berg <johannes@sipsolutions.net>,
	Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>,
	Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Subject: [PATCH 0/8] Add support for 5 and 10 MHz channels
Date: Thu,  9 May 2013 20:10:28 +0200	[thread overview]
Message-ID: <1368123036-22721-1-git-send-email-a> (raw)

From: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>

This patchset adds support for 5 and 10 MHz in nl80211/cfg80211/mac80211
and enables support in ath5k and ath9k, which already support this feature
on the driver side. 5 and 10 MHz wide channels might be useful for:

 * long shot links, as the transmissions are more robust
 * future support for 802.11y which allows some 5 and 10 MHz channels in
   3.6 GHz range
 * future support for 802.11p which uses 10 MHz in 5.9 GHz range
 * ... and more "special" applications.

Note that the transmissions are only defined for the OFDM PHY in the
standard and are therefore limited to 5 GHz, no HT or MIMO here. However,
at least my AR5K and AR9K based chips seem to support this mode on 2.4 GHz
as well. Datarates are halfed or quartered, leaving up to 27 Mbit/s or
13.5 Mbit/s gross rates respectively.

Some benchmark results (IBSS, iperf, ath9k on AR9220, ath5k on AR5213A):

 * ath5k -> ath5k:
	5.23 Mbit/s @ 5 MHz
	10.8 Mbit/s @ 10 MHz
	19.1 Mbit/s @ 20 MHz (NOHT mode)
 * ath9k -> ath9k:
	5.24 Mbit/s @ 5 MHz
	10.9 Mbit/s @ 10 MHz
	16.4 Mbit/s @ 20 MHz (NOHT mode, appears to be a little bit low though)

Comments:
 * Is there any special requirement for handling beacons? For example,
   rates are halfed or quartered, but some rates could not be represented
   in the rate IEs. For example, 2.25 mbit/s can not be represented as
   multiple of 500 kbps.
 * therefore, all rates are handled like the corresponding 20 MHz rates
   internally, which makes a lot of things easier (no changes required
   for rc-algos, beacon creation, etc...). We might consider adjusting the
   output of rates for nl80211 or radiotap, though.

As always, any comments are appreciated!
Cheers,
	Simon



Simon Wunderlich (8):
  nl80211/cfg80211: add 5 and 10 MHz defines and wiphy flag
  mac80211: fix various components for the new 5 and 10 MHz widths
  mac80211: change IBSS channel state to chandef
  mac80211: fix timing for 5 MHz and 10 MHz channels
  nl80211: allow 5 and 10 MHz channels for IBSS
  ath9k: convert to chandef, enable support for 5/10 MHz channels
  ath9k: announce that ath9k supports 5/10 MHz
  ath5k: enable support for 5 MHz and 10 MHz channels

 drivers/net/wireless/ath/ath5k/ath5k.h        |    1 +
 drivers/net/wireless/ath/ath5k/base.c         |   25 +++++++--
 drivers/net/wireless/ath/ath5k/base.h         |    2 +-
 drivers/net/wireless/ath/ath5k/mac80211-ops.c |    2 +-
 drivers/net/wireless/ath/ath9k/common.c       |   67 +++++++++++++++----------
 drivers/net/wireless/ath/ath9k/common.h       |    3 +-
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |    5 +-
 drivers/net/wireless/ath/ath9k/init.c         |    5 +-
 drivers/net/wireless/ath/ath9k/main.c         |    8 ++-
 drivers/net/wireless/ath/ath9k/rc.c           |    4 +-
 include/net/cfg80211.h                        |    2 +
 include/uapi/linux/nl80211.h                  |    4 ++
 net/mac80211/ibss.c                           |   24 +++++----
 net/mac80211/ieee80211_i.h                    |   45 +++++++++++++++--
 net/mac80211/mesh.c                           |    4 +-
 net/mac80211/mesh_plink.c                     |    8 ++-
 net/mac80211/mlme.c                           |   12 +++++
 net/mac80211/rate.c                           |    8 ++-
 net/mac80211/rc80211_minstrel.c               |   14 ++++--
 net/mac80211/rc80211_minstrel_ht.c            |    8 +--
 net/mac80211/tx.c                             |   10 ++--
 net/mac80211/util.c                           |   43 +++++++++++-----
 net/wireless/chan.c                           |   29 +++++++++++
 net/wireless/nl80211.c                        |   23 +++++++--
 24 files changed, 266 insertions(+), 90 deletions(-)

-- 
1.7.10.4


             reply	other threads:[~2013-05-09 18:10 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-09 18:10 a [this message]
2013-05-09 18:10 ` [PATCH 1/8] nl80211/cfg80211: add 5 and 10 MHz defines and wiphy flag a
2013-05-09 18:10 ` [PATCH 2/8] mac80211: fix various components for the new 5 and 10 MHz widths a
2013-05-09 18:31   ` Felix Fietkau
2013-05-09 19:46     ` Simon Wunderlich
2013-05-09 20:32       ` Felix Fietkau
2013-05-09 18:10 ` [PATCH 3/8] mac80211: change IBSS channel state to chandef a
2013-05-09 18:10 ` [PATCH 4/8] mac80211: fix timing for 5 MHz and 10 MHz channels a
2013-05-09 18:10 ` [PATCH 5/8] nl80211: allow 5 and 10 MHz channels for IBSS a
2013-05-09 18:10 ` [PATCH 6/8] ath9k: convert to chandef, enable support for 5/10 MHz channels a
2013-05-09 18:10 ` [PATCH 7/8] ath9k: announce that ath9k supports 5/10 MHz a
2013-05-09 18:10 ` [PATCH 8/8] ath5k: enable support for 5 MHz and 10 MHz channels a
2013-05-09 18:20 ` [PATCH 0/8] Add support for 5 " Simon Wunderlich
2013-05-10  7:26 ` Johannes Berg
2013-05-10  9:12   ` Adrian Chadd
2013-05-10  9:32     ` Simon Wunderlich
2013-05-10  9:34       ` Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1368123036-22721-1-git-send-email-a \
    --to=a@pandem0nium \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mathias.kretschmer@fokus.fraunhofer.de \
    --cc=siwu@hrz.tu-chemnitz.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox