![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android Wi-Fi
文章平均质量分 67
一个学渣的自我救赎
这个作者很懒,什么都没留下…
展开
-
Android13 WifiScanningService创建流程
【代码】Android13 WifiScanningService创建流程。原创 2024-05-08 09:06:19 · 141 阅读 · 0 评论 -
Android13 wificond getScanResults流程分析
发送消息部分,与请求开始扫描的调用差不多,都会走到NetlinkManager::SendMessageAndGetResponses()中去,后者负责通过继续调用,最终发送nl80211消息到内核,这里就不赘述了;原创 2024-05-13 19:11:49 · 222 阅读 · 0 评论 -
Android13 wificond scan流程分析
可见,ScanUtils::Scan大部分逻辑还是参数的处理、封装,最后整合到名为trigger_scan的一个NL80211Packet结构体中,并通过netlink_manager_->SendMessageAndGetAckOrError发送出去;隐藏网络扫描数量有限制,最大为max_num_scan_ssids(通过NL80211_ATTR_MAX_NUM_SCAN_SSIDS属性获取)处理完数据后,将参数传入scan_utils_->Scan的函数调用中,继续后面的逻辑;原创 2024-05-13 19:10:20 · 227 阅读 · 0 评论 -
Android wificond
wificond是Android 8.0 开始增加的组件,wifi的scan、scan_results是通过wificond去跟kernel通信,wificond是一个独立的进程,代码位于system/connectivity/wificond中,wificond进程通过标准的nl80211命令与Wi-Fi驱动程序进行通信。原创 2024-05-13 19:07:51 · 751 阅读 · 0 评论 -
Android13 wpa_supplicate select流程
wpa_supplicant_trigger_scan:请求驱动程序启动扫描。wpa_supplicant_req_scan:安排对相邻接入点的扫描。wpa_supplicant_set_state:设置当前连接状态。之后就是kernel层的80211驱动部分了,在这里就不再分析了。原创 2024-05-08 19:11:45 · 257 阅读 · 0 评论 -
Andriud13 hostapd addAccessPoint流程
hostapd_get_iface:获取接口。hostapd_add_iface:增加接口。原创 2024-05-08 19:07:24 · 372 阅读 · 0 评论 -
Android13 WifiP2pService connect流程
调用mISupplicantP2pIface的addGroup方法,ISupplicantP2pIface是一个接口,由HAL层的Supplicant实现,到这就到HAL层了,这里就不再继续分析了。原创 2024-05-08 18:58:56 · 190 阅读 · 0 评论 -
Android13 WifiP2pService discoverPeers流程
调用mISupplicantP2pIface的find方法,ISupplicantP2pIface是一个接口,由HAL层的Supplicant实现,到这就到HAL层了,这里就不再继续分析了。原创 2024-05-08 18:55:17 · 136 阅读 · 0 评论 -
Android13 WifiP2pService创建流程
【代码】Android13 WifiP2pService创建流程。原创 2024-05-08 18:52:33 · 311 阅读 · 0 评论 -
Android13 WifiService startSoftAp流程
调用IHostapd的addAccessPoint方法,IHostapd是一个接口,由HAL层的Hostapd实现,在这里就不继续分析了。调用WifiNative的setupInterfaceForSoftApMode方法设置Soft AP 模式操作接口。调用SoftApManager的startSoftAp方法启动tSoft Ap。原创 2024-05-08 08:44:52 · 214 阅读 · 0 评论 -
Android13 WifiService connect流程
调用ISupplicantStaNetwork的select方法,ISupplicantStaNetwork为AIDL接口,由HAL层的supplicant实现。原创 2024-05-07 23:12:13 · 235 阅读 · 0 评论 -
Android13 WifiService getScanResults流程
IWifiScannerImpl的实现类,在wificond进程内,之后就是wificond HAL的部分了,就不在这里分析了。可见这里是直接从缓存数据中获取并返回,因此同步调用的逻辑到此就结束了,下面我看扫描结果是如何获取的。原创 2024-05-07 23:05:16 · 282 阅读 · 0 评论 -
Android13 WifiService startScan流程
【代码】Android13 WifiService startScan流程。原创 2024-05-07 22:58:22 · 321 阅读 · 0 评论 -
Android13 WifiService setWifiEnabled流程
setupInterfaceForClientInScanMode:为客户端模式(用于扫描)操作设置界面,此方法在本机守护程序(wificond,供应商 HAL)中以 STA 模式配置接口。代码中获取wificond HAL实例,并调用subscribeScanEvents方法(订阅单个扫描事件)和subscribePnoScanEvents方法(订阅 Pno 扫描事件)。通过和/system/connectivity/wificond/里面的Service建立关系,为了后续扫描作准备。原创 2024-05-07 22:55:11 · 380 阅读 · 0 评论 -
Android13 WifiService创建流程
【代码】Android WifiService创建流程。原创 2024-05-07 22:46:26 · 232 阅读 · 0 评论 -
Android wpa_supplicant
WPA,是Wi-Fi Protected Access,Wi-Fi安全访问的简称。wpa_supplicant是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的。原创 2024-05-07 22:43:19 · 687 阅读 · 0 评论 -
Android hostapd
hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。Hostapd的功能就是作为AP的认证服务器,负责控制管理stations(通常可以认为带无线网卡的PC)的接入和认证。通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个开放式的(不加密)的,WEP,WPA或WPA2的无线网络。原创 2024-05-07 22:38:00 · 808 阅读 · 0 评论 -
Android WifiP2pService
向 P2P HAL发送请求的本机调用,以及用于接收 P2P 事件的回调。本机调用,用于启动/关闭请求方守护程序以及向请求方守护程序发送请求。Android系统中管理WifiP2p的服务类。请求方 P2P Iface HAL 接口的抽象。在生成无线连接 P2p 指标时为其提供存储。原创 2024-05-07 22:35:10 · 624 阅读 · 0 评论 -
Android WifiScanningService
此类使用 {@link WifiManager#startScan()} 管理来自外部应用程序的所有扫描请求。实现 Wi-Fi 扫描功能的服务。将实际的接口实现委托给WifiScanningServiceImpl。WifiScanner HAL API的实现,该API使用wificond执行所有扫描。定义 WifiScanner API 所需的 Wifi 硬件接口。此类提供了一种扫描设备周围 Wifi信号的方法。原创 2024-05-07 22:21:05 · 745 阅读 · 0 评论 -
Android WifiService
当NetworkRequestInfo被requested过(也就是当前网络被needNetworkFor过),此时如果再次收到请求,并且携带的新score大于当前NetworkFactory所处网络的mScore,那么就说明当前NetworkFactory所在网络优先级已经不是最高,需要将其releaseNetworkFor掉,并标记NetworkRequestInfo.requested=false。如果网络已存在,则会更新配置。客户端模式逻辑的事件处理在此处完成,连接状态的所有更改都在此处启动。原创 2024-05-07 22:15:51 · 957 阅读 · 0 评论 -
Android WifiP2pManager
此类提供用于管理 Wi-Fi 对等连接的 API。这允许应用程序发现可用的对等方,设置与对等方的连接并查询对等方列表。当通过 wifi 形成 p2p 连接时,设备将继续通过移动设备或任何其他可用网络保持上行链路连接,以便在设备上进行互联网连接。表示用于设置连接的 Wi-Fi P2p 配置的类。原创 2024-05-07 20:22:01 · 717 阅读 · 0 评论 -
Android WifiManager
在WifiManager的getScanResults方法中调用IWifiManager的getScanResults方法,IWifiManager为AIDL接口,由BaseWifiService继承,而WifiServiceImpl继承于BaseWifiService,实际的功能实现由WifiServiceImpl负责。void connect(int networkId, @Nullable ActionListener listener) :连接到具有给定网络 ID 的网络。表示传递点配置的类。原创 2024-05-07 20:19:30 · 840 阅读 · 0 评论 -
Android Wi-Fi
WLAN是Wireless Local Area Network的简称,指应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。无线局域网本质的特点是不再使用通信电缆将计算机与网络连接起来,而是通过无线的方式连接,从而使网络的构建和终端的移动更加灵活。它是相当便利的数据传输系统,它利用射频(Radio Frequency;原创 2024-05-07 20:15:24 · 1082 阅读 · 0 评论