WiFi 接口创建过程

20 篇文章 5 订阅

接口创建

wifi_chip.cpp 中 handleChipConfiguration 接口调用了 legacy_hal start 接口进行 legacy_hal 的启动操作

被 configureChipInternal 调用,回溯而被 configureChip 调用,进而是被 Framework 层 HalDeviceManager.java 中的 executeChipReconfiguration 调用进行每个 chip 的配置操作;

同样回溯而被 HalDeviceManager 的 createIfaceIfPossible 调用;调用者为同类的 createIface,而更上一层为 createStaIface,针对其他 Mode 会有其他的创建接口被调用(createNanIface, createP2pIface 和 createApIface);

createStaIface 被 WifiVendorHal.java 中的 createStaIface 调用,进而回溯到 WifiNative.java 中的 createStaIface 接口,继而进入了 setupInterfaceForClientInScanMode 或者 setupInterfaceForClientInConnectivityMode

HAL 初始化

而实际的 HAL 的启动和初始化在  setupInterfaceForClientInScanMode 或 setupInterfaceForClientInConnectivityMode 中的 startHal startSupplicant 中完成

WifiNative startHal 调用了 WifiVendorHal 的 startVendorHal 进而调用 HalDeviceManager start 接口,其内部的 startWifi 被调用进行初始化;

在 startWifi 中先通过 initIWifiIfNecessary 获取到 HIDL 中的 Wifi 服务对象,再通过其 start 接口进行启动操作,在 wifi.cppstart 调用了 startInternal 进行了初始化,其中包括通过 mode_controller initialize 接口进行 driver 的加载,和通过 legacy_hal 进行 HAL 操作的接口的初始化,从 vendor 的 lib 中将对应的操作赋值到结构指针上。

Chip 初始化

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值