wpa_cli与wpa_supplicant的交互命令

1)通过adb命令行,可以直接打开supplicant,从而运行wpa_cli,可以解决客户没有显示屏而无法操作WIFI的问题,还可以避免UI的问题带到driver。进一步来说,可以用在很多没有键盘输入和LCD输出的安卓终端产品的操作上。

wpa_supplicant包含两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。

(2)在wpa_cli交互模式下可以执行很多命令,列表如下:


Full command


Short command


Description


status


stat


displays the current connection status


disconnect


disc


prevents wpa_supplicant from connecting to any access point


quit


q


exits wpa_cli


terminate


term


kills wpa_supplicant


reconfigure


recon


reloads wpa_supplicant with the configuration file supplied (-c parameter)


scan


scan


scans for available access points (only scans it, doesn‘t display anything)


scan_result


scan_r


displays the results of the last scan


list_networks


list_n


displays a list of configured networks and their status (active or not, enabled or disabled)


select_network


select_n


select a network among those defined to initiate a connection (ie select_network 0)


enable_network


enable_n


makes a configured network available for selection (ie enable_network 0)


disable_network


disable_n


makes a configured network unavailable for selection (ie disable_network 0)


remove_network


remove_n


removes a network and its configuration from the list (ie remove_network 0)


add_network


add_n


adds a new network to the list. Its id will be created automatically


set_network


set_n


shows a very short list of available options to configure a network when supplied with no parameters.

See next section for a list of extremely useful parameters to be used with set_network and get_network.


get_network


get_n


displays the required parameter for the specified network. See nextsection for a list of parameters


save_config


save_c


saves the configuration

(3)平台操作实例(仅限于MTK平台 且具ROOT权限)

A,首先保证ADB连入,且能运行adb remount,这样避免系统文件只读。然后设置wpa_cli和wpa_supplicant有较强权限。

B,运行echo 1 > /dev/wmtWifi,启动WIFI驱动。但是这个使能不会表现在安卓界面上层,默认是要在启动安卓时开启WIFI模块的,也即设置中的WIFI要默认ON。

C,进入/system/bin目录,首先运行服务端wpa_supplicant。

./wpa_supplicant -iwlan0 -Dnl80211 -c/system/etc/wifi/wpa_supplicant.conf

正常启动后的回显如下:

不可收入态表明该服务端已经在运行了(也可能是可输入状态,只要后面的wpa_cali可连接就行)。-i -D -c的参数意义可直接在Help中查询,具体有些参数可能因平台不同而有差异。

D,另开启一个ADB SHELL,作客户端运行wpa_cali。如下:

cd /system/bin

wpa_cli -p /data/misc/wpa_supplicant

回显如下说明正常并处于交互模式:

E,执行一系列命令看看

scan

scan_results

F,连WIFI的命令行,有以下几种:

for AP that doesn`t have encryption
>add_network (It will display a network id for you, assume it returns 0)
>set_network 0 ssid “666”
>set_network 0 key_mgmt NONE
>enable_network 0
>quit

for AP that has WEP
>add_network (assume returns 1)
>set_network 1 ssid “666”
>set_network 1 key_mgmt NONE
>set_network 1 wep_key0 “your ap passwork”(if usting ASCII, it need
double quotation marks, if using hex, then don`t need the double quotation
marks)
>set_network 1 wep_tx_keyidx 0
>select_network 1 (optional, remember, if you are connecting with another
AP, you should select it to disable the another)
>enable_network 1

for AP that has WPA-PSK/WPA2-PSK
>add_network (assume returns 2)
>set_network 2 ssid “666”
>set_network 2 psk “your pre-shared key”
>select_network 2 (optional, remember, if you are connecting with another
AP, you should select it to disable the another)
>enable_network 2

我自己的实验图如下:

以上过程就说明联网OK,可以上网了。

参考原文:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246100024b8ed7a66471980853a3c50f11e41bca770216c5d61aa9bc98b4addb9922b3bcd7a742613d51742c419de8a1c729f7e875a98ea42b3e1&p=8b2a975bcd8711a052eedb2f4a4c&newp=8b2a971f81822dec08e29e7d495d92695c02dc3051dcd14f2895ff0b&user=baidu&fm=sc&query=adb+shell+wifi&qid=&p1=4

参考原文:http://blog.sina.com.cn/s/blog_55465b470100l73l.html

wpa_cli与wpa_supplicant的交互命令

时间: 2024-10-11 23:57:28

wpa_cli与wpa_supplicant的交互命令的相关文章

wpa_cli和wpa_supplicant使用,配置无线AP名和密码,静态ip地址

配置静态ip方法分享:通过串口命令行输入如下命令: 1. 添加无线网络接入点(AP) 及其 密码:# wpa_cli -p /data/misc/wpa_supplicantwpa_cli v0.5.11Copyright (c) 2004-2008, Jouni Malinen and contributors                                                                                             

Linux TOP 交互命令

今天总结一点top命令的一些交互命令,比较实用! h或者?       显示帮助画面,给出一些简短的命令总结说明 k                          终止一个进程. 系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号.一般的终止进程可以使用15信号:如果不能正常结束那就使用信号9强制结束该进程.默认值是信号15.在安全模式中此命令被屏蔽. i 忽略闲置和僵死进程.这是一个开关式命令 q 退出程序 r 重新安排一个进程的优先级别.系统提示用户输入需要改变的进

Kettle——shell交互命令

Kettle——shell交互命令 在kettle上开发了job或transform可以以单独的文件存在,也可以存放在资源库中.调用这些程序可以通过shell脚本调用,记录下: 资源库中的job: ./kitchen.sh -rep ZYFS_REP -user admin -pass admin -param:file_name=/home/etluser/etl_data/test/etl_test.csv -dir /test -job JB_ETL_TEST 单个文件的job: ./ki

wpa_cli P2P 连接相关调试命令

最近在一个客户那边调试基于p2p的wifi display, 一半都是在Android上去调这个,所以之前也没有过多研究整个p2p连接流程, 而客户现在用的是非Android平台架构, 很多东西需要协助客户debug 之前debug wifi 连接时用到了wpa_cli 来协助调试连接,那p2p怎么去调试呢? 可以用wpa_cli协助调试吗? 查看了代码有了肯定的答案, 命令中有p2p_find , p2p_connect , p2p_stop_find ...很多命令 那这些命令怎么使用呢?

RTSP交互命令简介及过程参数描述

目录 [hide] 1 RTSP消息格式 2 简单的rtsp交互过程 3 rtsp中常用方法 3.1 OPTION 3.2 DESCRIBE 3.3 SETUP 3.4 PLAY 3.5 PAUSE 3.6 TEARDOWN 3.7 其他方法 4 sdp的格式 5 RTSP点播消息流程实例 RTSP消息格式 RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同.请求消息: 方法 URI RTSP版本 CR LF 消息头 CR LF CR L

Linux Shell远程交互命令

scp实现数据的拷贝 其他机子copy到本地文件:scp [email protected]/IP:filepath localpath 本地copy到其他机子:scp localpath [email protected]/IP:filepath 文件夹copy: scp -r [email protected]/IP:folderpath localpath 详细参考:http://blog.csdn.net/xifeijian/article/details/9364497 如果远程机子加

Hive_常用交互命令

[[email protected] hive]$ bin/hive -help usage: hive -d,--define <key=value> Variable subsitution to apply to hive commands. e.g. -d A=B or --define A=B --database <databasename> Specify the database to use -e <quoted-query-string> SQL f

WIFI_仿手机写wifi应用程序_WDS

2-1.1_15节_使用WIFI网卡6_仿手机写wifi操作程序============================== 1. 仿手机写一个WIFI操作程序,作为STA,有这几个功能:a. 自动扫描WIFI热点b. 点击某个WIFI热点后会去连接它, 必要(非open的)时让你输入密码c. 曾经连接过的WIFI热点会保留它的密码等信息, 以后会自动连接 2.wpa_supplicant(service) <======== wpa_cli(client)   wpa_cli通过socket去

wpa_cli P2P 连接相关的调试命令

在最近的一次客户端上的调试p2p的wifi display, 他们中的一半Android该调整了,整个前所以没有太多的研究p2p过程连接, 客户现在使用的非Android平台架构. 需要协助客户这么多东西debug 之前debug wifi 连接时用到了wpa_cli 来协助调试连接.那p2p怎么去调试呢? 能够用wpa_cli协助调试吗? 查看了代码有了肯定的答案, 命令中有p2p_find , p2p_connect , p2p_stop_find ...非常多命令 那这些命令怎么使用呢?