Wi-Fi direct

WiFi direct is a wireless standard that allows devices to connect with each other without requiring a wireless access point. Wi-Fi Direct negotiates the link with a Wi-Fi Protected Setup (WPS) system that assigns each device a limited  wireless access point .

Establishing a peer-to-peer (P2P) link has the following phases:

The QCA6564 driver on load creates a p2p0 interface that is used by the wpa supplicant for P2P group formation. Once a group is formed, virtual p2p-p2p0-N interfaces are created, where N is an index starting at 0. These virtual interfaces are then used for provisioning.

By default, Digi Embedded Yocto configures the WiFi Direct functionality by adding a p2p0 interface in /etc/network/interfaces. The interface is not automatically brought up.

The following instructions show how to configure the device to use Wi-Fi Direct.

1. Delete the wlan1 interface to make sure we can assign a virtual MAC address to the interface p2p-p2p0-0 that will be created new. To delete the interface wlan1, use the following command.

# iw dev wlan1 del

2. Bring up the p2p0 interface.

# ifup p2p0

The following examples will use two ConnectCore 6UL devices to establish P2P connections. For more information about the wpa-supplicant P2P specific commands, see the wpa_supplicant and Wi-Fi P2P readme.

Autonomous GO creation

Create Autonomous Group Owner (GO) and join using PBC method

Peer (GO) ---- PBC --- Peer (GC)

Steps

Peer CC6UL1

Peer CC6UL2

1

wpa_cli -ip2p0

wpa_cli -ip2p0

2

p2p_group_add

 

3

 

p2p_find

4

 

p2p_connect <CC6UL1_go_mac_addr> pbc join

5

Ctrl-c to exit

Ctrl-c to exit

6

wpa_cli -i p2p-p2p0-0 wps_pbc

 

7

ifconfig p2p-p2p0-0 <CC6UL1_ip_addr>

ifconfig p2p-p2p0-0 <CC6UL2_ip_addr>

8

ping <CC6UL2_ip_addr>

ping <CC6UL1_ip_addr>

Create Autonomous GO and join using PIN from GO

Peer (GO) ---- PIN --- Peer (GC)

Steps

Peer CC6UL1

Peer CC6UL2

1

wpa_cli -ip2p0

wpa_cli -ip2p0

2

p2p_group_add

 

3

 

p2p_find

4

Ctrl-c to exit

 

5

wpa_cli -ip2p-p2p0-0 wps_pin any (shows <pin>)

 

6

 

p2p_connect <cc6ul_go_mac_addr> <pin> join

7

 

Ctrl-c to exit

8

ifconfig p2p-p2p0-0 <CC6UL1_ip_addr>

ifconfig p2p-p2p0-0 <CC6UL2_ip_addr>

9

ping <CC6UL2_ip_addr>

ping <CC6UL1_ip_addr>

Create Autonomous GO and join using PIN from GC

Peer (GO) ---- PIN --- Peer (GC)

Steps

Peer CC6UL1

Peer CC6UL2

1

wpa_cli -ip2p0

wpa_cli -ip2p0

2

p2p_group_add

 

3

 

p2p_find

4

 

p2p_connect <cc6ul_go_mac_addr> pin join (shows <pin>)

5

Ctrl-c to exit

Ctrl-c to exit

6

wpa_cli -ip2p-p2p0-0 wps_pin any <pin>

 

7

ifconfig p2p-p2p0-0 <CC6UL1_ip_addr>

ifconfig p2p-p2p0-0 <CC6UL2_ip_addr>

8

ping <CC6UL2_ip_addr>

ping <CC6UL1_ip_addr>

Create Autonomous GO and invite GC using PBC

Peer (GO) ---- PBC --- Peer (GC)

Steps

Peer CC6UL1

Peer CC6UL2

1

wpa_cli -ip2p0

wpa_cli -ip2p0

2

p2p_group_add

 

3

 

p2p_find

4

p2p_invite group=p2p-p2p0-0 peer=<CC6UL2_mac_addr>

 

5

 

p2p_connect <CC6UL1_go_mac_addr> pbc join

6

Ctrl-c to exit

Ctrl-c to exit

7

wpa_cli -i p2p-p2p0-0 wps_pbc

 

8

ifconfig p2p-p2p0-0 <CC6UL1_ip_addr>

ifconfig p2p-p2p0-0 <CC6UL2_ip_addr>

9

ping <CC6UL2_ip_addr>

ping <CC6UL1_ip_addr>

Note For any of these methods, if you want to use the 5GHz frequency, issue p2p_group_add freq=5180 in step two.

Negotiated GO

Negotiate GO and join using PIN

Peer (GO | GC) ---- PIN --- Peer (GO | GC)

Steps

Peer CC6UL1

Peer CC6UL2

1

wpa_cli -ip2p0

wpa_cli -ip2p0

2

p2p_find

 

3

 

p2p_find

4

p2p_connect <CC6UL2_go_mac_addr> pin go_intent=1

 

5

 

p2p_connect <CC6UL1_go_mac_addr> <pin> go_intent=15

6

Ctrl-c to exit

Ctrl-c to exit

7

ifconfig p2p-p2p0-0 <CC6UL1_ip_addr>

ifconfig p2p-p2p0-0 <CC6UL2_ip_addr>

8

ping <CC6UL2_ip_addr>

ping <CC6UL1_ip_addr>

Negotiate GO and join using PBC

Peer (GO | GC) ---- PBC --- Peer (GO | GC)

Steps

Peer CC6UL1

Peer CC6UL2

1

wpa_cli -ip2p0

wpa_cli -ip2p0

2

p2p_find

 

3

 

p2p_find

4

p2p_connect <CC6UL2_go_mac_addr> pbc go_intent=1

 

5

 

p2p_connect <CC6UL1_go_mac_addr> pbc go_intent=14

6

Ctrl-c to exit

Ctrl-c to exit

7

ifconfig p2p-p2p0-0 <CC6UL1_ip_addr>

ifconfig p2p-p2p0-0 <CC6UL2_ip_addr>

8

ping <CC6UL2_ip_addr>

ping <CC6UL1_ip_addr>

 

© 2017 Digi International Inc. All rights reserved.
Wi-Fi direct updated on 07 November 2017 03:59:46 PM