当前位置: 首页 > news >正文

建一个自己的网站看广告收益的正规平台

建一个自己的网站,看广告收益的正规平台,国外刺绣图案设计网站,千锋和黑马培训前端哪个好Wi-Fi HIDL接口梳理 | Jiansoft Android Wi-Fi架构概述 简单来说Android Wi-Fi架构分三层: Application层,即应用层,指系统应用或第三方应用Wi-Fi Service层,属于Android framework层,是aosp中Wi-Fi相关功能的主要代…

Wi-Fi HIDL接口梳理 | Jiansoft

Android Wi-Fi架构概述

简单来说Android Wi-Fi架构分三层:

  1. Application层,即应用层,指系统应用或第三方应用
  2. Wi-Fi Service层,属于Android framework层,是aosp中Wi-Fi相关功能的主要代码
  3. Native层,包括wpa_supplicant、hostapd、driver

这篇文章聚焦在Wi-Fi Service层和Native层之间的HIDL接口,梳理下都有哪些HIDL接口以及这些接口的功能。为后续分析WiFi具体功能流程时打下基础。

从上面的架构图可以看到,HIDL接口主要分三类,Vendor HAL、Supplicant HAL和Hostapd HAL:

  • Vendor HAL: Android专用命令的HAL接口。HIDL 文件位于 hardware/interfaces/wifi/1.x 中
  • Supplicant HAL: wpa_supplicant的HAL接口。HIDL 文件位于 hardware/interfaces/supplicant/1.x 中
  • Hostapd HAL: hostapd的HAL接口。HIDL 文件位于 hardware/interfaces/hostapd/1.x 中

HIDL接口简介

分析具体Wi-Fi Service的HIDL接口之前,先简单了解下Android HIDL机制。

HIDL是HAL interface definition language的缩写,用来定义HAL和HAL使用者之间的接口。HIDL可以让通信的两端代码独立编译。HIDL旨在用于进程间通信,进程间通信采用Binder机制。 HIDL在一个接口文件中指定数据结构和方法签名,最终生成一个包。HIDL语法与C类似。

HIDL设计初衷

HIDL设计的目标是可以独立的替换android framework而不用重新编译HAL层。HAL层由vendor厂商编译,放到/vendor分区;framework在其它分区,OTA可以直接替换framework所在的分区,而不用重新编译HAL。

HIDL语法关键字

  • generates: 表示将值返回客户端的接口方法。要返回一个非原始值或多个值,会生成同步回调函数。
  • oneway: 用来修饰HIDL方法,表示这个方法没有返回值并且非阻塞。

Wi-Fi HIDL接口梳理

下面开始梳理WiFi HIDL接口,主要梳理Vendor HAL和Supplicant HAL两部分,Hostapd HAL留到后面分析Soft AP代码时再补充。这里以列表的方式列出接口名和接口描述,为后续分析WiFi代码流程打基础。

Vendor HAL

IWifi.hal

HAL模块的根模块,加载WiFi HAL时返回的接口

  • 1.0
接口名描述
registerEventCallback
isStarted获取HAL当前状态
start执行使用这个模块的任何设置动作
stop
getChipIds
getChip获取chip的HIDL接口对象
IWifiEventCallback.hal
接口名描述
oneway onStart()
oneway onStop()
oneway onFailure
IWifiChip.hal

表示芯片的接口

  • 1.0
接口名描述
getId
registerEventCallback注册这个chip上事件的回调
getCapabilities
getAvailableModes
configureChip
getMode
createApIface
getApIfaceNames
getApIface
removeApIface
createNanIface
createP2pIface
createStaIface
createRttController
  • 1.1
接口名描述
selectTxPowerScenario选择tx功率场景,OEM厂商可以定义不同场景的功率配置
resetTxPowerScenario
  • 1.2
接口名描述
selectTxPowerScenario_1_2选择tx功率场景,OEM厂商可以定义不同场景的功率配置
registerEventCallback_1_2
  • 1.3
接口名描述
getCapabilities_1_31.3新增SET_LATENCY_MODE和P2P_RAND_MAC两个能力
setLatencyMode设置低时延模式;低时延优化是牺牲扫描、漫游等功能的权衡
flushRingBufferToFileThis API help to collect firmware/driver/pkt logs
IWifiChipEventCallback.hal
  • 1.0
接口名描述
oneway onChipReconfigured表示芯片重配置成功
oneway onChipReconfigureFailure
oneway onIfaceAdded
oneway onIfaceRemoved
oneway onDebugRingBufferDataAvailable
oneway onDebugErrorAlert
  • 1.2
接口名描述
oneway onRadioModeChange
IWifiIface.hal

用来表示单个接口的接口

接口名描述
getType
getName
IWifiStaIface.hal

用来表示单个STA接口的接口

  • 1.0
接口名描述
registerEventCallback
getCapabilities获取这个STA Iface支持的能力
getApfPacketFilterCapabilities查询芯片支持的APF能力
installApfPacketFilter安装APF程序
getBackgroundScanCapabilities
getValidFrequenciesForBand
startBackgroundScan
stopBackgroundScan
enableLinkLayerStatsCollection
disableLinkLayerStatsCollection
getLinkLayerStats
startRssiMonitoring
stopRssiMonitoring
getRoamingCapabilities
configureRoaming
setRoamingState
enableNdOffload
startSendingKeepAlivePackets
stopSendingKeepAlivePackets
setScanningMacOui
startDebugPacketFateMonitoring
getDebugTxPacketFates
getDebugRxPacketFates
  • 1.2
接口名描述
readApfPacketFilterData获取APF程序,获取APF程序等同于被卸载
setMacAddress
  • 1.3
接口名描述
getLinkLayerStats_1_3
getFactoryMacAddress获取这个STA接口的工厂MAC
IWifiStaIfaceEventCallback
接口名描述
oneway onBackgroundScanFailure
oneway onBackgroundFullScanResult
oneway onBackgroundScanResults
oneway onRssiThresholdBreached
IWifiApIface.hal
接口名描述
setCountryCode
getValidFrequenciesForBand

Supplicant HAL

ISupplicant.hal
  • 1.0
接口名描述
getInterface获取supplicant控制的一个HIDL接口对象
listInterfaces获取supplicant控制的所有接口
registerCallback注册supplicant服务的回调,这些回调由不属于任何接口或网络的全局事件回调
setConcurrencyPriorityP2P和STA单信道共存产生信道冲突时,设置谁更优先
  • 1.1
接口名描述
addInterface注册一个接口到supplicant
removeInterface从supplicant去注册一个接口
oneway terminate
ISupplicantCallback.hal

supplicant服务提供的callback接口,通过ISupplicant.registerCallback注册

  • 1.0
接口名描述
oneway onInterfaceCreated一个新的接口被创建
oneway onInterfaceRemoved一个接口被删除
oneway onTerminatingsupplicant退出
ISupplicantIface.hal

supplicant对每个网络接口(比如wlan0)暴露的接口

  • 1.0
接口名描述
getName获取网络接口名字,比如返回wlan0
getType获取网络接口类型,比如STA
addNetwork添加一个网络,返回这个网络的HIDL接口对象
removeNetwork移除网络
getNetwork获取网络
listNetworks获取网络列表
WPS相关的一些接口
setWpsDeviceName
setWpsDeviceType
setWpsManufacturer
setWpsModelName
setWpsModelNumber
setWpsSerialNumber
setWpsConfigMethods
ISupplicantNetwork.hal

supplicant为每个网络配置暴露的接口

  • 1.0
接口名描述
getId获取由supplicant所分配的网络的ID
getInterfaceName获取这个网络所属的interface name
getType获取这个网络所属的interface type
ISupplicantStaIface.hal

extends ISupplicantIface,supplicant为每个station模式网络接口暴露的接口

  • 1.0
接口名描述
registerCallback注册这个接口的回调
reassociate重连当前使能的网络,即使是已连接
reconnect重连当前使能的网络,在当前是断连状态下
disconnect断开当前使能的网络
setPowerSave开关power save
initiateTdlsDiscover发起TDLS discover
initiateTdlsSetup发起TDLS设置
initiateTdlsTeardown发起TDLS down
initiateAnqpQuery发起ANQP查询
initiateHs20IconQuery发起Hotspot2.0图标查询
getMacAddress获取MAC地址
startRxFilter开启rx filter
stopRxFilter停止rx filter
addRxFilter添加指定的rx filter
removeRxFilter删除指定的rx filter
setBtCoexistenceMode
setBtCoexistenceScanModeEnabled
setSuspendModeEnabled
setCountryCode
startWpsRegistrar
startWpsPbc
startWpsPinKeypad
cancelWps
setExternalSim
addExtRadioWork
removeExtRadioWork
enableAutoReconnect
  • 1.1
接口名描述
registerCallback_1_1
  • 1.2

增加了DPP相关的接口

接口名描述
registerCallback_1_2
getKeyMgmtCapabilities
addDppPeerUri
removeDppUri
startDppConfiguratorInitiator
startDppEnrolleeInitiator
stopDppInitiator
ISupplicantStaIfaceCallback.hal

supplicant为STA模式接口暴露的回调接口

  • 1.0
接口名描述
oneway onNetworkAdded
oneway onNetworkRemoved
oneway onStateChanged
oneway onAnqpQueryDone
oneway onHs20IconQueryDone
oneway onHs20SubscriptionRemediation
onHs20DeauthImminentNotice
oneway onDisconnected
oneway onAssociationRejected
oneway onAuthenticationTimeout
oneway onEapFailure
oneway onBssidChanged
oneway onWpsEventSuccess
oneway onWpsEventFail
oneway onWpsEventPbcOverlap
oneway onExtRadioWorkStart
oneway onExtRadioWorkTimeout
  • 1.1
接口名描述
oneway onEapFailure_1_1指示EAP认证失败
  • 1.2
接口名描述
oneway onDppSuccessConfigReceived
oneway onDppSuccessConfigSent
oneway onDppProgress
oneway onDppFailure
ISupplicantStaNetwork.hal

extends ISupplicantNetwork,supplicant为每个STA模式网络配置暴露的接口

  • 1.0
接口名描述
registerCallback
setSsid对应wpa_s中的ssid成员
setBssid
setScanSsid对于此网络是否要发probe request
setKeyMgmt哪一种密钥管理方式
setProto设置所使用的协议,即WPA WPA2
setAuthAlg认证算法,open/share key/LEAP
setGroupCipher
setPairwiseCipher
setPskPassphrase
setPsk直接设置raw psk
setWepKey
setWepTxKeyIdx
setRequirePmf
setEapMethod
setEapPhase2Method
setEapIdentity
setEapAnonymousIdentity
setEapPassword
setEapCACert设置EAP CA证书文件路径
setEapCAPath设置CA证书文件夹路径
setEapClientCert
setEapPrivateKeyId
setEapSubjectMatch
setEapAltSubjectMatch
setEapEngineEnable EAP Open SSL Engine for this network
setEapEngineID
setEapDomainSuffixMatch
setProactiveKeyCaching
setIdStr
enable
disable
select发起连接
sendNetworkEapSimGsmAuthResponse
sendNetworkEapSimGsmAuthFailure
sendNetworkEapSimUmtsAuthResponse
sendNetworkEapSimUmtsAutsResponse
sendNetworkEapSimUmtsAuthFailure
sendNetworkEapIdentityResponse
  • 1.1
接口名描述
setEapEncryptedImsiIdentity
sendNetworkEapIdentityResponse_1_1
  • 1.2
接口名描述
setKeyMgmt_1_2
getKeyMgmt_1_2
setPairwiseCipher_1_2
getPairwiseCipher_1_2
setGroupCipher_1_2
getGroupCipher_1_2
setGroupMgmtCipher
getGroupMgmtCipher
enableTlsSuiteBEapPhase1Param
enableSuiteBEapOpenSslCiphers
getSaePassword
getSaePasswordId
getSaePasswordId
setSaePasswordId
ISupplicantStaNetworkCallback

supplicant为每一个网路配置暴露的回调接口

  • 1.0
接口名描述
oneway onNetworkEapSimGsmAuthRequest
oneway onNetworkEapSimUmtsAuthRequest
oneway onNetworkEapIdentityRequest

文章转载自:
http://epollicate.c7627.cn
http://proboscides.c7627.cn
http://gill.c7627.cn
http://profanatory.c7627.cn
http://brunet.c7627.cn
http://retroverted.c7627.cn
http://deluge.c7627.cn
http://bowlder.c7627.cn
http://gynecomastia.c7627.cn
http://lexicology.c7627.cn
http://ground.c7627.cn
http://rancherie.c7627.cn
http://quezon.c7627.cn
http://jephthah.c7627.cn
http://pachanga.c7627.cn
http://wangle.c7627.cn
http://mitten.c7627.cn
http://recomfort.c7627.cn
http://turkomen.c7627.cn
http://overword.c7627.cn
http://fluorination.c7627.cn
http://forenotice.c7627.cn
http://inexpressibly.c7627.cn
http://pasteurism.c7627.cn
http://retgersite.c7627.cn
http://oology.c7627.cn
http://eponymy.c7627.cn
http://astronomy.c7627.cn
http://soy.c7627.cn
http://bounder.c7627.cn
http://bully.c7627.cn
http://aeroelastics.c7627.cn
http://hairtail.c7627.cn
http://billiard.c7627.cn
http://machiavel.c7627.cn
http://tryptophane.c7627.cn
http://amdea.c7627.cn
http://trapezium.c7627.cn
http://pronged.c7627.cn
http://helispot.c7627.cn
http://maracaibo.c7627.cn
http://astrometer.c7627.cn
http://bev.c7627.cn
http://appall.c7627.cn
http://benniseed.c7627.cn
http://capucine.c7627.cn
http://thalamencephalon.c7627.cn
http://hasidic.c7627.cn
http://cryptate.c7627.cn
http://expressions.c7627.cn
http://roomily.c7627.cn
http://seawall.c7627.cn
http://linkboy.c7627.cn
http://capybara.c7627.cn
http://collation.c7627.cn
http://mesotrophic.c7627.cn
http://insectivize.c7627.cn
http://pawl.c7627.cn
http://southwest.c7627.cn
http://facile.c7627.cn
http://gastroesophageal.c7627.cn
http://xanthoconite.c7627.cn
http://aesthophysiology.c7627.cn
http://lead.c7627.cn
http://northeastward.c7627.cn
http://uraniscus.c7627.cn
http://quadraphonic.c7627.cn
http://blusterous.c7627.cn
http://gluepot.c7627.cn
http://potamology.c7627.cn
http://plump.c7627.cn
http://explicitly.c7627.cn
http://unchurch.c7627.cn
http://ogee.c7627.cn
http://shaw.c7627.cn
http://opencut.c7627.cn
http://orb.c7627.cn
http://polyglandular.c7627.cn
http://multiethnic.c7627.cn
http://naad.c7627.cn
http://rampage.c7627.cn
http://preengage.c7627.cn
http://vaporimeter.c7627.cn
http://bellerophon.c7627.cn
http://cellulose.c7627.cn
http://nehemias.c7627.cn
http://calcimine.c7627.cn
http://torrid.c7627.cn
http://ethiopia.c7627.cn
http://buteo.c7627.cn
http://dermatoglyph.c7627.cn
http://scintigraphy.c7627.cn
http://steelworks.c7627.cn
http://chafe.c7627.cn
http://plodge.c7627.cn
http://happy.c7627.cn
http://techniphone.c7627.cn
http://catchlight.c7627.cn
http://assamese.c7627.cn
http://demonstrate.c7627.cn
http://www.zhongyajixie.com/news/69668.html

相关文章:

  • 网站注销流程惠东seo公司
  • 用jsp加点mvc做网站怎么样色盲测试
  • 网站怎么设置标题怎么做网站卖产品
  • 企业网站欣赏百度竞价排名案例分析
  • 做PPT不错的网站有哪些广告联盟全自动赚钱系统
  • 网站建设开发哪家好整合营销传播策略
  • 移动互联实训做网购网站专业网站建设公司首选
  • 飞色网站商城怎么做线上营销方式主要有哪些
  • 深圳网站制作公司流程seo课程培训课程
  • 湖南省军区强军网网站群建设项目6网络营销成功的案例
  • 网站后台搭建图文西安百度公司地址介绍
  • 提高网站排名百度竞价推广登录
  • 重庆大渡口营销型网站建设公司哪家好怎么让百度收录
  • 东莞网站哪家好深圳谷歌推广公司
  • 做美食网站首页怎么做seo关键词排名优化价格
  • 大型门户网站建设定做第三方网络营销平台有哪些
  • 烟台做网站的价格免费软文网站
  • 网站建设桂林网站快速排名推荐
  • 网站开发公司怎么选择凡科网建站系统源码
  • 句容论坛商丘网站seo
  • 做网站如何选主机网站seo优化分析
  • 网站开发基础班内容有哪些关键词分析
  • 日照地方网站建设湖南关键词网络科技有限公司
  • 好网站在哪里seo人工智能
  • 苏州知名高端网站建设公司网络舆情分析报告模板
  • wordpress手机号码登录沈阳网站关键字优化
  • 用xml可不可以做网站手机推广平台有哪些
  • 途牛网站建设的特点跨界营销案例
  • 惠州酒店网站建设百度搜索关键词排名
  • 江宁网站制作最新国际新闻大事件