ath10k bug in station mode with regard to TX-BEAMFORMER?
Sebastian Gottschall
s.gottschall at dd-wrt.com
Thu Mar 2 14:53:08 PST 2017
Am 02.03.2017 um 22:26 schrieb Ben Greear:
> On 03/01/2017 05:43 PM, Sebastian Gottschall wrote:
>> Am 02.03.2017 um 01:56 schrieb Ben Greear:
>>> I have a user with an AP that advertises itself as a MU-BEAMFORMEE
>>> (and not MU-BEAMFORMER).
>>> My station firmware on 9984 is crashing because it tries to set up
>>> MU-MIMO tx logic as
>>> best as I can figure.
>>>
>>> Does the patch below look like a good idea?
>>>
>>> If so, I'll do it up official. Unfortunately, I don't have a good
>>> way to
>>> test this locally, so this is just based on my vague understanding
>>> of this
>>> feature...
>> i dont know if your patch makes sense, its just looking logic (i
>> handle this with vht_capa in wpa supplicant right now)
>> i also know the crash from older firmwares. with more recent official
>> firmwares it does not occur anymore. or lets i havent seen
>> this issue for a while
>
> Did you patch supplicant? If so, can you point me to the change(s)
> you made?
nope. i just used its features. there is a config entry named "vht_capa"
and "vht_capa_mask" which allows to mask out / in vht capabilities
>
> Thanks,
> Ben
>
>>>
>>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c
>>> b/drivers/net/wireless/ath/ath10k/mac.c
>>> index 219daaee..5aefc8a 100644
>>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>>> @@ -5372,6 +5372,7 @@ static int ath10k_mac_set_txbf_conf(struct
>>> ath10k_vif *arvif)
>>> {
>>> u32 value = 0;
>>> struct ath10k *ar = arvif->ar;
>>> + struct ieee80211_vif *vif = arvif->vif;
>>> int nsts;
>>> int sound_dim;
>>>
>>> @@ -5391,17 +5392,21 @@ static int ath10k_mac_set_txbf_conf(struct
>>> ath10k_vif *arvif)
>>> if (!value)
>>> return 0;
>>>
>>> - if (ar->vht_cap_info & IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE)
>>> + if ((ar->vht_cap_info &
>>> IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE) &&
>>> + (vif->type != NL80211_IFTYPE_STATION))
>>> value |= WMI_VDEV_PARAM_TXBF_SU_TX_BFER;
>>>
>>> - if (ar->vht_cap_info & IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE)
>>> + if ((ar->vht_cap_info &
>>> IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE) &&
>>> + (vif->type != NL80211_IFTYPE_STATION))
>>> value |= (WMI_VDEV_PARAM_TXBF_MU_TX_BFER |
>>> WMI_VDEV_PARAM_TXBF_SU_TX_BFER);
>>>
>>> - if (ar->vht_cap_info & IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE)
>>> + if ((ar->vht_cap_info &
>>> IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE) &&
>>> + (vif->type == NL80211_IFTYPE_STATION))
>>> value |= WMI_VDEV_PARAM_TXBF_SU_TX_BFEE;
>>>
>>> - if (ar->vht_cap_info & IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE)
>>> + if ((ar->vht_cap_info &
>>> IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE) &&
>>> + (vif->type == NL80211_IFTYPE_STATION))
>>> value |= (WMI_VDEV_PARAM_TXBF_MU_TX_BFEE |
>>> WMI_VDEV_PARAM_TXBF_SU_TX_BFEE);
>>>
>>>
>>> Thanks,
>>> Ben
>>>
>>
>>
>
>
--
Mit freundlichen Grüssen / Regards
Sebastian Gottschall / CTO
NewMedia-NET GmbH - DD-WRT
Firmensitz: Berliner Ring 101, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall at dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565
More information about the ath10k
mailing list