Search Linux Wireless

Antenna software diversity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux