Gmane
From: Eric Malkowski <eric <at> bvwireless.net>
Subject: Re: 0.9.4.1 branch and Release 0.9.4 missing Ticket #539 fix changeset 2225
Newsgroups: gmane.linux.drivers.madwifi.user
Date: 2008-09-05 21:36:01 GMT (10 weeks, 6 days, 11 hours and 17 minutes ago)
Ok -- turns out Ticket #539 changes not being in the 0.9.4 branch is no 
problem.  The first SETMLME error mentioned is just nuissance.  The 
device is brought up later in the init (via drv->commit function I 
believe) and all is well.

So I'm having success with the following:

Linux Kernel 2.6.26.3 (latest stable as of this writing)
uClibc 0.9.29
Madwifi 0.9.4 Branch 
http://svn.madwifi.org/madwifi/branches/madwifi-0.9.4  Revision r3859
Hostapd 0.5.10 stable

The configuration from this page: 
http://madwifi.org/wiki/UserDocs/WPA_PSK_on_Both_Ends
Where I'm using the AP portion.

The following supplicants work:

Laptop w/ XP with CM-9 card and Atheros driver 3.3.0.150 from 06/2004 
using the built in Windows supplicant.
The supplicant that comes w/ the atheros utility that takes over for the 
windows supplicant does NOT work, but I'm suspecting it's because it's 
old.  I may try to find a new version but it stinks that atheros doesn't 
offer driver downloads.  Senao/Wistron websites are no fun either.  I 
hate searching through driverguide too -- any tips on where to get 
latest Atheros 5XXX driver for windows XP?  I've also tried Netgate, but 
their offerings appear old.

Laptop w/ XP new from Dell 2 months ago w/ Dell Wireless utility (can't 
remember if it's a broadcom card but expect so) works fine.
Linksys WET54G Version 3 in all 4 possible modes:  WPA/TKIP WPA/CCMP 
WPA2/TKIP WPA2/CCMP

It appears I'll have good interoperability with various machines that 
will be getting on this setup.

So I'm sticking with the setup I've got that appears to work well.

The hardware:

3 x Alix 3c2 boards each with
   - Engenius EMP-8602+S 600 mW 2.4 ghz radio to dual band rubber duck omni
   - Ubiquiti XR-5 600mW 5.8 ghz radio backhaul in adhoc mode to same 
dual band rubber duck omni

Software for the mesh part is OLSR 0.5.6 with link quality extension, 
secure extension, and dyn gateway plugin.  Just running WEP on that 
ad-hoc mech to keep casual people off.
One of the boxes does firewall/NAT for internet default route.
One box runs BIND where each run dnsmasq pointing to the BIND server and 
handing out DHCP for the 2.4 ghz networks - simple class C subnets are 
HNA networks for OLSR.

I plan to run 5 of these in a mesh for a temporary network for an 
outdoor event.  We'll hand out WPA keys for people to get on the 2.4 ghz 
APs.

Eric Malkowski wrote:
> Hi all-
>
> I was playing w/ hostapd 0.5.10 on latest madwifi 0.9.4 branch and ran 
> into the Ticket #539 problem where the IEEE80211_IOCTL_SETMLME would 
> fail since at hostapd at startup sets the interface down (and seems to 
> continue to fail w/ EINVAL when a station tries to get going).
>
> I was using Release 0.9.4 for stability and then went to 
> svn.madwifi.org/madwifi/branches/madwifi-0.9.4/HEAD since I'm using 
> latest linux kernel 2.6.26.3 so it would compile ok.
>
> I noticed the code for changeset 2225 in ieee80211_wireless.c that 
> allows MLME DISASSOC DEAUTH and UNAHTHORIZE operations while the card 
> has the interface down is not present in 0.9.4.1 (branch) or 0.9.4 
> release from February, 2008 yet that change was made about a year 
> prior to the 0.9.4 release in March of 2007 on the trunk.
>
> I think that change will fix most if not all of my problem, but I'm 
> wondering if I should be using some other SVN branch rather than 
> madwifi-0.9.4/HEAD  where my goal is stability and compatibility with 
> the latest hostapd-0.5.10 release???
>
> I will try patching that into my copy of the code later on and test to 
> see if it fixes things and report but I wanted to get some opinions 
> from you guys.
>
> The code snippet looks like this from changeset 2225
>
> http://madwifi.org/changeset/2225
>
> Index: /trunk/net80211/ieee80211_wireless.c
> ===================================================================
> --- /trunk/net80211/ieee80211_wireless.c (revision 2210)
> +++ /trunk/net80211/ieee80211_wireless.c (revision 2225)
> @@ -3330,6 +3330,14 @@
>     struct ieee80211_node *ni;
>
> -    if (!IS_UP(dev))
> -        return -EINVAL;
> +    if (!IS_UP(dev)) {
> +        switch (mlme->im_op) {
> +        case IEEE80211_MLME_DISASSOC:
> +        case IEEE80211_MLME_DEAUTH:
> +        case IEEE80211_MLME_UNAUTHORIZE:
> +            return 0;
> +        default:
> +            return -ENETDOWN;
> +        }
> +    }
>     switch (mlme->im_op) {
>     case IEEE80211_MLME_ASSOC:
>
>
> Thanks for any info.
>
>
>
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/