Wpa_supplicant & netbsd-current & wi-driver

Risto Sainio sainio at t-online.de
Fri Apr 4 14:27:29 EDT 2008


Hello

I recently tested wpa_supplicant with Netgear MA401 card on a mips-based 
HPC-system running on netbsd-current. This card is based on "RF:PRISM2.5 
MAC:ISL3873B" and it uses wi-driver. My goal was to use it to connect to 
LINKSYS Accespoint using WPA-PSK

As it did not work at all == scanning did not bring any results, I asked from 
netbsd-current list if anyone has any experience or gotten it running. I got 
replied,  that most likely it will not work.

As I happen to have the documents for the chipset I started to modify the 
driver and after a while I got it so far fixed that it scans, associates and 
authorizes. This all is done by the 802.11 layer written for netbsd, that 
means that I configured the card to run in hostap-mode and the 802.11-layer 
sends/receives all necessary frames and runs its own state-machine. For 
testing purposes I use another Linux-pc running a similar card and hostapd 
with -ddd so that I am able to see what goes wrong.

Now I am stuck with the 4-way handshake: namely the hostapd sends the first 
EAPOL-message and it seems to me that when my card receives that dataframe it 
replies with deauth reason:3.
 
On hostapd side it looks like following:

-----------------------hostapd debug -----------------------------
wlan0: STA 00:09:5b:4c:46:79 IEEE 802.11: associated (aid 1, accounting 
session 47F6658D-00000000)
wlan0: STA 00:09:5b:4c:46:79 MLME: 
MLME-ASSOCIATE.indication(00:09:5b:4c:46:79)
wlan0: STA 00:09:5b:4c:46:79 MLME: MLME-DELETEKEYS.request(00:09:5b:4c:46:79)
ioctl[PRISM2_IOCTL_HOSTAPD]: Invalid argument
Failed to set encryption.
wlan0: STA 00:09:5b:4c:46:79 WPA: event 1 notification
wlan0: STA 00:09:5b:4c:46:79 WPA: start authentication
WPA: 00:09:5b:4c:46:79 WPA_PTK entering state INITIALIZE
wlan0: STA 00:09:5b:4c:46:79 IEEE 802.1X: unauthorizing port
WPA: 00:09:5b:4c:46:79 WPA_PTK_GROUP entering state IDLE
WPA: 00:09:5b:4c:46:79 WPA_PTK entering state AUTHENTICATION
WPA: 00:09:5b:4c:46:79 WPA_PTK entering state AUTHENTICATION2
WPA: 00:09:5b:4c:46:79 WPA_PTK entering state INITPSK
WPA: 00:09:5b:4c:46:79 WPA_PTK entering state PTKSTART
wlan0: STA 00:09:5b:4c:46:79 WPA: sending 1/4 msg of 4-Way Handshake
WPA: Send EAPOL(secure=0 mic=0 ack=1 install=0 pairwise=8 kde_len=0 keyidx=0 
encr=0)
Wireless event: cmd=0x8c03 len=20
Received management frrame - hexdump(len=131): 0a 02 02 01 00 09 5b 4c 46 79 
00 09 5b 4c 38 fe 00 09 5b 4c 38 fe f0 45 aa aa 03 00 00 00 88 8e 02 03 00 5f 
fe 00 89 00 20 00 00 00 00 00 00 00 01 67 24 14 a7 73 de 86 21 61 05 07 6b 5b 
b4 6c 5e aa 9d 1d d8 17 46 54 1b 13 c1 f8 cc 4a 73 c3 ac 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DATA (TX callback) ACK
IEEE 802.1X: 00:09:5b:4c:46:79 TX status - version=2 type=3 length=95 - ack=1
Received management frrame - hexdump(len=26): c0 00 d5 00 00 09 5b 4c 38 fe 00 
09 5b 4c 46 79 00 09 5b 4c 38 fe 90 02 03 00
MGMT
mgmt::deauth
deauthentication: STA=00:09:5b:4c:46:79 reason_code=3
wlan0: STA 00:09:5b:4c:46:79 WPA: event 3 notification
WPA: 00:09:5b:4c:46:79 WPA_PTK entering state DISCONNECTED
WPA: 00:09:5b:4c:46:79 WPA_PTK entering state INITIALIZE
wlan0: STA 00:09:5b:4c:46:79 IEEE 802.1X: unauthorizing port
wlan0: STA 00:09:5b:4c:46:79 IEEE 802.11: deauthenticated
wlan0: STA 00:09:5b:4c:46:79 MLME: 
MLME-DEAUTHENTICATE.indication(00:09:5b:4c:46:79, 3)
wlan0: STA 00:09:5b:4c:46:79 MLME: MLME-DELETEKEYS.request(00:09:5b:4c:46:79)
-----------------------hostapd debug -----------------------------

Now my question is: How can I tell the firmware that it is already associated 
and authorized OR do I have to issue a JOIN request ??


regard

Risto




More information about the HostAP mailing list