tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
IEEE80211_IOC_MLME ioctl failure
Hi!
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:
[...]
State: SCANNING -> ASSOCIATING
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
IEEE80211_MLME_ASSOC.
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.
Back in ieee80211_ioctl_setmlme(), the NULL-check is true
and returns EINVALID.
This is what wpa_supplicant is seeing.
I don't know why ni->ni_esslen is 0 at all.
Christoph
Home |
Main Index |
Thread Index |
Old Index