Search Linux Wireless

Re: [PATCH v6 1/3] cfg80211: Add nl80211 antenna configuration

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

 



On Thu, Nov 4, 2010 at 11:53 PM, Bruno Randolf <br1@xxxxxxxxxxx> wrote:
> Allow setting of TX and RX antenna configuration via nl80211.
>
> The antenna configuration is defined as a bitmap of allowed antennas to use.
> This API can be used to mask out antennas which are not attached or should not
> be used for other reasons like regulatory concerns or special setups.
>
> Separate bitmaps are used for RX and TX to allow configuring different antennas
> for receiving and transmitting. The bitmap is 8 bit long, each bit representing
> one antenna, starting with antenna 1 at the first bit. If an antenna bit is
> set, this means the driver is allowed to use this antenna for RX or TX
> respectively; if the bit is not set the hardware is not allowed to use this
> antenna.
>
> Using bitmaps has the benefit of allowing for a flexible configuration
> interface which can support many different configurations and which can be used
> for 802.11n as well as non-802.11n devices. Instead of relying on some hardware
> specific assumptions, drivers can use this information to know which antennas
> are actually attached to the system and derive their capabilities based on
> that.
>
> 802.11n devices should enable or disable chains, based on which antennas are
> present (If all antennas belonging to a particular chain are disabled, the
> entire chain should be disabled). HT capabilities (like STBC, TX Beamforming,
> Antenna selection) should be calculated based on the available chains after
> applying the antenna masks. Should a 802.11n device have diversity antennas
> attached to one of their chains, diversity can be enabled or disabled based on
> the antenna information.
>
> Non-802.11n drivers can use the antenna masks to enable or disable antenna
> diversity.
>
> While covering chainmasks for 802.11n and the standard "legacy" modes "fixed
> antenna 1", "fixed antenna 2" and "diversity" this API also allows more rare,
> but useful configurations as follows:
>
> 1) Send on antenna 1, receive on antenna 2 (or vice versa). This can be used to
> have a low gain antenna for TX in order to keep within the regulatory
> constraints and a high gain antenna for RX in order to receive weaker signals
> ("speak softly, but listen harder"). This can be useful for building long-shot
> outdoor links. Another usage of this setup is having a low-noise pre-amplifier
> on antenna 1 and a power amplifier on the other antenna. This way transmit
> noise is mostly kept out of the low noise receive channel.
> (This would be bitmaps: tx 1 rx 2).
>
> 2) Another similar setup is: Use RX diversity on both antennas, but always send
> on antenna 1. Again that would allow us to benefit from a higher gain RX
> antenna, while staying within the legal limits.
> (This would be: tx 0 rx 3).
>
> 3) And finally there can be special experimental setups in research and
> development even with pre 802.11n hardware where more than 2 antennas are
> available. It's good to keep the API simple, yet flexible.
>
> Signed-off-by: Bruno Randolf <br1@xxxxxxxxxxx>

Can you please make the TX/RX antenna stuff 32 bits so that way we
never run out? 8-bits will get us far but better to not be sorry about
this later.

  Luis
--
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