[PATCH 11/12] mesh: Send peering open frame again if beacon from listen state peer is received

Thomas Pedersen thomas at noack.us
Wed Nov 5 12:59:20 EST 2014


 > Ordinary processing is like this.
> --------
> kernel: Receive a beacon from peer
> kernel: Fire notify_new_peer_candidate event
> wpa_supplicant: Receive EVENT_NEW_PEER_CANDIDATE event
> wpa_supplicant: Start peering
> wpa_supplicant: Success peering
> --------
> 
> But peering can fail like this.
> --------
> kernel: Receive a beacon from peer
> kernel: Fire notify_new_peer_candidate event
> wpa_supplicant: Receive EVENT_NEW_PEER_CANDIDATE event
> wpa_supplicant: Start peering
> wpa_supplicant: *** FAIL *** peering (because of fail to receive
> peerinf frame etc...)
> kernel: Receive a beacon from peer
> kernel: Don't fire notify_new_peer_candidate event. Because of known peer
> wpa_supplicant: Can not start peering any more
> --------
> 
> This patch fix the problem like this.
> --------
> kernel: Receive a beacon from peer
> kernel: Fire notify_new_peer_candidate event
> wpa_supplicant: Receive EVENT_NEW_PEER_CANDIDATE event
> wpa_supplicant: Start peering
> wpa_supplicant: *** FAIL *** peering (because of fail to receive
> peerinf frame etc...)
> kernel: Receive a beacon from peer
> kernel: Fire notify_new_peer_candidate event <- new !
> wpa_supplicant: Receive EVENT_NEW_PEER_CANDIDATE event
> --------

Bob has a good suggestion in just removing the sta entry which failed
peering, but I think you can also avoid mucking with NEW_PEER_CANDIDATE
if you rely only on the wpa_s scan code to find suitable peers?

--
thomas


More information about the HostAP mailing list