unicast WEP + key index >0

Volker Braun vbraun at physics.upenn.edu
Sun Oct 23 14:24:27 EDT 2005

I am having trouble connecting wpa_supplicant-0.4.5 + ipw2200-1.0.8 +
ieee80211-1.1.6 to an access point using dynamic WEP rekeying. I am
using kernel and wpa_supplicant -D wext. Turning on debugging,
I see that the ap gives me broadcast keys with key index 1 and 2, and
then gives me a unicast key with index 3. 

Is this legal behaviour? The driver_wext.c states:

------ snip on -------
 * wpa_driver_wext_set_key - Configure encryption key
 * @key_idx: Key index (0..3), always 0 for unicast keys
------ snip off -------

However, the document at
states that

------ snip on -------
Note: A station shall also support a single Pairwise key, since Group keys shall not use
index 0, Pairwise keys can always be implemented as default key 0 on the station.
------ snip off -------

So I think that driver_wext.c gets it wrong, and propose the following
patch below. Is that correct, or am I confused?

--- wpa_supplicant-0.4.5-original/driver_wext.c	2005-09-24 12:14:38.000000000 -0400
+++ wpa_supplicant-0.4.5/driver_wext.c	2005-10-23 14:21:28.000000000 -0400
@@ -1326,7 +1326,8 @@
  *	%WPA_ALG_TKIP, %WPA_ALG_CCMP); %WPA_ALG_NONE clears the key.
  * @addr: Address of the peer STA or ff:ff:ff:ff:ff:ff for
  *	broadcast/default keys
- * @key_idx: Key index (0..3), always 0 for unicast keys
+ * @key_idx: Key index (0..3), always >0 for broadcast key (=group key). 
+ *	Can be anything for unicast key (=pairwise key).
  * @set_tx: Configure this key as the default Tx key (only used when
  *	driver does not support separate unicast/individual key
  * @seq: Sequence number/packet number, seq_len octets, the next

More information about the HostAP mailing list