差别
这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
digi:arm-embedded:cc6ul:wifi [2024/04/02 12:38] – 创建 robin | digi: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接口同时只能有一个用效。 | ||
{{: | {{: | ||
+ | 注意,我们只有一个WiFi设备,所以当作为WiFi Direct使用时,可以把其它功能注释掉,使用预配置的Mac地址,如果要同时使用,则需要配置不同的虚拟MAC地址,比如尾缀加2。考虑到实际应用场景,先把/ | ||
+ | 由于虚拟IP一共可以定义三个,如果没有定义,默认的值是00: | ||
+ | 00: | ||
一、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 模块创建一个选项文件 / | + | 若要在驱动程序加载期间启用 P2P,有两种方法:a或b任选一个都可以。 |
+ | |||
+ | a).在以下位置为 wlan 模块创建一个选项文件 / | ||
< | < | ||
options wlan enable_p2p=1 | options wlan enable_p2p=1 | ||
+ | </ | ||
+ | 重启后生效 | ||
+ | |||
+ | b).直接在uboot中配置 | ||
+ | < | ||
+ | env set extra_bootargs $extra_bootargs wlan.enable_p2p=1 | ||
</ | </ | ||
(1) 自动 P2P 连接设置 | (1) 自动 P2P 连接设置 | ||
+ | 以两个板子的mac地址分别为: | ||
+ | 由于用不着,可先在etc/ | ||
+ | < | ||
+ | fw_setenv wlan1addr 00: | ||
+ | </ | ||
+ | 编辑文件 / | ||
+ | < | ||
+ | ... | ||
+ | pre-up [ -d / | ||
+ | p2p-peer-mac 00: | ||
+ | </ | ||
+ | 同样地,编辑另一块板子,也是先设置虚拟mac,并指定对方的虚拟mac, | ||
+ | |||
+ | < | ||
+ | fw_setenv wlan1addr 00: | ||
+ | </ | ||
+ | 编辑文件 / | ||
+ | < | ||
+ | ... | ||
+ | pre-up [ -d / | ||
+ | p2p-peer-mac 00: | ||
+ | |||
+ | </ | ||
+ | 然后就可以在两边的板子上启动相关的p2p0接口,先重启一次, | ||
+ | 注意,我们要配置WiFi Direct, 并不是这两个接口的直连,而是 p2p-p2p0-N 虚拟接口上。如果想自动连接,依赖于if-up.d/ | ||
+ | 不同环境和不同配置下,这个脚本实现并不总是相同,建议参考官方文档手动配置: https:// | ||