ath10k does not support selection antenna yet?

Adrian Chadd adrian at freebsd.org
Wed May 7 07:21:24 PDT 2014


On 7 May 2014 07:11, Ben Greear <greearb at candelatech.com> wrote:
> On 05/07/2014 02:26 AM, Janusz Dziedzic wrote:
>> On 7 May 2014 10:16, Vu Hai NGUYEN <vh.nguyen at actiasodielec.fr> wrote:
>>>>> I read in the debug's page that ath10k HW is currently limited to handle only single fixed rate setting or limit number of used spatial streams. Does it mean that the selection of antenna is not possible for this moment? Because if I look in the code of ath9k, there are 2 fonctions set_antenna and get_antenna in the structure: struct ieee80211_ops (file main.c) and that's why the out put of "iw list" for ath10k give me: Available Antennas:  TX0 RX0 and I can not select the antenna?
>>>
>>>> I'm not aware if that's possible.
>>>
>>> Thank you for your response. I think if the select and set antenna work, the out put of "iw list" may have some thing like this:
>>>         Available Antennas: TX 0x3 RX 0x3
>>>         Configured Antennas: TX 0x1 RX 0x1
>
> From looking at the 10.1.467 firmware, it appears it would support setting
> the tx and rx chainmask, and it seems the ath10k driver has at least some
> of the support needed to implement this.  grep for TX_CHAIN_MASK.
>
> I do NOT see a way in standard firmware to read the current chainmask.
>
> I have a way to read this in my customized firmware, but I have not yet
> tied it into the driver, and I am not certain my current method is the best option
> at this point...

The STA design of the firmware is that it is supposed to be completely
asynchronous - the firmware itself can make decisions about what the
current config is at any time. For example, if it's doing background
scanning, it may transmit the basic rate probe request frames using
one chain. Or it may go into a powersave mode where it shuts down
all-but-one tx and/or rx chain until they're needed.

Now, assuming they didn't go and break that design philosophy after I
left, you should try to keep that setup in mind. So ideally, you'd
send the firmware some command relevant to the current vdev, then you
either send a vdev query or you just get told about it when the radio
finishes vdev setup/association. But querying the "current chainmask"
may not reflect what's currently going on.



-a



More information about the ath10k mailing list