Subject: Re: [PATCH] wireless/airo: minimal WPA awareness

From: Michal Schmidt <[email-masked]>
Date: Tue, 02 May 2006 23:29:55 +0200

Dan Williams wrote:
> airo cards with firmware versions of 5.30.17 and higher support WPA.
> This patch recognizes WPA-capable firmware versions and adds support for
> retrieving the WPA and RSN information elements from the card's scan
> results.  The JOB and FLAG fields are now independent, since there was
> no space left in the FLAG field for FLAG_WPA_CAPABLE.
> 
> Signed-off-by: matthieu castet <[email-masked]>
> Signed-off-by: Dan Williams <[email-masked]>

Running Linux 2.6.17-rc3-mm1 which has this patch included I get this 
interesting message:
airo(eth0): WPA unsupported (only firmware versions 5.30.17 and greater 
support WPA.  Detected 5.30.17)

airo_test_wpa_capable assumes that the softSubVer part of the firmware 
version number is coded in BCD. Apparently, that's not true.
I have firmware version 5.30.17 and cap_rid.softSubVer is 0x11==17.

Signed-off-by: Michal Schmidt <[email-masked]>
diff -Nurp -X linux-mich/Documentation/dontdiff linux-mm/drivers/net/wireless/airo.c linux-mich/drivers/net/wireless/airo.c
--- linux-mm/drivers/net/wireless/airo.c	2006-05-02 20:20:37.000000000 +0200
+++ linux-mich/drivers/net/wireless/airo.c	2006-05-02 23:16:59.000000000 +0200
@@ -2768,7 +2768,7 @@ static int airo_test_wpa_capable(struct 
 
 	/* Only firmware versions 5.30.17 or better can do WPA */
 	if ((cap_rid.softVer > 0x530)
-	  || ((cap_rid.softVer == 0x530) && (cap_rid.softSubVer >= 0x17))) {
+	  || ((cap_rid.softVer == 0x530) && (cap_rid.softSubVer >= 17))) {
 		airo_print_info(name, "WPA is supported.");
 		return 1;
 	}