支持的芯片

Wi-Fi P2P 概述

Wi-Fi Direct,也被称为 Wi-Fi P2P (Wi-Fi Peer-to-Peer),是 Wi-Fi 联盟发布的一种无线通信技术,旨在简化设备间的连接过程,实现快速、方便的无线通信。它允许设备直接相互连接,无需通过传统的 Wi-Fi 接入点(AP),就可以进行点对点通信。这意味着移动中的用户可以从笔记本电脑、智能手机和平板电脑等设备无线打印文档、共享屏幕、共享数据、同步文件和显示信息。

P2P 架构

P2P 架构中定义了三个组件,分别是:

  • P2P Device:

    • 支持 Wi-Fi P2P 协议的设备,如智能手机、平板、笔记本等。

    • 具备发现其他设备、协商连接、加入或创建 P2P Group 的能力。

  • P2P Group Owner(GO):

    • P2P 网络中的“主控”角色,类似于传统 Wi-Fi 网络中的接入点(AP)。

    • GO 负责管理组内设备连接、资源分配和数据转发。

    • 一个 P2P Group 中只能有一个 GO。

  • P2P Group Client(GC):

    • 连接到 GO 的设备,类似于传统 Wi-Fi 网络中的终端设备(STA)。

    • 可以与 GO 进行数据交换,也能与其他 Client 通信(通过 GO 转发)。

    • 一个 P2P Group 可以有多个 Client,形成 1:n 的拓扑结构。

P2P 拓扑

  • 在组建 P2P Group(即 P2P Network)之前,终端都是一个一个的 P2P Device。

  • 当这些 P2P Device 设备之间完成 P2P 协商后,其中将有一个 Device 来扮演 GO 的角色,而其他 Device 扮演 GC 的角色。

  • 由于 GO 的功能类似于 AP,所以周围那些不支持 P2P 功能的 STA 也能发现并关联到 GO。这些 STA 被称之为 Legacy Clients。

最终构成的 P2P Group 拓扑图如下:

../../_images/p2p_topology.svg

P2P Group 拓扑结构

P2P 并发操作

  • 一个 P2P 设备可以与 WLAN 同时运行。这样的设备被称为 P2P 并发设备。下图展示了一个 P2P 并发设备,其中一个 MAC 实体作为 WLAN-STA 运行,另一个 MAC 实体作为 P2P 设备运行。

../../_images/p2p_concurrent_device.svg

P2P Concurrent Device

P2P 实现过程

P2P 的实现过程主要包括设备发现、服务发现、组网协商、安全配置、建立连接与数据传输等:

  • 设备发现(Device Discovery):

    • 设备通过发送和监听 Probe Request/Response 帧,在社交信道(如 1、6、11)上发现彼此。

  • 服务发现(Service Discovery):

    • 可选阶段,用于查询对方是否支持特定服务。

  • 组建群组(Group Formation):

    • GO Negotiation:通过 GO Negotiation 协议,两个设备协商决定谁成为 Group Owner。

    • Provisioning:协商连接方式并完成安全认证,确保通信加密。

  • 连接建立与数据传输:

    • 一旦连接成功,GO 分配 IP 地址,Client 加入网络。设备之间可通过 TCP/IP 协议进行数据交换。

Wi-Fi P2P 特性支持

Realtek 设备对 Wi-Fi P2P 协议提供了如下支持:

  • 核心功能支持

    • 支持 GO。

    • 支持 GC。

    • 支持 GO + STA。

  • P2P 安全性支持

    • 连接建立前,通过 WPS (PIN 或 Push Button)协议进行认证。

    • 连接建立前后,使用 WPA2 加密通信数据。

Wi-Fi P2P 移植指南

Realtek Wi-Fi P2P 功能支持 Linux Host, Wi-Fi 网卡模式 S2H (WHC 典型模式), 或 RTL8730E Linux。

Device 驱动移植参考 Wi-Fi 网卡模式 Device 驱动移植,Host 驱动移植参考 Wi-Fi 网卡模式 Host 驱动移植 中 Linux 部分。

Wi-Fi P2P 使用指南

TBD