wpa_cli P2P 连接相关调试命令

2023-10-10 04:38

本文主要是介绍wpa_cli P2P 连接相关调试命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文转载至:http://mojijs.com/2014/10/159711/index.html

 最近在一个客户那边调试基于p2p的wifi display, 一半都是在Android上去调这个,所以之前也没有过多研究整个p2p连接流程, 而客户现在用的是非Android平台架构, 很多东西需要协助客户debug

之前debug wifi 连接时用到了wpa_cli 来协助调试连接,那p2p怎么去调试呢? 可以用wpa_cli协助调试吗?

查看了代码有了肯定的答案, 命令中有p2p_find , p2p_connect , p2p_stop_find …很多命令

那这些命令怎么使用呢?

首先你编译wpa_supplicant 时候需要配置CONFIG_P2P这个宏,

run wpa_supplicant

wpa_supplicant -iwlan1 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf-N -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf

用wpa_cl连接你的你的wpa_supplicant p2p deamon

wpa_cli -iwlan1

wpa_supplicant$ sudo ./wpa_cli -iwlan1
wpa_cli v2.0-devel_rtw_r8680.20130821
Copyright (c) 2004-2012, Jouni Malinen <j@w1.fi> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Interactive mode

连线流程

>p2p_find

启动p2p 扫面设备, 如果扫描到p2p设备, wpa_supplciant 会发一个P2P_EVENT_DEVICE_FOUND给wpa_cli提示已经扫描到p2p设备了 可以去连线了

>p2p_find
OK
<3>P2P-DEVICE-FOUND 16:b9:68:57:da:dep2p_dev_addr=16:b9:68:57:da:de pri_dev_type=10-0050F204-5 name=’HUAWEI C8816D_de36′ config_methods=0×188 dev_capab=0×24 group_capab=0×0
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE

>p2p_connect device_mac pbc

表示用push button connect的方式进行p2p 连接, 中间填写扫到设备的mac地址,此时另一端(Android手机)会弹出对话框提示是否连接,点击连接,此时就正式进入P2P FORMATION 阶段,待NEGO SUCCESS, 就会建立GROUP 由CLI连线GROUP owner.

>p2p_connect 16:b9:68:57:da:de pbc
OK
<3>P2P-FIND-STOPPED
<3>P2P-DEVICE-FOUND 16:b9:68:57:da:de p2p_dev_addr=16:b9:68:57:da:de pri_dev_type=10-0050F204-5 name=’HUAWEI C8816D_de36′ config_methods=0×80 dev_capab=0×24 group_capab=0x2a
<3>P2P-GO-NEG-SUCCESS
<3>CTRL-EVENT-CONNECTED – Connection to 02:e0:4c:03:c0:86 completed (auth) [id=1 id_str=]
<3>CTRL-EVENT-STATE-CHANGE id=1 state=9 BSSID=02:e0:4c:03:c0:86 SSID=DIRECT-Ku
<3>CTRL-EVENT-EAP-STARTED 16:b9:68:57:da:de
<3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
<3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
<3>WPS-REG-SUCCESS 16:b9:68:57:da:de 1d40cd60-67ab-58bd-9fb4-bc914d0fb25c
<3>P2P-GROUP-FORMATION-SUCCESS
<3>P2P-GROUP-STARTEDwlan1 GO ssid="DIRECT-Ku" freq=2412 passphrase="QM9ldAUy" go_dev_addr=02:e0:4c:03:c0:86
<3>WPS-SUCCESS
<3>AP-STA-CONNECTED 16:b9:68:57:da:de p2p_dev_addr=16:b9:68:57:da:de

over

结束流程:

>p2p_stop_find

顾名思义结束p2p扫描发现设备

>disconnect 断线

>p2p_group_remove 删除之间建立的p2p_group

>p2p_flush 清除p2p 相关状态


这篇关于wpa_cli P2P 连接相关调试命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178002

相关文章

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢