差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
digi:arm-embedded:cc6ul:wifi [2024/04/02 12:38] – 创建 robindigi:arm-embedded:cc6ul:wifi [2024/04/02 16:24] (当前版本) robin
行 1: 行 1:
-====玩转ConnectCore 6ul的WiFi====+====玩转ConnectCore 6ul的WiFi直连====
 在开始使用ConnectCore 6ul单板机或开发板的WiFi之前,请确保您根据使用的天线正确设置好拨盘开关。模块上的u.FL接口和单板机上的MMCX接口同时只能有一个用效。 在开始使用ConnectCore 6ul单板机或开发板的WiFi之前,请确保您根据使用的天线正确设置好拨盘开关。模块上的u.FL接口和单板机上的MMCX接口同时只能有一个用效。
 {{:digi:arm-embedded:cc6ul:pasted:20240402-115446.png}} {{:digi:arm-embedded:cc6ul:pasted:20240402-115446.png}}
  
 +注意,我们只有一个WiFi设备,所以当作为WiFi Direct使用时,可以把其它功能注释掉,使用预配置的Mac地址,如果要同时使用,则需要配置不同的虚拟MAC地址,比如尾缀加2。考虑到实际应用场景,先把/etc/network/wlan1部分注释掉。
 +由于虚拟IP一共可以定义三个,如果没有定义,默认的值是00:0a:f5:89:89:fe,我们可以规划好定义局域网内唯一的虚拟mac地址,一般可以这样:用第4个字节来表示虚拟IP,第5字节00,第6字节和原标签上mac一样,只要不会重复又方便识别即可,如:
 +00:0a:f5:<虚拟IP号>:00:XX
  
 一、WiFi直连测试 一、WiFi直连测试
行 14: 行 17:
 Wi-Fi 驱动程序加载时会创建一个 p2p0 接口,供wpa_supplicant用于 P2P 组形成。一旦形成一个组,就会创建虚拟的 p2p-p2p0-N 接口,其中 N 是从 0 开始的索引。然后,这些虚拟接口用于预配。 Wi-Fi 驱动程序加载时会创建一个 p2p0 接口,供wpa_supplicant用于 P2P 组形成。一旦形成一个组,就会创建虚拟的 p2p-p2p0-N 接口,其中 N 是从 0 开始的索引。然后,这些虚拟接口用于预配。
 也就是P2P组添加、查找和连接操作在 p2p0 接口上进行;而配置发生在虚拟 p2p-p2p0-N 接口上。此配置要求 MAC 地址不同且唯一,在尝试连接多个设备之前请配置虚拟接口。 也就是P2P组添加、查找和连接操作在 p2p0 接口上进行;而配置发生在虚拟 p2p-p2p0-N 接口上。此配置要求 MAC 地址不同且唯一,在尝试连接多个设备之前请配置虚拟接口。
-若要在驱动程序加载期间启用 P2P,在以下位置为 wlan 模块创建一个选项文件 /etc/modprobe.d/wlan.conf +若要在驱动程序加载期间启用 P2P,有两种方法:a或b任选一个都可以。 
 + 
 +a).在以下位置为 wlan 模块创建一个选项文件 /etc/modprobe.d/wlan.conf 
 <code> <code>
 options wlan enable_p2p=1 options wlan enable_p2p=1
 +</code>
 +重启后生效  
 +
 +b).直接在uboot中配置
 +<code>
 +env set extra_bootargs $extra_bootargs wlan.enable_p2p=1
 </code> </code>
  
 (1) 自动 P2P 连接设置 (1) 自动 P2P 连接设置
 +以两个板子的mac地址分别为:00:04:F3:0E:40:28 和00:04:F320:22:CB为例,分别设置他们的虚拟IP为00:0a:f5:01:00:28和00:0a:f5:01:00:CB
  
 +由于用不着,可先在etc/network/interfaces中注释掉原来的wlan0部分,然后设置一个虚拟IP:
 +<code>
 +fw_setenv wlan1addr 00:0a:f5:01:00:28  
 +</code>
 +编辑文件 /etc/network/interfaces 并使用 p2p0 接口条目 p2p-peer-mac 处的参数添加远程对等 MAC 地址:
 +<code>
 +        ...
 +        pre-up [ -d /proc/device-tree/wireless ]
 +        p2p-peer-mac 00:0a:f5:01:00:CB
 +</code>
 +同样地,编辑另一块板子,也是先设置虚拟mac,并指定对方的虚拟mac, 我们还需要修改WLAN0的默认IP,否则两块板子的IP都一样了。
 +
 +<code>
 +fw_setenv wlan1addr 00:0a:f5:01:00:CB  
 +</code>
 +编辑文件 /etc/network/interfaces 并使用 p2p0 接口条目 p2p-peer-mac 处的参数添加远程对等 MAC 地址:
 +<code>
 +        ...
 +        pre-up [ -d /proc/device-tree/wireless ]
 +        p2p-peer-mac 00:0a:f5:01:00:28
 +
 +</code>
  
 +然后就可以在两边的板子上启动相关的p2p0接口,先重启一次,
 +注意,我们要配置WiFi Direct, 并不是这两个接口的直连,而是 p2p-p2p0-N 虚拟接口上。如果想自动连接,依赖于if-up.d/p2plink脚本。
  
 +不同环境和不同配置下,这个脚本实现并不总是相同,建议参考官方文档手动配置: https://w1.fi/cgit/hostap/tree/wpa_supplicant/README-P2P