Madwifi and hostapd IEEE80211_IOCTL_SETMLME

David shadoweyez
Mon Mar 19 17:27:15 PDT 2007

Hi all
Problem with madwifi and hostapd that I believe to be with hostapd - similar to
madwifi ticket 559 and hostapd ticket 200.

Setup: gentoo, with everything correctly compiled in, WPA2-PSK with
AES-CCMP setup, no radius or EAP server, tried with madwifi and the new
madwifi, and tried with hostapd 0.4.10, 0.5.7, and 0.6-2/24/2007(devel).
 On hostapd 5 series with either of the madwifi's and I get the same error.
(hostapd 4 and 6 series do not compile against madwifi 0.9.3, though on madwifi they do and they give the same errors when compiled.)

It's a classic case of the IEEE80211_IOCTL_SETMLME function not working or
passing parameters correctly.  On one of the hostapd forms someone said they
tried this:
-       madwifi_set_iface_flags(drv, 0);        /* mark down during setup */
+       madwifi_set_iface_flags(drv, 1);        /* bring up for setup */

in driver_madwifi.c
and I tried this and recompiled on 4 series and 5 series of hostapd but this did
not work.  The message about the hardware channel/rate not being supported is
also strange but I don't think it is related.

This problem seems to pop up regardless of madwifi or hostapd version.  Becasue
of this the clients lose connectivity every few minutes and sometimes are not
able to even "see" the ap.  The clients are a mixture of winXP (built-in XP
wireless) and linux (using wpa_supp) so the problem is not the client end.  Can
this be fixed - I am not really good at coding but it seems there is something
in the code not correctly passing parameters to the ioctl_setmlme function when
the interface is first initialized.

Jouri and others - are you guys aware of this?  What's the fix?

Here is the output with hostapd 0.5.7 on madwifi 0.9.3

$ hostapd -dd /etc/hostapd.conf
Configuration file: /etc/hostapd.conf
Configure bridge br0 for EAPOL traffic.
madwifi_set_iface_flags: dev_up=0
madwifi_set_privacy: enabled=0
BSS count 1, BSSID mask ff:ff:ff:ff:ff:ff (0 bits)
SIOCGIWRANGE: WE(compiled)=20 WE(source)=13 enc_capa=0xf
ath0: IEEE 802.11 Fetching hardware channel/rate support not supported.
Flushing old station entries
madwifi_sta_deauth: addr=ff:ff:ff:ff:ff:ff reason_code=3
ioctl[IEEE80211_IOCTL_SETMLME]: Invalid argument	//** problem **
madwifi_sta_deauth: Failed to deauth STA (addr ff:ff:ff:ff:ff:ff reason 3)
Could not connect to kernel driver.
Deauthenticate all stations
madwifi_del_key: addr=00:00:00:00:00:00 key_idx=0
madwifi_del_key: addr=00:00:00:00:00:00 key_idx=1
madwifi_del_key: addr=00:00:00:00:00:00 key_idx=2
madwifi_del_key: addr=00:00:00:00:00:00 key_idx=3
Using interface ath0 with hwaddr {address} and ssid 'station'
SSID - hexdump_ascii(len=8):
     {hex}                           station
PSK (ASCII passphrase) - hexdump_ascii(len=31):
PSK (from passphrase) - hexdump(len=32):
madwifi_set_ieee8021x: enabled=1
madwifi_configure_wpa: group key cipher=3
madwifi_configure_wpa: pairwise key ciphers=0x8
madwifi_configure_wpa: key management algorithms=0x2
madwifi_configure_wpa: rsn capabilities=0x0
madwifi_configure_wpa: enable WPA=0x1
madwifi_set_privacy: enabled=0
WPA: group state machine entering state GTK_INIT (VLAN-ID 0)
GMK - hexdump(len=32): [REMOVED]
GTK - hexdump(len=16): [REMOVED]
WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0)
madwifi_set_key: alg=CCMP addr=00:00:00:00:00:00 key_idx=1
madwifi_set_privacy: enabled=1
madwifi_set_iface_flags: dev_up=1
ath0: Setup of interface done.
l2_packet_receive - recvfrom: Network is down

And here is the madiwfi portion of dmesg:

ath_hal: module license 'Proprietary' taints kernel.
ath_hal: (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
wlan: (0.9.3)
ath_pci: (0.9.3)
ACPI: PCI Interrupt 0000:02:04.0[A] -> GSI 16 (level, low) -> IRQ 16
ath_rate_sample: 1.2 (0.9.3)
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps
36Mbps 48Mbps 54Mbps
wifi0: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
wifi0: mac 5.9 phy 4.3 radio 4.6
wifi0: Use hw queue 1 for WME_AC_BE traffic
wifi0: Use hw queue 0 for WME_AC_BK traffic
wifi0: Use hw queue 2 for WME_AC_VI traffic
wifi0: Use hw queue 3 for WME_AC_VO traffic
wifi0: Use hw queue 8 for CAB traffic
wifi0: Use hw queue 9 for beacons
wifi0: Atheros 5212: mem=0xdd000000, irq=16

More information about the Hostap mailing list