WIFI 概览
概览
Android 提供默认 Android 框架实现,其中包括对各种 WLAN 协议和模式的支持,这些协议和模式包括:
- WLAN 基础架构 (STA)
- 网络共享模式或仅限本地模式下的 WLAN 热点 (Soft AP)
- WLAN 直连(点对点)
- WLAN 感知 (NAN)
- WLAN RTT (IEEE 802.11mc FTM)
使用 WLAN 服务的应用通过 Binder 直接与各种 WLAN 服务进行通信。WLAN 服务在系统服务中运行,并通过 HIDL 与 HAL 进行通信。下图显示了 Android WLAN 堆栈的常规结构。
图 1. Android WLAN 架构
应用框架
应用代码位于应用框架级别,它使用各种 android.net.wifi API 与 WLAN 框架和硬件进行交互。此代码在内部通过 Binder IPC 机制调用 WLAN 进程。
WLAN 服务
WLAN 服务在系统服务中运行,这类服务位于 frameworks/opt/net/wifi
中。WLAN 服务通过 HIDL 与 WLAN HAL 进行通信。
WLAN 服务有很多种:
- WLAN 服务:用于控制 WLAN 基础架构模式(包括 STA 和 AP)的主要机制。
- WLAN 点对点服务:管理 WLAN 直连模式。
- WLAN 感知服务:管理 WLAN 感知模式。
- WLAN RTT 服务:管理 IEEE 802.11mc FTM 功能。
此外,WLAN 框架还包括一个独立的进程 wificond,此进程位于 system/connectivity/wificond
中。wificond 进程通过标准 nl80211
命令与 WLAN 驱动程序进行通信。
WLAN HAL
WLAN 框架具有三个 WLAN HAL 表面,分别由三个不同的 HIDL 软件包表示:供应商 HAL、客户端 HAL 和 Hostapd HAL。
要详细了解各种 HAL 的实现,请参阅 WLAN HAL。
WIFI 概览的更多相关文章
- BeagleBone硬件概览Ethernet端口板载LEDc重置按钮等介绍
BeagleBone硬件概览Ethernet端口板载LEDc重置按钮等介绍 你进入BeagleBone世界的第一步就是将它连接以得到命令提示,然后你就可以处理文件以及执行命令了.在这里,你就可以定制你 ...
- 安卓CTS官方文档之兼容性方案概览
兼容性方案概览 安卓的兼容性方案让安卓手机生产商能够很容易就开发中可兼容的安卓设备(天地会珠海分舵注:可兼容什么呢?就是可以兼容标准google提供的安卓系统可以支持的功能,以防手机生产商把开源的安卓 ...
- 全方位理解Android权限之底层实现概览
0000 这个阶段搞了很多和Android文件权限相关的问题,虽然一知半解,但也算是对Android权限机制有一些自己的理解.遂将这些内容整理出来.因为权限这部分涉及到的内容很多,故将知识分为几块内容 ...
- Android Wi-Fi Peer-to-Peer(Android的Wi-Fi P2P对等网络)
Wi-Fi peer-to-peer(P2P,对等网络),它同意具备对应硬件的Android 4.0(API level 14)或者更高版本号的设备能够直接通过wifi而不须要其他中间中转节点就能直接 ...
- 生活娱乐 Wifi机器人的制作流程
思路简单,但是创意无限~~ 动手能力超强 牛人教你做Wifi机器人(图) 一.前言 Wifi机器人(Wifi Robot):其实是一辆能通过互联网,或500米以外的笔记本无线设施来远程控制的遥控汽车. ...
- Android A/B System OTA分析(一)概览【转】
本文转载自:https://blog.csdn.net/guyongqiangx/article/details/71334889 Android从7.0开始引入新的OTA升级方式,A/B Syste ...
- arm linux 支持 wifi (wpa_supplicant)
背景: 公司用的产品主板支持wifi接口,为了加强产品的功能,做wifi的底层支持. 有关知识点:浅谈 Linux 内核无线子系统 概览 主要的流程如下: 内核配置 + 有关驱动的移植 + 软件的移植 ...
- Kali对wifi的破解记录
好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...
- 很多人很想知道怎么扫一扫二维码就能打开网站,就能添加联系人,就能链接wifi,今天说下这些格式,明天做个demo
有些功能部分手机不能使用,网站,通讯录,wifi基本上每个手机都可以使用. 在看之前你可以扫一扫下面几个二维码先看看效果: 1.二维码生成 网址 (URL) 包含网址的 二维码生成 是大家平时最常接触 ...
随机推荐
- 使用dispatch_once实现单例
很多人实现单例会这样写: @implementation XXClass + (id)sharedInstance { static XXClass *sharedInstance = nil; @s ...
- nyoj--1237--最大岛屿(dfs+数据处理)
最大岛屿 时间限制:1000 ms | 内存限制:65535 KB 难度: 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的战 ...
- CodeForces ---596B--Wilbur and Array(贪心模拟)
Wilbur and Array Time Limit: 2000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Su ...
- UISrcoll控件简单介绍
UISrcoll控件,简单的说就是让界面滑动 当使用uiimageview的时候,给控件设置图片素材时,图片的大小会根据控件的大小,自动做缩放 当使用uibutton的时候,如果是设置背景图,name ...
- java代码递归部门结构树
组织所有部门树,以及条件查询部门树: /** * 组织部门树 * @return */ @Override public List<SxyBranchVO> findAllBranchTr ...
- if switch
一.基本if结构: 1.语法:if (条件){ 代码块 } 2.执行顺序:先判断条件,条件成立则行{}内的代码,不成立则跳出if结构快既不执行{}内的代码. 3.什么情况下要用基本if选择结构:当需要 ...
- spark thrift server configuration
# MainApplicationProperties # --master yarn --deploy-mode client 下的配置, client 模式表示,driver 是在本地机器上跑的, ...
- GetExecutingAssembly() 和 GetCallingAssembly() 的区别
在TCX_1710项目代码的启动项目根目录路径下的Global.asax.cs配置文件中的MVCApplication类中的Application_Start()方法中,配置了项目启动时要加载的项目信 ...
- 3ds Max制作客厅场景实例教程
附件系列 (图01) 让我们回顾一下场景:一个房间包括下列一件件家具, 在中间的一张小桌子,在房间的角落的一个小桌子,有一个垃圾桶和一个带镜子的边桌,有一个烛台.还有一个挂钟,窗帘,沙发和带手臂的椅子 ...
- linux 下的小知识
Linux中有7种启动级别 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆运行级别2:多用户状态(没有NFS ...