[PATCH] wpa_supplicant: Add support for PS3 Linux wireless driver

Masakazu Mokuno mokuno
Wed Feb 27 00:20:38 PST 2008


On Mon, 25 Feb 2008 14:00:40 -0500
Dan Williams <dcbw at redhat.com> wrote:

> On Mon, 2008-02-25 at 21:31 +0900, Masakazu Mokuno wrote:
> > Hi,
> > 
> > This adds support for PS3 wireless to wpa_supplicant.
> 
> Hmm; could this please be an extension of the WEXT driver?  Otherwise
> NetworkManager won't work automatically with the PS3 and wpa_supplicant,
> because NM only supports the WEXT driver of wpa_supplicant (for quite
> good reasons IMHO).
> 
> We had discussed the possibility of extending WEXT to let userspace apps
> know that the driver handles the 4-Way handshake in firmware, which
> should allow wpa_supplicant to figure this out and do the right thing in
> driver_wext.c.  We can certainly try to get such a flag added to WEXT in
> the kernel.

Yes we have some discussion...  

Rough changes I can guess for that are somthing like the followings:

- Define a new capability bit to tell that the driver does 4way
  handshake in the firmware, like:

   #define IW_ENC_CAPA_WPA		0x00000001
   #define IW_ENC_CAPA_WPA2		0x00000002
   #define IW_ENC_CAPA_CIPHER_TKIP	0x00000004
   #define IW_ENC_CAPA_CIPHER_CCMP	0x00000008
+  #define IW_ENC_CAPA_4WAY_HANDSHAKE	0x00000010

- Define new key types for PMK(PSK in WPA-personal) and/or WPA
  passphrase for iw_encode_ext like:

   /* struct iw_encode_ext ->ext_flags */
   #define IW_ENCODE_EXT_TX_SEQ_VALID	0x00000001
   #define IW_ENCODE_EXT_RX_SEQ_VALID	0x00000002
   #define IW_ENCODE_EXT_GROUP_KEY	0x00000004
   #define IW_ENCODE_EXT_SET_TX_KEY	0x00000008
+  #define IW_ENCODE_EXT_PMK		0x00000010
+  #define IW_ENCODE_EXT_WPA_PASSPHRASE	0x00000020

Userspace supplicants would do the followings:

  o Check the enc_capa bits returned by SIOCGIWRANGE to see whether the
driver wants to do the 4way handshake in firmware.

  o Call IW_AUT_KEY_MGMT of SIOCSIWAUTH with IW_AUTH_KEY_MGMT_PSK
enabled to tell the driver that the supplicant would pass PMK as PSK
(WPA-Personal).

  o Set the PSK (or passphrase) to the driver with SIOCSIWENCODEEXT,
IW_ENCODE_EXT_PMK or IW_ENCODE_WPA_PASSPHRASE enabled

  o Set other wireless parameters and trigger the association by
bringing up the interface or setting ssid.

The above is what I can guess now.  I think there are
mistakes/misunderstanding in the above.

Jouni, how do you think?

regards

--
Masakazu MOKUNO




More information about the Hostap mailing list