Hi, Oleksij Rpel

If we do it in ath9k_hw_init_mfp, these MAC version are related to USB devices:

AR_SREV_VERSION_9271
AR_SREV_VERSION_9280
AR_SREV_VERSION_9287

Right?

----
ChunYeow

On Fri, Nov 14, 2014 at 5:06 PM, Yeoh Chun-Yeow <[email protected]> wrote:
> On Fri, Nov 14, 2014 at 4:54 PM, Oleksij Rempel <[email protected]> 
> wrote:
>> Am 14.11.2014 um 06:07 schrieb Chun-Yeow Yeoh:
>>> Secured mesh encrypts the unicast mgmt frame using the same
>>> key that used for encrypting the unicast data frame. The patch
>>> "ath9k_htc_firmware: fix the offset of CCMP header for mesh
>>> data frame" applied to open-ath9k-htc-firmware allows the
>>> ath9k_htc to be loaded without "nohwcrypt=1". Unfortunately,
>>> this is not working and we still need CCMP encryption of
>>> management frames to be done in software. Fix this.
>>>
>>> This patch is tested with the following hardwares:
>>> - TP-Link TL-WN821N v3 802.11n [Atheros AR7010+AR9287]
>>> - AR9271 802.11n
>>>
>>> and managed to work with peer mesh STA equipped with ath9k.
>>>
>>> Signed-off-by: Chun-Yeow Yeoh <[email protected]>
>>> ---
>>>  drivers/net/wireless/ath/ath9k/htc_drv_main.c | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c 
>>> b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
>>> index 689ac99..d3f65a2 100644
>>> --- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
>>> +++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
>>> @@ -1447,7 +1447,8 @@ static int ath9k_htc_set_key(struct ieee80211_hw *hw,
>>>                       key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;
>>>                       if (key->cipher == WLAN_CIPHER_SUITE_TKIP)
>>>                               key->flags |= 
>>> IEEE80211_KEY_FLAG_GENERATE_MMIC;
>>> -                     if (priv->ah->sw_mgmt_crypto &&
>>> +                     if ((vif->type == NL80211_IFTYPE_MESH_POINT ||
>>> +                          priv->ah->sw_mgmt_crypto) &&
>>>                           key->cipher == WLAN_CIPHER_SUITE_CCMP)
>>>                               key->flags |= IEEE80211_KEY_FLAG_SW_MGMT_TX;
>>>                       ret = 0;
>>>
>>
>>
>> Hmm.. may be we should generally do it here:
>>         if ((vif->type == NL80211_IFTYPE_ADHOC ||
>>              vif->type == NL80211_IFTYPE_MESH_POINT) &&
>>             (key->cipher == WLAN_CIPHER_SUITE_TKIP ||
>>              key->cipher == WLAN_CIPHER_SUITE_CCMP) &&
>>             !(key->flags & IEEE80211_KEY_FLAG_PAIRWISE)) {
>>
>
> Not so sure doing here is correctly. It is a pairwise key for unicast
> management frame, right?
>
>> or probably set "sw_mgmt_crypto = true" in ath9k_hw_init_mfp() for all
>> usb devices?
>
> All ath9k USB devices don't have MFP support?
>
> ---
> ChunYeow
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to