From: Andreas Hartmann <andihartmann@01019freenet.de>
To: "users@rt2x00.serialmonkey.com" <users@rt2x00.serialmonkey.com>
Cc: hostap@lists.shmoo.com,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
Helmut Schaa <helmut.schaa@googlemail.com>
Subject: Re: [rt2x00-users] [rt2800pci (AP) - ath9k] 802.11w: broken aggregation handling?
Date: Mon, 07 May 2012 12:17:33 +0200 [thread overview]
Message-ID: <4FA7A13D.6020405@01019freenet.de> (raw)
In-Reply-To: <201205070702.q4772uem002960@mail.maya.org>
[-- Attachment #1: Type: text/plain, Size: 3188 bytes --]
Andreas Hartmann wrote:
> On Mon, May 07 2012 at 07:11:31 +0200
> Andreas Hartmann <andihartmann@01019freenet.de> wrote:
>
>> Hello!
>>
>> I switched on 802.11w on my AP (rt2860) in hostapd with ieee80211w=1 and
>> in wpa_supplicant with ieee80211w=2 (ath9k). key_mgmt is WPA-EAP (TLS) /
>> CCMP for both pairwise and group.
>>
>> On both machines, compat-wireless-2012-04-26 (or
>> compat-wireless-3.4-rc3) is running.
>>
>> Directly after authorization, dhcp is started and therefore the opening
>> of the BA session is started by the AP but times out because of no
>> answer of the supplicant:
>
> [...]
>
>>
>> The deauth request from wpa_supplicant -> AP isn't recognized on the AP,
>> too.
>
> Meanwhile, I found the reason (I forgot to take care of hostapd's
> logfile - I would have expected an error message from the driver in
> messages, too :-)):
>
> AP (hostapd.log):
> ...
> 1336372202.462946: WPA: 48:5d:60:3e:a3:18 WPA_PTK entering state INITIALIZE
> 1336372202.462965: wpa_driver_nl80211_set_key: ifindex=17 alg=0 addr=0x673d40 key_idx=0 set_tx=1 seq_len=0 key_len=0
> 1336372202.462977: addr=48:5d:60:3e:a3:18
> 1336372202.462999: WPA: 48:5d:60:3e:a3:18 WPA_PTK_GROUP entering state IDLE
> 1336372202.463007: WPA: 48:5d:60:3e:a3:18 WPA_PTK entering state AUTHENTICATION
> 1336372202.463018: WPA: 48:5d:60:3e:a3:18 WPA_PTK entering state AUTHENTICATION2
> 1336372202.463025: WPA: Re-initialize GMK/Counter on first station
> 1336372202.463896: GMK - hexdump(len=32): [REMOVED]
> 1336372202.464771: Key Counter - hexdump(len=32): [REMOVED]
> 1336372202.465639: GTK - hexdump(len=16): [REMOVED]
> 1336372202.466502: IGTK - hexdump(len=16): [REMOVED]
> 1336372202.466524: wpa_driver_nl80211_set_key: ifindex=17 alg=3 addr=0x44fbbe key_idx=1 set_tx=1 seq_len=0 key_len=16
> 1336372202.466539: broadcast key
> 1336372202.478318: wpa_driver_nl80211_set_key: ifindex=17 alg=4 addr=0x44fbbe key_idx=4 set_tx=1 seq_len=0 key_len=16
> 1336372202.478349: broadcast key
> 1336372202.478389: nl80211: set_key failed; err=-22 Invalid argument)
> ....
> 1336372202.529973: wlan0: STA 48:5d:60:3e:a3:18 IEEE 802.1X: authenticated - EAP type: 13 (TLS)
>
>
> But there are some questions open anyway:
>
> - Why is the authentication started here at all, regardless of an error?
> - Why does TLS succeed? (802.11g is "working").
> - Why does set_key fail?
>
>
> I'm getting the same error, regardless if nohwcrypt is enabled for
> rt2800pci or not.
The attached patch seems to enable 802.11w for rt2800pci (AP). It does
not work for rt2800usb (rt3572 SUPP), even if the set_key error
disappears (originally the flag IEEE80211_HW_MFP_CAPABLE was set
unconditionally).
I can't say, if it works with all rt2800pci devices and I can't say, if
it works with rt2800pci device used as supplicant.
Tested (incl. PTK rekeying) with ath9k supplicant. Deauthentication does
work fine, too. I couldn't test, if using more then one supplicant at
the same time, does work, too.
Legacy driver (rt5572sta) seems to not support 802.11w at all (with
ralink driver). Even if ieee80211w=2 in supplicant.conf is enabled, it
uses plain text management frames.
Regards,
Andreas Hartmann
[-- Attachment #2: ieee802.11w-rt2x00.patch --]
[-- Type: text/x-patch, Size: 673 bytes --]
diff -ur compat-wireless-2012-04-26.orig/drivers/net/wireless/rt2x00/rt2800lib.c compat-wireless-2012-04-26/drivers/net/wireless/rt2x00/rt2800lib.c
--- compat-wireless-2012-04-26.orig/drivers/net/wireless/rt2x00/rt2800lib.c 2012-04-26 22:10:30.000000000 +0200
+++ compat-wireless-2012-04-26/drivers/net/wireless/rt2x00/rt2800lib.c 2012-05-07 11:04:17.894354807 +0200
@@ -4528,7 +4528,8 @@
*/
if (!rt2x00_is_usb(rt2x00dev))
rt2x00dev->hw->flags |=
- IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING;
+ IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
+ IEEE80211_HW_MFP_CAPABLE;
SET_IEEE80211_DEV(rt2x00dev->hw, rt2x00dev->dev);
SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
next prev parent reply other threads:[~2012-05-07 10:20 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-07 5:11 [rt2800pci (AP) - ath9k] 802.11w: broken aggregation handling? Andreas Hartmann
2012-05-07 7:02 ` [rt2x00-users] " Andreas Hartmann
2012-05-07 10:17 ` Andreas Hartmann [this message]
2012-05-07 11:04 ` Helmut Schaa
2012-05-07 13:55 ` Jouni Malinen
2012-05-08 6:28 ` Andreas Hartmann
2012-05-08 6:34 ` Johannes Berg
2012-05-08 7:22 ` Andreas Hartmann
2012-05-08 7:37 ` Johannes Berg
2012-05-08 7:34 ` Jouni Malinen
2012-05-08 18:16 ` Andreas Hartmann
2012-05-07 13:59 ` Jouni Malinen
2012-05-07 14:16 ` Andreas Hartmann
2012-05-07 15:18 ` Jouni Malinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FA7A13D.6020405@01019freenet.de \
--to=andihartmann@01019freenet.de \
--cc=helmut.schaa@googlemail.com \
--cc=hostap@lists.shmoo.com \
--cc=linux-wireless@vger.kernel.org \
--cc=users@rt2x00.serialmonkey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).