Wi-Fi Direct Probe response from GO

anjalik at iwavesystems.com anjalik at iwavesystems.com
Tue Apr 21 11:23:49 EDT 2015


Hi List ,

    The SSID in the probe request frame when I captured the packet is  
"DIRECT-7C-ANJALI" .

After debugging I reached this point. I dont know whether I am in the  
right path. But wish to share with you the current status.

static void p2p_add_dev_from_probe_req(struct p2p_data *p2p, const u8 *addr,
                                        const u8 *ie, size_t ie_len)
{
         struct p2p_message msg;
         struct p2p_device *dev;

         if (msg.ssid == NULL || msg.ssid[1] != P2P_WILDCARD_SSID_LEN ||
             os_memcmp(msg.ssid + 2, P2P_WILDCARD_SSID, P2P_WILDCARD_SSID_LEN)
             != 0) {
                 /* The Probe Request is not part of P2P Device  
Discovery. It is
                  * not known whether the source address of the frame  
is the P2P
                  * Device Address or P2P Interface Address. Do not add a new
                  * peer entry based on this frames.
                  */
                 p2p_parse_free(&msg);
                 return; //function returning here
         }
The comments are helpful to understand the probe request is being ignored.

I assumed that the SSID in the probe request (DIRECT-7C-ANJALI (client  
ssid)) is being analysed and compared here. But after printing  
msg.ssid within a loop I came to know it is DIRECT-9F-Android_6c4f(GO  
ssid). Why the GO ssid is analyzed and the probe request is not being  
replyed?

I have specified  p2p_ssid_postfix=-Android_6c4f in the  
p2p_supplicant.conf file . So msg.ssid[1] has a value of 22  
(DIRECT-9F-Android_6c4f) and the msg.ssid[1] != P2P_WILDCARD_SSID_LEN  
becomes true with  P2P_WILDCARD_SSID_LEN hardcoded with 7 . and  
returns from the function.

I am still debugging in different ways . I need to clear one more  
thing just for confirmation to move forward.

Once after GO negotiation is success and the GO is selected . The  
provisioning phase starts. At this time the newly selected client  
should send probe request to find the GO which sends beacons and later  
probe responses to the requests from the client. Is this correct? So  
that I can move forward keeping "Failure in sending probe response" as  
the issue for the timeout.


Thanks & Regards,
Anjali






More information about the HostAP mailing list