2007-03-31 21:02:36

by Michael Wu

[permalink] [raw]
Subject: Re: mac80211 does not support WPA when used with wext

On Saturday 31 March 2007 15:56, dragoran dragoran wrote:
> also networkmanager and hal think that the card only supports wep...
> thx for the patch...
> does it adress this issues?
No, this has nothing to do with that. The following patch should address that
issue, but my copy of networkmanager already does WPA fine so I can't say for
sure whether it will help or not. A quick look through the networkmanager
code seems to suggest this will work.

--

mac80211: set enc_capa

From: Michael Wu <[email protected]>

Update we_version_source and set enc_capa in iw_range.

Signed-off-by: Michael Wu <[email protected]>
---

net/mac80211/ieee80211_ioctl.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/ieee80211_ioctl.c b/net/mac80211/ieee80211_ioctl.c
index b28e794..d139d97 100644
--- a/net/mac80211/ieee80211_ioctl.c
+++ b/net/mac80211/ieee80211_ioctl.c
@@ -1583,7 +1583,7 @@ static int ieee80211_ioctl_giwrange(struct net_device
*dev,
memset(range, 0, sizeof(struct iw_range));

range->we_version_compiled = WIRELESS_EXT;
- range->we_version_source = 14;
+ range->we_version_source = 21;
range->retry_capa = IW_RETRY_LIMIT;
range->retry_flags = IW_RETRY_LIMIT;
range->min_retry = 0;
@@ -1603,6 +1603,9 @@ static int ieee80211_ioctl_giwrange(struct net_device
*dev,
range->avg_qual.noise = 0;
range->avg_qual.updated = local->wstats_flags;

+ range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
+ IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP;
+
return 0;
}


Attachments:
(No filename) (1.52 kB)
(No filename) (189.00 B)
Download all attachments

2007-04-02 05:28:11

by Michael Wu

[permalink] [raw]
Subject: Re: WPA does not connect to bcm43xx-mac80211 when using NetworkManager

On Sunday 01 April 2007 23:50, Larry Finger wrote:
> I'm using Michael Buesch's "mb" tree with the "mac80211: use IWEVGENIE" and
> "mac80211: set enc_capa" patches by Michael Wu. My distro is openSUSE 10.2
> on an x86_64 system.
>
I had a similar (probably same) issue but it doesn't seem to happen as much
now. If you're using the tree from
http://bu3sch.de/gitweb?p=wireless-dev.git;a=summary - that does not contain
a number of very useful patches from Jiri's tree which are currently in
Linville's wireless-dev. Please try with the patches from Linville's tree.

If it continues to occur, try unloading the module (bcm43xx_mac80211) and
loading it again as a workaround. If that works, we most likely are seeing
the same issue. I also recommend updating wpa_supplicant (SuSE 10.2 ships
with 0.4.9 IIRC, I test with 0.5.7) but that probably doesn't matter much.

-Michael Wu


Attachments:
(No filename) (885.00 B)
(No filename) (189.00 B)
Download all attachments

2007-04-02 04:08:31

by Dan Williams

[permalink] [raw]
Subject: Re: WPA does not connect to bcm43xx-mac80211 when using NetworkManager

On Sun, 2007-04-01 at 22:50 -0500, Larry Finger wrote:
> Dan,
>
> My bcm43xx-mac80211 system generates the following log entries when trying to connect using WPA-PSK
> TKIP controlled by NetworkManager. The same configuration works with bcm43xx-softmac.

So what you're saying here is that NM works with softmac, but doesn't
work with mac80211?

> eth1: Initial auth_alg=0
> eth1: authenticate with AP 00:14:bf:85:49:fa
> eth1: RX authentication from 00:14:bf:85:49:fa (alg=0 transaction=2 status=0)
> eth1: authenticated
> eth1: associate with AP 00:14:bf:85:49:fa
> eth1: RX AssocResp from 00:14:bf:85:49:fa (capab=0x31 status=0 aid=2)
> eth1: associated
> wmaster0: Added STA 00:14:bf:85:49:fa
> eth1: RX deauthentication from 00:14:bf:85:49:fa (reason=15)
> eth1: deauthenticated
> eth1: set_encrypt - unknown addr 00:00:00:00:00:00
> eth1: authenticate with AP 00:14:bf:85:49:fa
> eth1: RX authentication from 00:14:bf:85:49:fa (alg=0 transaction=2 status=0)
> eth1: authenticated
> eth1: associate with AP 00:14:bf:85:49:fa
> eth1: RX ReassocResp from 00:14:bf:85:49:fa (capab=0x31 status=0 aid=2)
> eth1: associated
> eth1: starting scan
>
> It does the original open authentication and associates, but the final WPA authentication times out.

Hmm; any idea why that happens? Can we figure out more about the
association process inside the driver? If it works with wpa_supplicant,
can you increase the debugging output of wpa_supplicant in the NM
sources in nm-device-802-11-wireless.c in supplicant_exec() by adding
another argument to argv with the value '-ddd'?

Thanks!
Dan

> I'm using Michael Buesch's "mb" tree with the "mac80211: use IWEVGENIE" and "mac80211: set enc_capa"
> patches by Michael Wu. My distro is openSUSE 10.2 on an x86_64 system.
>
> Please advise on any further information I should provide.
>
> Thanks,
>
> Larry


2007-04-01 08:19:35

by Johannes Berg

[permalink] [raw]
Subject: Re: mac80211 does not support WPA when used with wext

On Sat, 2007-03-31 at 17:00 -0400, Michael Wu wrote:

> No, this has nothing to do with that. The following patch should address that
> issue, but my copy of networkmanager already does WPA fine so I can't say for
> sure whether it will help or not. A quick look through the networkmanager
> code seems to suggest this will work.

My NM also does WPA but fails (see previous thread), haven't gotten
around to debugging it yet. But it definitely tries WPA. Then, however,
when I decline to give it a key because I want to use wpa_supplicant
manually, it tells me that my card can't do WPA (encryption not
supported or something)...

johannes


Attachments:
signature.asc (190.00 B)
This is a digitally signed message part

2007-04-01 00:47:04

by Dan Williams

[permalink] [raw]
Subject: Re: mac80211 does not support WPA when used with wext

On Sat, 2007-03-31 at 17:00 -0400, Michael Wu wrote:
> On Saturday 31 March 2007 15:56, dragoran dragoran wrote:
> > also networkmanager and hal think that the card only supports wep...
> > thx for the patch...
> > does it adress this issues?
> No, this has nothing to do with that. The following patch should address that
> issue, but my copy of networkmanager already does WPA fine so I can't say for
> sure whether it will help or not. A quick look through the networkmanager
> code seems to suggest this will work.

Correct; NM won't allow WPA unless the driver explicitly advertises
support for it.

Acked-by: Dan Williams <[email protected]>

> --
>
> mac80211: set enc_capa
>
> From: Michael Wu <[email protected]>
>
> Update we_version_source and set enc_capa in iw_range.
>
> Signed-off-by: Michael Wu <[email protected]>
> ---
>
> net/mac80211/ieee80211_ioctl.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/net/mac80211/ieee80211_ioctl.c b/net/mac80211/ieee80211_ioctl.c
> index b28e794..d139d97 100644
> --- a/net/mac80211/ieee80211_ioctl.c
> +++ b/net/mac80211/ieee80211_ioctl.c
> @@ -1583,7 +1583,7 @@ static int ieee80211_ioctl_giwrange(struct net_device
> *dev,
> memset(range, 0, sizeof(struct iw_range));
>
> range->we_version_compiled = WIRELESS_EXT;
> - range->we_version_source = 14;
> + range->we_version_source = 21;
> range->retry_capa = IW_RETRY_LIMIT;
> range->retry_flags = IW_RETRY_LIMIT;
> range->min_retry = 0;
> @@ -1603,6 +1603,9 @@ static int ieee80211_ioctl_giwrange(struct net_device
> *dev,
> range->avg_qual.noise = 0;
> range->avg_qual.updated = local->wstats_flags;
>
> + range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
> + IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP;
> +
> return 0;
> }
>


2007-04-02 03:50:19

by Larry Finger

[permalink] [raw]
Subject: WPA does not connect to bcm43xx-mac80211 when using NetworkManager


Dan,

My bcm43xx-mac80211 system generates the following log entries when trying to connect using WPA-PSK
TKIP controlled by NetworkManager. The same configuration works with bcm43xx-softmac.

eth1: Initial auth_alg=0
eth1: authenticate with AP 00:14:bf:85:49:fa
eth1: RX authentication from 00:14:bf:85:49:fa (alg=0 transaction=2 status=0)
eth1: authenticated
eth1: associate with AP 00:14:bf:85:49:fa
eth1: RX AssocResp from 00:14:bf:85:49:fa (capab=0x31 status=0 aid=2)
eth1: associated
wmaster0: Added STA 00:14:bf:85:49:fa
eth1: RX deauthentication from 00:14:bf:85:49:fa (reason=15)
eth1: deauthenticated
eth1: set_encrypt - unknown addr 00:00:00:00:00:00
eth1: authenticate with AP 00:14:bf:85:49:fa
eth1: RX authentication from 00:14:bf:85:49:fa (alg=0 transaction=2 status=0)
eth1: authenticated
eth1: associate with AP 00:14:bf:85:49:fa
eth1: RX ReassocResp from 00:14:bf:85:49:fa (capab=0x31 status=0 aid=2)
eth1: associated
eth1: starting scan

It does the original open authentication and associates, but the final WPA authentication times out.

I'm using Michael Buesch's "mb" tree with the "mac80211: use IWEVGENIE" and "mac80211: set enc_capa"
patches by Michael Wu. My distro is openSUSE 10.2 on an x86_64 system.

Please advise on any further information I should provide.

Thanks,

Larry

2007-04-03 14:26:03

by Larry Finger

[permalink] [raw]
Subject: Re: WPA does not connect to bcm43xx-mac80211 when using NetworkManager

Dan Williams wrote:
> On Sun, 2007-04-01 at 22:50 -0500, Larry Finger wrote:
>> Dan,
>>
>> My bcm43xx-mac80211 system generates the following log entries when trying to connect using WPA-PSK
>> TKIP controlled by NetworkManager. The same configuration works with bcm43xx-softmac.
>
> So what you're saying here is that NM works with softmac, but doesn't
> work with mac80211?

Yes.

>
> Hmm; any idea why that happens? Can we figure out more about the
> association process inside the driver? If it works with wpa_supplicant,
> can you increase the debugging output of wpa_supplicant in the NM
> sources in nm-device-802-11-wireless.c in supplicant_exec() by adding
> another argument to argv with the value '-ddd'?

What version of NM will work with dbus-glib 0.71? I grabbed the svn archive, found it needed 0.72,
and tried to install a newer version. I messed everything up and had to reinstall openSUSE again. I
certainly don't want to go through that again!

Larry