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

相关文章

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动