【WLAN】Wi-Fi Direct 用户指南

发布时间:2025-12-10 11:17:08 浏览次数:8

一 Wi-Fi direct 概览

Wi-Fi认证的Wi-Fi Direct程序允许在一种新型的Wi-Fi网络中直接将设备相互连接,而无需加入传统的家庭、办公室或热点网络。

Wi-Fi Direct可以以现有的Wi-Fi速度连接,还可以广播设备可用性并寻找其他Wi-Fi Direct设备。

Wi-Fi Direct可实现与蓝牙相同的设备连接,但范围和速度与用户使用现有Wi-Fi连接和功能的体验相当:

    支持WPA2(Wi-Fi保护访问2)和AES加密,以实现更安全的连接

    支持2.4 GHz和5 GHz

Wi-Fi Direct定义了一种体系结构和一组协议:

    Wi-Fi设备到设备的连接

    向后兼容现有的Wi-Fi认证设备

P2P设备同时支持P2P组所有者(GO)和P2P客户端角色:

P2P GO角色具有

   1类似AP的功能

   2.支持Wi-Fi保护的设置(WPS)内部注册器角色

   3.客户端之间的通信

P2P客户端角色

   1.非AP STA功能

   2. WPS注册功能

下面看几张图,

 第一张是显示了P2P组件和拓扑结构

第二张显示对于n=1的P2P 1:n拓扑的子集

 第三张是显示了P2P并发设备,可以是一个或两个并发设备

 二 P2P设置和配置

 2.1 设置

 2.2.1  非自主GO方法

 1. 在两个对等点上启动wpa_li,启动p2p0 端口

 2. 在对等端上运行find命令

3. 对等设备信息一旦被发现就会显示,例如,查找对等设备MAC地址和设备名称:

<3>CTRL-EVENT-SCAN-STARTED<3>P2P-DEVICE-FOUND 22:4c:69:67:11:93 p2p_dev_addr=22:4c:69:67:11:93 pri_dev_type=10-0050F204-5 name='U6080AA' config_methods=0x188 dev_capab=0x25 group_capab=0x0 vendor_elems=1 new=0<3>P2P-DEVICE-FOUND 76:12:b3:c3:9a:ba p2p_dev_addr=76:12:b3:c3:9a:ba pri_dev_type=3-0050F204-1 name='DIRECT-ba-HP M232 LaserJet' config_methods=0x88 dev_capab=0x0 group_capab=0x1 vendor_elems=1 new=0<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED<3>CTRL-EVENT-SCAN-STARTED

 4. 成功找到设备后,在Go/Client端运行stop命令:

# p2p_stop_find

5. 在Go/Client端运行connect命令

# p2p_connect <Mac Address of Peer> pbc

 非自治GO方法状态消息看起来类似于以下内容:

2.2.1  自主GO方法

1. 在两个对等点上启动wpa_li,启动p2p0 端口

2. 启动自主GO:

p2p_group_add

 3. 在对等端上运行find命令

 对等设备信息一旦被发现就会显示,例如,查找对等设备MAC地址和设备名称:

<3>P2P-DEVICE-FOUND 00:0a:f5:89:89:8a p2p_dev_addr=00:0a:f5:89:89:8a pri_dev_typ e=1-0050F204-1 name='P2P@123' config_methods=0x188 dev_capab=0x23 group_capab=0x0

 4. 成功找到设备后,在Go/Client端运行stop命令:

# p2p_stop_find

5 .在GO端运行wps_pbc命令

# wps_pbc

6. 在客户端运行connect命令:

# p2p_connect <Mac Address of Peer> pbc join

GO侧的自主GO方法消息类似于以下内容:

客户端上的消息类似于以下内容: 

p2p_connect 00:0a:f5:89:89:8a pbc join <3>CTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:00:00:00 <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE-PBC <3>Trying to associate with 00:0a:f5:89:89:8a (SSID='DIRECT-Wi' freq=2462 MHz) <3>CTRL-EVENT-STATE-CHANGE id=-1 state=5 BSSID=00:0a:f5:89:89:8a <3>CTRL-EVENT-STATE-CHANGE id=0 state=6 BSSID=00:0a:f5:89:89:8a <3>Associated with 00:0a:f5:89:89:8a <3>CTRL-EVENT-EAP-STARTED EAP authentication started <3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=1 <3>CTRL-EVENT-EAP-METHOD EAP vendor 14122 method 1 (WSC) selected <3>WPS-CRED-RECEIVED <3>WPS-SUCCESS <3>P2P-GROUP-FORMATION-SUCCESS <3>CTRL-EVENT-EAP-FAILURE EAP authentication failed <3>CTRL-EVENT-STATE-CHANGE id=0 state=0 BSSID=00:00:00:00:00:00 <3>CTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:00:00:00 <3>CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:00 reason=0 <3>CTRL-EVENT-STATE-CHANGE id=-1 state=0 BSSID=00:00:00:00:00:00 <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE <3>Trying to associate with 00:0a:f5:89:89:8a (SSID='DIRECT-Wi' freq=2462 MHz) <3>CTRL-EVENT-STATE-CHANGE id=-1 state=5 BSSID=00:0a:f5:89:89:8a <3>CTRL-EVENT-STATE-CHANGE id=0 state=6 BSSID=00:0a:f5:89:89:8a <3>Associated with 00:0a:f5:89:89:8a <3>CTRL-EVENT-STATE-CHANGE id=0 state=7 BSSID=00:00:00:00:00:00 <3>CTRL-EVENT-STATE-CHANGE id=0 state=8 BSSID=00:00:00:00:00:00<3>WPA: Key negotiation completed with 00:0a:f5:89:89:8a [PTK=CCMP GTK=CCMP] <3>CTRL-EVENT-CONNECTED - Connection to 00:0a:f5:89:89:8a completed (auth) [id=0 id_str=] <3>P2P-GROUP-STARTED wlan0 client ssid="DIRECT-Wi" freq=0 psk=c98fada6c23b597732 760aaef536d7a4ad8df97ff727482f17388db5498e30da go_dev_addr=00:0a:f5:89:89:8a

三 . P2P软件体系结构(这是在高通平台整理的)

P2P Android 架构

 P2P接口架构显示

 

四. Wifi direct连接过程spec介绍

  • Wifi direct也叫到wifi p2p。wifi p2p的一个典型的连接过程,包括:

    Scan:全信道的扫描

    ​​​​​​Find:search和listen的循环,在一个3个channel(1,6,11)上扫描,在1个channel(1,6,11中的一个)上听。

    Formation:包括了go neg (协商谁是go)过程和provison(协商使双方具有相同的配置)过程。

    Operation: auth,assoc,4-way handshake(协商单播key),2-way handshake(协商组播key)。

 

 

五. Wifi p2p连接过程

Wifi p2p的连接有很多场景

  • 两个设备,之前没有连接过,一方邀请另一方
  • 两个设备,之前连接过,之前为go的一方邀请另一方。
  • 两个设备,之前连接过,之前为go的一方邀请另一方
  • 两个已连接的设备,gc方邀请第3支手机(第3支手机之前加入过该group)
  • 两个已连接的设备,go方邀请第3支手机(第3支手机之前加入过该group)
  • 两个已连接的设备,gc方邀请第3支手机(第3支手机之前没有加入过该group)
  • 两个已连接的设备,go方邀请第3支手机(第3支手机之前没有加入过该group)
  • 等等。

下面只针对第1种情况做详细分析,其它的场景分析方法相同。其中第1种情况分go与gc两端讲述。

5.1 Gc端流程

 

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477