On Fri, Nov 14, 2014 at 5:51 PM, Oleksij Rempel <li...@rempel-privat.de> wrote:
> Am 14.11.2014 um 10:18 schrieb Yeoh Chun-Yeow:
>> 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?
>
> yes. ar9271 with usb interface. ar9280 and ar9287 are pcie attached to
> ar7010 cpu.
>

Alright, I will work out the patch using ath9k_hw_init_mfp.

---
ChunYeow

>> ----
>> ChunYeow
>>
>> On Fri, Nov 14, 2014 at 5:06 PM, Yeoh Chun-Yeow <yeohchuny...@gmail.com> 
>> wrote:
>>> On Fri, Nov 14, 2014 at 4:54 PM, Oleksij Rempel <li...@rempel-privat.de> 
>>> 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 <yeohchuny...@gmail.com>
>>>>> ---
>>>>>  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
>
>
> --
> Regards,
> Oleksij
>
_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to