Android开发

Wi-Fi p2p & ap 共存

2020-05-28  本文已影响0人  iOSDevLog

nl80211接口

编辑

删除

image

WiFi 模式:

WiFi的共存模式:

ap mode

ap mode 通用应用在无线局域网成员设备(即客户端)的加入,即网络下行。它提供以无线方式组建无线局域网WLAN,相当际WLAN的中心设备。

station mode

station mode即工作站模式,可以理解为某个网格中的一个工作站即客户端。那当一个WIFI芯片提供这个功能时,它就可以连到另外的一个网络当中,如家用路由器。通常用于提供网络的数据上行服务

p2p mode

p2p mode也为Wi-Fi Direct

Wi-Fi Direct 是一种点对点连接技术,它可以在两台 station 之间直接建立 tcp/ip 链接,并不需要AP的参与;其中一台station会起到传统意义上的AP的作用,称为Group Owner(GO),另外一台station则称为Group Client(GC),像连接AP一样连接到GO。GO和GC不仅可以是一对一,也可以是一对多;比如,一台GO可以同时连接着多台GC

wpa_supplicant

wpa_supplicant 是一个连接、配置 WIFI 的工具,它主要包含 wpa_supplicant 与 wpa_cli 两个程序. 可以通过 wpa_cli 来进行 WIFI 的配置与连接,前提要保证 wpa_supplicant 正常启动。

什么是 wpa_spplicant

wpa_supplicant本是开源项目源码,被谷歌修改后加入Android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。 简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。

wpa_supplicant 无线网络配置

目前可以使用wireless-tools 或wpa_supplicant工具来配置无线网络。请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口。

wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。请浏览wpa_supplicant网站获得它所支持的驱动列表。另外,wpa_supplicant目前只能连接到那些你已经配置好ESSID的无线网络。wireless-tools支持几乎所有的无线网卡和驱动,但它不能连接到那些只支持WPA的AP。

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

P2P architecture with Linux/mac80211/ath9k

image

P2P module

image

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

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

参考:

https://www.wi-fi.org/

https://blog.csdn.net/wirelessdisplay/article/details/53365377

https://w1.fi/wpa_supplicant/devel/p2p.html

https://blog.csdn.net/ltm157/article/details/24810685
https://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_NLCP_WiFi_Direct_Configuration_Scripts

上一篇下一篇

猜你喜欢

热点阅读