Go Negotiation

Andrea Chittano andrea.chittano at hotmail.it
Mon Nov 17 05:44:31 EST 2014


Hi Jouni,

first of all thanks for your time.
I'm quite confused.
Do you mean that Go negotiation works like the diagram below shows? Please correct me if I'm wrong.


User Space A    wpa_supplicant A                   wpa_supplicant B          User Space B
     | ---p2p_connect---> |                                         |                                       |        |                                |------ go_neg_req------->   |                                       |     |                                |                                         |      go_neg_req_rx         |     |                                |                                         |----  notification     -----> |     |                                |<-----go_neg_resp--------  |                                       |     |                                |         (status =1)               |                                       |     |                                |                                          |                                       | user accepts      |                                |                                          |<---p2p_connect--------  |     |                                |<------ go_neg_req-------   |                                       |     |                                |                                         |                                        |     |                                |                                         |                                       |     |                                |<-----go_neg_resp--------  |                                       |     |                                |                                         |                                       |     |                                |                                          |                                       |      |                                |  ------ go_neg_conf------> |                                       |
The following example explains what the diagram shows.As far as I know, wpa_cli can be used to control %wpa_supplicant in interactive
mode. It shows a list of commands used for device discovery and group formation.The lines starting with "> " are commands from the user (followed by command result indication) and
lines starting with "<2>" are event messages from %wpa_supplicant.



DEVICE A 

> p2p_find
OK
<2>P2P-DEVICE-FOUND 02:f0:bc:44:87:62 p2p_dev_addr=02:f0:bc:44:87:62
pri_dev_type=1-0050F204-1 name='Wireless Client' config_methods=0x18c
dev_capab=0x1 group_capab=0x0
> p2p_connect 02:f0:bc:44:87:62 pbc
//at this point wpa_supplicant of DEVICE A sends the GO negotiation request to 02:f0:bc:44:87:62 (let's call DEVICE B)

DEVICE B

> p2p_find
OK
> <2>P2P-DEVICE-FOUND 02:40:61:c2:f3:b7 p2p_dev_addr=02:40:61:c2:f3:b7
pri_dev_type=1-0050F204-1 name='Wireless Client 2' config_methods=0x18c
dev_capab=0x1 group_capab=0x0

//once wpa_supplicant of the  DEVICE B receives a GO Negotiation Request, it performs the following actions:
//- it provides an event notification to the control interface
<2>P2P-GO-NEG-REQUEST 02:40:61:c2:f3:b7
//- it sends the GO negotiation Response with status = 1 to DEVICE A
// once the user of DEVICE B accepts the connection request, it uses p2p_connect() to start a new GO Negotiation

Thanks in advanceAndrea











> Date: Sat, 15 Nov 2014 11:23:03 +0200
> From: j at w1.fi
> To: hostap at lists.shmoo.com
> Subject: Re: Go Negotiation
> 
> On Thu, Nov 06, 2014 at 05:01:59PM +0100, Andrea Chittano wrote:
> > This callback is used to notify that a P2P Device is requesting group owner negotiation with us, but we do not have all the necessary information to start GO Negotiation. This indicates that the local user has not authorized the connection yet by providing a PIN or PBC button press. This information can be provided with a call to p2p_connect().
> > Therefore I'm expecting a new call to p2p_connect(). But the p2p_connect() doesn't contain a callback to any function which performs the p2p_build_go_neg_resp().
> 
> That's not the way GO Negotiation is supposed to work. The P2P Device is
> required to reply immediate with GO Negotiation Response without waiting
> for the upper layer authorization (if one is not already available).
> Once upper layer processing is completed and connection is authorize, a
> new GO Negotiation instance is started by the device that sent the GO
> Negotiation Response frame with status=1 (info currently unavailable).
> 
> -- 
> Jouni Malinen PGP id EFC895FA
> _______________________________________________
> HostAP mailing list
> HostAP at lists.shmoo.com
> http://lists.shmoo.com/mailman/listinfo/hostap
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.shmoo.com/pipermail/hostap/attachments/20141117/5c0775fd/attachment-0001.htm>


More information about the HostAP mailing list