P2P Group Owner services for P2P Client discovery – Praneeth's Blog
P2P Device discovering a P2P Device that is in a P2P Group
In the old posts we have learnt about the P2P device discovery procedures. I have Missed one topic to cover in the earlier posts, So I am writing it now. You can have a look at the device discovery procedure at the link Device Discovery Procedure. And Here we will learn about the procedure and call flow for the Device discovery procedure that helps devices to discover the other devices that are already part of the P2P Group.
A searching P2P Device discovers a P2P Group Owner in the Scan Phase through received Beacon frames, or Probe Response frames. The searching P2P Device will also discover other P2P Devices that are associated to that P2P Group Owner from Group Information Advertisement.
Group Information Advertisement provides a mechanism to discover a P2P
Device that is a P2P Client in an existing P2P Group. The process is shown properly in the Below flow diagram.
Figure 1 : GO servicing for P2P Device Discovery
You can have a look at the below diagram as well to understand this. Discovery may get delayed if the GO or GC in Power save.
Figure 2 : GO servicing for P2P Device Discovery
Observe the below steps to understand this flow.
1. A searching P2P Device may send a Device Discoverability Request frame to a
P2P Group Owner to request a P2P Client that supports P2P Client
Discoverability to become available for exchange of discovery information, or
initiation of Group Formation.
Observe the below figure that GC2 sends the Device Discover ability Request to the GO.
2) The GO Discoverability Request P2P action frame uses the P2P Action frame format and is transmitted by a P2P Group Owner to a P2P Client when a P2P Device has sent the P2P Group Owner a P2P Device Discoverability Request frame.
- On successful delivery of the GO Discoverability Request frame the P2P Group Owner shall send the searching P2P Device a Device Discoverability Response frame indicating success in the status code.
- If the P2P Group Owner cannot deliver a GO Discoverability Request frame to the target P2P Device it shall send the searching P2P Device a Device Discoverability Response frame with the Status attribute indicating fail in the Status Code.
Observe the below capture that has been sent from GO to GC1. Wireshark could not able to decode it properly. But still we can see the action frame that is being sent from GO to GC1.
Now observe the device discoverability response frame from GO to GC1.
A P2P Client that connects to a P2P Group Owner indicates support for P2P Client Discovery using the P2P Client Discovery bit in the P2P Capability attribute in the Association Request frame. If the P2P Client supports P2P Client Discovery, the P2P Client shall set the P2P Client Discovery bit to 1, otherwise it shall be set to 0.
Observe the below capture to check this.
A searching P2P Device can determine that a P2P Client does not support P2P Client Discovery since the P2P Group Owner includes the P2P Capability attribute of each P2P Client within the P2P Group Info attribute. We will see this in the Probe response Frame.
Observe the below that two clients are connected to the GO, and check the P2P Group Info attribute with 2 devices information shown. If only 1 device is connected then we will only see one device information.
The following rules apply where a P2P Client has indicated it does not support P2P Client Discovery:
- A searching P2P Device shall not send a Device Discoverability Request
frame to a P2P Group Owner containing the P2P Device ID of that P2P
Client. The P2P Device ID attribute shall be present in the P2P IE in the Beacon frame, and the Device Discoverability Request frame - A searching P2P Device shall not send any frame to the P2P Device that
is that P2P Client - The P2P Group Owner shall not send a GO Discoverability Request frame
to that P2P Client
Observe the below capture to check the P2P Device ID attribute.
A P2P Device that is a P2P Client within a P2P Group should support P2P Client Discoverability unless device or application restrictions prevent it from doing so.