ZHCU921 January   2021 WL1801MOD , WL1805MOD , WL1807MOD , WL1831MOD , WL1835MOD , WL1837MOD

 

  1.   商标
  2. 引言
    1. 1.1 本文档中使用的首字母缩写词
  3. 对等 (P2P) 模式
    1. 2.1 P2P 设备
      1. 2.1.1 搜索阶段
      2. 2.1.2 协商
      3. 2.1.3 组构建
    2. 2.2 PSP 客户端
    3. 2.3 P2P GO
    4. 2.4 P2P 命令
      1. 2.4.1 P2P 命令详细信息
        1. 2.4.1.1 p2p_find
        2. 2.4.1.2 p2p_connect
        3. 2.4.1.3 p2p_listen
        4. 2.4.1.4 p2p_group_add
        5. 2.4.1.5 p2p_group_remove
        6. 2.4.1.6 p2p_peer
        7. 2.4.1.7 p2p_invite
      2. 2.4.2 P2P 事件详情
    5. 2.5 P2P 用例
      1. 2.5.1 PBC(按钮控制)下的 P2P 连接
      2. 2.5.2 创建自主 1:2 P2P 组(按钮控制)
        1. 2.5.2.1 使用 DHCP 方法在 P2P 模式下分配 IP 地址
        2. 2.5.2.2 创建 1:2 P2P 组 - 利用 PIN 码连接
        3. 2.5.2.3 P2P 邀请过程 - 创建自主 1:2 P2P 组(按钮控制)
  4. 接入点 (AP) 和对等 (P2P) 多角色
    1. 3.1 错误/限制
  5. 多 BSSID (mBSSID)
    1. 4.1 设置和配置
    2. 4.2 用户指南和示例
  6. 接入点 (AP) 增强型低功耗 (ELP) 模式
    1. 5.1 设置和配置
    2. 5.2 用户指南和示例
    3. 5.3 错误/限制
  7. Wilink8 的 WLAN 唤醒 (WoWLAN) 特性
    1. 6.1 运行模式
    2. 6.2 为 AM335x EVM 添加了“暂停/恢复”WoW 模式
      1. 6.2.1 补丁描述
    3. 6.3 WoWLAN(WLAN 唤醒)模式启用过程
      1. 6.3.1 命令和预期输出
      2. 6.3.2 Rx 过滤器配置
        1. 6.3.2.1 Rx 过滤器配置示例
    4. 6.4 WoWLAN - 魔术包
    5. 6.5 区块确认 (BA) 过滤器设置
    6. 6.6 AM335x EVM 的硬件修改工程变更命令 (ECO) 请求
  8. WiLink8 暂停恢复模式
    1. 7.1 AM437x SDK 的暂停恢复示例
  9. 接入点 (AP) 动态频率选择 (DFS) 主设备支持
    1. 8.1 设置和配置
    2. 8.2 用户指南和示例
    3. 8.3 错误/限制
  10. 站点模式 - 介绍了使用 iw 命令的备选方法
    1. 9.1 第 1 步 - 检查 wlan0 接口是否已在运行
    2. 9.2 第 2 步 - 启动 wlan0 接口(如果未运行)
    3. 9.3 第 3 步 - 将设备连接到可用的接入点
  11. 10参考文献

创建 1:2 P2P 组 - 利用 PIN 码连接

以下部分详细介绍了如何使用 PIN 码创建 P2P 组。

步骤编号 EVM #1 EVM #2 说明
1 运行:p2p_start.sh 运行:p2p_start.sh cd /usr/share/wl18xx/ ./p2p_start.sh
2 运行:p2p_cli.sh 运行:p2p_cli.sh ./p2p_cli.sh
3 p2p_find p2p_find 使用 wpa_cli 前缀运行 wpa cli 命令(而不是进入 wpa_cli 实用程序)
4 p2p_peers p2p_peers 验证 p2p 候选 MAC 地址
5 p2p_connect EVM#2_MAC_ADDRESS pin 该命令将在命令的下一行输出 EVM#1 的 PIN 码
6 p2p_connect EVM#2_MAC_ADDRESS EVM#1_PIN_CODE 从上一条 EVM#1 命令获得 EVM#1_PIN_CODE
7 定义 IP 地址 定义 IP 地址 EVM#1: ifconfig p2p-wlan0-0 192.168.3.3 EVM#2: ifconfig p2p-wlan0-0 192.168.3.4
8 使用 ping 验证连接 EVM#1: ping 192.168.3.4 EVM#2: ping 192.168.3.3

以下是上面列出的每条命令的输出详情。响应 p2p_cli.sh、p2p_find、p2p_peers 的命令相同,已在之前的章节中详细介绍。EVM 找到对等设备之后,就使用 PIN 建立连接,如下所示:

> p2p_peers
54:4a:16:3a:c6:29

EVM#1 在连接命令中定义 EVM#2 MAC 地址,该命令的响应可得到 EVM#1 Pin 码(在以下示例中为 04194996)。EVM#2 尝试利用 EVM#1 MAC 地址和 Pin 码连接 EVM#1。

> p2p_connect 78:a5:04:26:97:3e 04194996
OK
> P2P-GO-NEG-SUCCESS role=client freq=5745 ht40=1 peer_dev=78:a5:04:26:97:3e peer_iface=7a:a5:04:26:97:3d wps_method=Keypad
<3>P2P-GO-NEG-SUCCESS role=client freq=5745 ht40=1 peer_dev=78:a5[ 1954.766093] IPv6: ADDRCONF(NETDEV_UP): p2p-wlan0-0: link is not ready
:04:26:97:3e peer_iface=7a:a5:04:26:97:3d wps_method=Keypad
> rfkill: Cannot open RFKILL control device
<3>CTRL-EVENT-SCAN-RESULTS
<3>CTRL-EVENT-SCAN-RESULTS
> p2p-wlan0-0: SME: Trying to authenticate with 7a:a5:04:26:97:3d [ 1955.517183] p2p-wlan0-0: authenticate with 7a:a5:04:26:97:3d
(SSID='DIRECT-Ka' freq=5745 MHz)
[ 1955.534399] p2p-wlan0-0: send auth to 7a:a5:04:26:97:3d (try 1/3)
[ 1955.602583] p2p-wlan0-0: authenticated
p2p-wlan0-0: Trying to associate with 7a:a5:04:26:97:3d (SSID='DIRECT-Ka' freq=5745 MHz)
[ 1955.613139] p2p-wlan0-0: associate with 7a:a5:04:26:97:3d (try 1/3)
[ 1955.643432] p2p-wlan0-0: RX AssocResp from 7a:a5:04:26:97:3d (capab=0x11 status=0 aid=1)
[ 1955.665736] IPv6: ADDRCONF(NETDEV_CHANGE): p2p-wlan0-0: link becomes ready
[ 1955.672755] p2p-wlan0-0: associated
p2p-wlan0-0: Associated with 7a:a5:04:26:97:3d
p2p-wlan0-0: CTRL-EVENT-EAP-STARTED EAP authentication started
p2p-wlan0-0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=1
p2p-wlan0-0: CTRL-EVENT-EAP-METHOD EAP vendor 14122 method 1 (WSC) selected
p2p-wlan0-0: WPS-CRED-RECEIVED
p2p-wlan0-0: WPS-SUCCESS
P2P-GROUP-FORMATION-SUCCESS
<3>P2P-GROUP-FORMATION-SUCCESS
> p2p-wlan0-0: CTRL-EVENT-EAP-FAILURE EAP authentication failed[ 1956.259741] p2p-wlan0-0: deauthenticating from 7a:a5:04:26:97:3d by local choice (Reason: 3=DEAUTH_LEAVING)

[ 1956.314091] cfg80211: Calling CRDA to update world regulatory domain
p2p-wlan0-0: CTRL-EVENT-DISCONNECTED bssid=7a:a5:04:26:97:3d reason=3 locally_generated=1
p2p-wlan0-0: SME: Trying to authenticate with 7a:a5:04:26:97:3d [ 1956.338506] p2p-wlan0-0: authenticate with 7a:a5:04:26:97:3d
(SSID='DIRECT-Ka' freq=5745 MHz)
[ 1956.366373] p2p-wlan0-0: send auth to 7a:a5:04:26:97:3d (try 1/3)
[ 1956.523895] p2p-wlan0-0: authenticated
p2p-wlan0-0: Trying to associate with 7a:a5:04:26:97:3d (SSID='D[ 1956.528187] cfg80211: World regulatory domain updated: 
IRECT-Ka' freq=5745 MHz)
[ 1956.539313] cfg80211:  DFS Master region: unset
[ 1956.545556] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[ 1956.555800] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[ 1956.564298] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[ 1956.572350] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[ 1956.580685] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[ 1956.590251] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[ 1956.600097] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[ 1956.608334] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[ 1956.616665] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[ 1956.624925] cfg80211: Calling CRDA for country: US
p2p-wlan0-0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
[ 1956.642652] p2p-wlan0-0: associate with 7a:a5:04:26:97:3d (try 1/3)
[ 1956.667467] p2p-wlan0-0: RX AssocResp from 7a:a5:04:26:97:3d (capab=0x11 status=0 aid=1)
[ 1956.768148] cfg80211: Regulatory domain changed to country: US
[ 1956.774906] cfg80211:  DFS Master region: FCC
[ 1956.779752] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[ 1956.790725] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
[ 1956.800254] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 1700 mBm), (N/A)
[ 1956.810834] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (0 s)
[ 1956.821088] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A)
[ 1956.830259] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
p2p-wlan0-0: CTRL-EVENT-REGDOM-CHANGE init=USER type=COUNTRY alpha2=US
[ 1956.847737] p2p-wlan0-0: associated
p2p-wlan0-0: Associated with 7a:a5:04:26:97:3d
p2p-wlan0-0: WPA: Key negotiation completed with 7a:a5:04:26:97:[ 1956.867484] wlcore: Association completed.
3d [PTK=CCMP GTK=CCMP]
p2p-wlan0-0: CTRL-EVENT-CONNECTED - Connection to 7a:a5:04:26:97:3d completed [id=0 id_str=]
<3>P2P-GROUP-STARTED p2p-wlan0-0 client ssid="DIRECT-Ka" freq=5745 psk=b7e653e4fef3ddc385497ea2df892b3c520c438cc763e91064bc1d92b6fcf37c go_dev_addr=78:a5:04:26:97:3e
> P2P-GROUP-STARTED p2p-wlan0-0 client ssid="DIRECT-Ka" freq=5745 go_dev_addr=78:a5:04:26:97:3e

EVM#1 的典型响应如下所示:

> P2P-GO-NEG-SUCCESS role=GO freq=5745 ht40=1 peer_dev=54:4a:16:3a:c6:29 peer_iface=56:4a:16:3a:c6:28 wps_method=Display
<3>P2P-GO-NEG-SUCCESS role=GO freq=5745 ht40=1 peer_dev=54:4a:16:3a:c6:29 peer_iface=56:4a:16:3a:c6:28 wps_method=Display
> rfkill: Cannot open RFKILL control device
[ 1966.108421] IPv6: ADDRCONF(NETDEV_UP): p2p-wlan0-0: link is not ready
[ 1966.265558] wlcore: down
p2p-wlan0-0: interface state UNINITIALIZED->HT_SCAN
Using interface p2p-wlan0-0 with hwaddr 7a:a5:04:26:97:3d and ssid "DIRECT-Ka"
[ 1966.524889] IPv6: ADDRCONF(NETDEV_CHANGE): p2p-wlan0-0: link becomes ready
p2p-wlan0-0: interface state HT_SCAN->ENABLED
p2p-wlan0-0: AP-ENABLED
p2p-wlan0-0: CTRL-EVENT-CONNECTED - Connection to 7a:a5:04:26:97:3d completed [id=0 id_str=]
<3>CTRL-EVENT-SCAN-RESULTS
> p2p-wlan0-0: CTRL-EVENT-EAP-STARTED 56:4a:16:3a:c6:28
p2p-wlan0-0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
p2p-wlan0-0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
p2p-wlan0-0: WPS-REG-SUCCESS 56:4a:16:3a:c6:28 78efc791-3214-54b1-8c7e-5be0d1f274e2
P2P-GROUP-FORMATION-SUCCESS
<3>P2P-GROUP-FORMATION-SUCCESS
<3>P2P-GROUP-STARTED p2p-wlan0-0 GO ssid="DIRECT-Ka" freq=5745 passphrase="VRtsc4Nz" go_dev_addr=78:a5:04:26:97:3e
> P2P-GROUP-STARTED p2p-wlan0-0 GO ssid="DIRECT-Ka" freq=5745 go_dev_addr=78:a5:04:26:97:3e
p2p-wlan0-0: WPS-SUCCESS
p2p-wlan0-0: CTRL-EVENT-EAP-FAILURE 56:4a:16:3a:c6:28
p2p-wlan0-0: AP-STA-CONNECTED 56:4a:16:3a:c6:28 p2p_dev_addr=54:4a:16:3a:c6:29
AP-STA-CONNECTED 56:4a:16:3a:c6:28 p2p_dev_addr=54:4a:16:3a:c6:29
<3>AP-STA-CONNECTED 56:4a:16:3a:c6:28 p2p_dev_addr=54:4a:16:3a:c6:29

这时,通过点击控制台中的“q”,两个 EVM 均可退出 CLI 界面。

下一步是指定静态 IP 地址并验证 P2P 客户端可以使用该 IP 地址通信。使用 ping 序列进行验证。

EVM#1 EVM#2
root@am437x-evm:/usr/share/wl18xx# ifconfig p2p-wlan0-0 192.168.3.3
root@am437x-evm:/usr/share/wl18xx# ifconfig –a p2p-wlan0

p2p-wlan0-0 Link encap:Ethernet  HWaddr 7A:A5:04:26:97:3D
          inet addr:192.168.3.3  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::78a5:4ff:fe26:973d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:2 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1253 (1.2 KiB)  TX bytes:2503 (2.4 KiB)
root@am335x-evm:/usr/share/wl18xx# ifconfig p2p-wlan0-0 192.168.3.4
root@am335x-evm:/usr/share/wl18xx# ifconfig –a p2p-wlan0

p2p-wlan0-0 Link encap:Ethernet  HWaddr 56:4A:16:3A:C6:28
          inet addr:192.168.3.4  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::544a:16ff:fe3a:c628/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1511 (1.4 KiB)  TX bytes:1903 (1.8 KiB)

指定 IP 地址后可以验证连接,如下所示:

EVM#1 EVM#2
root@am437x-evm:/usr/share/wl18xx# ping 192.168.3.4
PING 192.168.3.4 (192.168.3.4): 56 data bytes
64 bytes from 192.168.3.4: seq=0 ttl=64 time=1384.869 ms
64 bytes from 192.168.3.4: seq=1 ttl=64 time=383.960 ms
64 bytes from 192.168.3.4: seq=2 ttl=64 time=97.437 ms
64 bytes from 192.168.3.4: seq=3 ttl=64 time=122.172 ms
root@am335x-evm:/usr/share/wl18xx# ping 192.168.3.3
PING 192.168.3.3 (192.168.3.3): 56 data bytes
64 bytes from 192.168.3.3: seq=0 ttl=64 time=11.911 ms
64 bytes from 192.168.3.3: seq=1 ttl=64 time=1115.697 ms
64 bytes from 192.168.3.3: seq=2 ttl=64 time=115.208 ms
64 bytes from 192.168.3.3: seq=3 ttl=64 time=9.148 ms