Dropped packet causing 1 second delay in 4-way handshake

Jouni Malinen j
Sun Apr 29 18:28:11 PDT 2007


On Wed, Apr 18, 2007 at 05:06:15PM -0500, Robert Borger wrote:

> is not restrained to a specific MAC address.  When I use the command
> "wpa_cli select_network 4" to select one of the preauthorized access points
> the system switches access points after just the 4 handshake messages. There
> is a 1 second delay in this process that I would like to eliminate.  When
> the access point sends the first handshake message, wpa_supplicant processes
> it and generates the response. I have followed this response message to the
> sendto call in l2_packet_send() in l2_packet_linux.c. This message doesn't
> lease the machine, but sendto returns the byte count not an error code.

As far as wpa_supplicant is concerned, that message was sent out
correctly, so this sounds like a driver and/or network stack issue..
Have you used a wireless sniffer to verify that the message is not sent?
I would recommend enabling some debug information in the driver to show
transmitted packets. There could be some kind of race condition in the
driver that ends up dropping the first outgoing packet which is sent
more or less immediately after the association has been completed.

> 1176913024.458025: WPA: Sending EAPOL-Key 2/4
> bb-weks: Call to wpa_eapol_key_send
> bb-weks: sm=0x8089960 kck=0x80899c4 ver=2 dest=0x8089aa8
> bb-weks: proto=34958 msg=0x80a3700 msg_len=139 key_mic=0x80a3751

This looks like a successfully completed sendto() operation, so I don't
see any problems here from wpa_supplicant view point.. If it is able to
receive a frame, it should be able to send one, but something in kernel
is dropping it in this case.

-- 
Jouni Malinen                                            PGP id EFC895FA




More information about the Hostap mailing list