tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: IEEE80211_IOC_MLME ioctl failure

On 03/04/11 09:21, Christoph Egger wrote:
On 21.02.11 18:44, David Young wrote:
On Mon, Feb 21, 2011 at 05:55:28PM +0100, Christoph Egger wrote:


I configured my wlan with wpa_supplicant.

When I do
wpa_supplicant -dd -i ath0 -c /etc/wpa_supplicant/wpa_supplicant.conf

I get this output:

wpa_driver_bsd_associate: ssid 'wireless' wpa ie len 22 pairwise 3
group 3 key mgmt 0
wpa_driver_bsd_set_drop_unencrypted: enabled=1
wpa_driver_bsd_associate: set PRIVACY 1
ioctl[SIOC80211, op=21, val=0, arg_len=42]: Invalid argument
Association request to the driver failed
Setting authentication timeout: 5 sec 0 usec

The code path of the ioctl is this:

In ieee80211_ioctl_setmlme(), mlme.im_op has the value
Then it calls ieee80211_find_node_with_ssid() with
mlme.im_macaddr being zero, mlme.im_ssid_len is 8
and mlme.im_ssid is "wireless".

In ieee80211_find_node_with_ssid() it runs the loop in the if-block.
The MATCH_SSID() check runs only once.

ni->ni_esslen has the value 0. So the 'break' never hits.

Then ieee80211_find_node_whith_ssid() returns NULL.

It sounds to me like the node never was or is no longer in the scan
table.  Maybe nodes in the scan table are discarded more quickly than
wpa_supplicant decides which network to join?

Any ideas how to fix this?

I can reproduce this with any wlan network with


in the wpa supplicant config file.
wpa_supplicant works without this line and get connected.


Home | Main Index | Thread Index | Old Index