Wi-Fi p2p & ap 共存
nl80211接口
编辑
删除
imageWiFi 模式:
-
AP(Access Point): 无线接入点
-
STA(Station): 站点
-
P2P: wifi-direct
WiFi的共存模式:
-
station mode + station mode
-
station mode + ap mode
-
station mode + p2p mode
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_supplicant和 wpa_cli。wpa_supplicant 是核心程序,它和 wpa_cli
的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
P2P architecture with Linux/mac80211/ath9k
imageP2P module
image1)通过adb命令行,可以直接打开supplicant,从而运行wpa_cli,可以解决客户没有显示屏而无法操作WIFI的问题,还可以避免UI的问题带到driver。进一步来说,可以用在很多没有键盘输入和LCD输出的安卓终端产品的操作上。
wpa_supplicant包含两个主要的可执行工具:wpa_supplicant
和 wpa_cli
。wpa_supplicant 是核心程序,它和 wpa_cli 的关系就是服务和客户端的关系:后台运行 wpa_supplicant,使用 wpa_cli 来搜索、设置、和连接网络。
参考:
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