From: Ivo van Doorn <ivdoorn@gmail.com>
To: linux-wireless@vger.kernel.org
Subject: Antenna software diversity
Date: Mon, 14 Jan 2008 00:04:21 +0100 [thread overview]
Message-ID: <200801140004.21251.IvDoorn@gmail.com> (raw)
Hi,
In rt2x00 I have made an implementation for antenna software diversity
since not all Ralink hardware supports hardware diversity (aka, almost
all Ralink hardware which set the default antenna to diversity imply
software diversity).
However I would like to know if this is something should remain inside
the driver, or if it should be moved into mac80211. Possibly integrated
into the rate selection module, or otherwise as a seperate module which
could allow the user to select a prefered antenna selection method similar
as to how he can select the prefered rate algorithm.
The current implementation in rt2x00 looks a bit like this:
Once per second the link tuner will run.
The link tuner checks if software diversity is active for either TX or RX
or both antennas.
Determine the current average rssi, and the rssi from the previous period.
If the difference between the old and new average rssi is greater than 5
configure device to swap antenna. And raise the rssi sample flag.
After another link tuning period, evaluate sample results and determine
if the antennas should be swapped or not.
The actions don't really sound hardware dependant, based on the rssi
mac80211 should be able to determine if the antenna's should be swapped
or not. All that is required is the driver indicating to mac80211 that it should
perform software diversity when required...
In mac80211 this would mean that the antenna_sel should probably become
an enum looking like this:
enum antenna_sel {
ANTENNA_SEL_DEFAULT,
ANTENNA_SEL_A,
ANTENNA_SEL_B,
ANTENNA_SEL_DIVERSITY,
};
I am not really a fan of the ANTENNA_SEL_DEFAULT, but this is already present
in the current mac80211 implementation. So to remove that, we could use some
method for the driver to let the default antenna known to mac80211, probably
through an extra field in ieee80211_hw perhaps.
The ANTENNA_SEL_DIVERSITY would in this case be hardware diversity unless
the driver has indicated that software diversity is in action, through a flag in
ieee80211_hw.
Ivo
next reply other threads:[~2008-01-13 23:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-13 23:04 Ivo van Doorn [this message]
2008-01-13 23:13 ` Antenna software diversity Johannes Berg
2008-01-13 23:18 ` Ivo van Doorn
2008-01-14 3:46 ` Nick Kossifidis
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=200801140004.21251.IvDoorn@gmail.com \
--to=ivdoorn@gmail.com \
--cc=linux-wireless@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.