wifi驱动总结(2)
1、dhd_module_init(驱动模块初始化函数)
→ dhd_wifi_platform_register_drv(查找设备,注册驱动)
→ 1) wifi_ctrlfunc_register_drv(wifi控制驱动注册) Y
2) dhd_wifi_platform_load(wifi控制功能不存在时调用) N
3) wifi_ctrlfunc_unregister_drv(由于初始化失败导致驱动未注册成功时调用) N
2、wifi_ctrlfunc_register_drv
→ 1)bus_find_device(寻找平台设备)
2)wifi_adapter_info_t *adapter(wifi_adapter_info_t初始化)
bcmdhd_wifi_platdata_t *dhd_wifi_platdata(bcmdhd_wifi_platdata_t初始化)
dhd_wifi_platdata->adapters = adapter(将adapter传递给全局变量dhd_wifi_platdata)
3) wifi_platform_data dhd_wlan_control(wifi_platform_data初始化)
adapter->wifi_plat_data = (void *)&dhd_wlan_control(使用dhd_wlan_control全局变量初始化adapter中的wifi_plat_data成员)
4)bcm_wlan_set_plat_data(wlan平台数据设置)
5)dhd_wifi_platform_load(wifi平台登录)
3、bcm_wlan_set_plat_data
→ 1)dhd_wlan_control.set_power = bcm_wlan_set_power
2)dhd_wlan_control.set_carddetect = bcm_wlan_set_carddetect
3) dhd_wlan_control.get_mac_addr = bcm_wlan_get_mac_address
4、dhd_wifi_platform_load
→ 1) wl_android_init(初始化dhd_msg_level |= DHD_ERROR_VAL,给iface_name赋值为wlan)
→ 2) dhd_wifi_platform_load_sdio
→ 1) dhd_bus_reg_sdio_notify(注册sdio driver,sdio驱动获取wifi列表的设备后调用dummy_probe -> up(dhd_chipup_sem))
→ 2) wifi_platform_set_power(调用adapter成员wifi_plat_data中的set_power开启模块电源)
→ 3) wifi_platform_bus_enumerate(调用adapter成员wifi_plat_data中的s et_carddetect)
→ 4) dhd_bus_register
→ bcmsdh_register(&dhd_sdio)
→ 1) 初始化drvinfo (见①)
→ 2) bcmsdh_register_client_driver
→ sdio_register_driver(注册名为bcmsdh_sdmmc的驱动)
→ 进入bcmsdh_sdmmc_probe
→ sdioh_probe
→ bcmsdh_probe→ drvinfo.probe(①) → dhdsdio_probe → dhd_download_fw_on_driverload = TRUE
转载于:https://www.cnblogs.com/dq23578/p/6774277.html
wifi驱动总结(2)相关推荐
- wifi linux 驱动分析,Linux 下wifi 驱动开发(二)—— WiFi模块浅析
一.什么是wifi 模块百度百科上这样定义: Wi-Fi模块又名串口Wi-Fi模块,属于物联网传输层,功能是将串口或TTL电平转为符合Wi-Fi无线网络通信标准的嵌入式模块,内置无线网络协议IEEE8 ...
- 螃蟹wifi驱动在AP模式下存在挂死系统的问题
2022/02/28更新 AP6212做同样的测试完全没有问题,所以说螃蟹是垃圾.博通无敌. ----------------------------------------------------- ...
- 移植MT76x8 私有WIFI驱动V4.1.0.0到Openwrt 18.06所遇到的坑
Openwrt系统,路由或者IOT网关方面,市面上能供个人或者小团队甚至小企业 ,可玩性高的也就MT76xx系列路由芯片了,其中很大一部分原因主要在于MTK的WIFI驱动管控不是很严格,相对较容易获取 ...
- hi3516配置wifi_HISI 3516A移植mt7601u的wifi驱动
第一步:下载驱动 mt7601u的wifi驱动有两部分:STA和AP. 下载地址如下: 第二步:将驱动或模块编译进内核 1.解压驱动代码并copy到\osdrv\opensource\kernel\l ...
- linux小米随身wifi驱动下载,小米随身wifi驱动官方下载
小米随身wifi功能介绍 插上.连接.上网 创建WiFi就这么简单,插上电脑或笔记本后,启动小米随身WiFi,你的手机.平板就能连上WiFi. 告别网线 将随身WiFi变身为无线网卡,无法连接无线的台 ...
- Linux 下wifi 驱动开发(二)—— WiFi模块浅析
一.什么是wifi 模块 百度百科上这样定义: Wi-Fi模块又名串口Wi-Fi模块,属于物联网传输层,功能是将串口或TTL电平转为符合Wi-Fi无线网络通信标准的嵌入式模块,内置无线网络协议IEEE ...
- Linux 下wifi 驱动开发(三)—— SDIO接口WiFi驱动浅析
SDIO-Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户主平台数据通过SDIO口到无线网络之间的转 ...
- Linux 下wifi 驱动开发(四)—— USB接口WiFi驱动浅析
前面学习了SDIO接口的WiFi驱动,现在我们来学习一下USB接口的WiFi驱动,二者的区别在于接口不同.而USB接口的设备驱动,我们前面也有学习,比如USB摄像头驱动.USB鼠标驱动,同样都符合Li ...
- 详细记录丨Realtek RTL8188FU WiFi 驱动移植
1 参考资料 1.芯片数据手册:TL8188FCA.pdf 2.驱动移植手册:Quick_Start_Guide_for_Driver_Compilation_and_Installation.pdf ...
- Android wifi驱动的移植 realtek 8188
Android wifi驱动的移植 一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为 ...
最新文章
- Kafka 3.0重磅发布,都更新了些什么?
- win7怎么桌面能不能设置html,win7系统怎么格式化
- 论文阅读(3)--SPDA-CNN: Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition
- 【LeetCode】3月31日打卡-Day16-数组排序算法汇总
- knockout.js的简介和简单使用
- 大学计算机文档基本操作实验的效果,上海工程技术大学计算机实验报告5
- python树莓派编程 沃尔弗拉姆_《 Python树莓派编程》——3.3 Python入门-阿里云开发者社区...
- vscode插件之php插件koroFileHeader(自动生成注释)
- 【Multisim仿真】利用运算放大器产生方波、三角波发生器
- 2021年安全员-A证考试技巧及安全员-A证
- (程序详解)51单片机+DS12C887+1602高精度时钟,软件:keil4,Proteus 8
- 计算雅思成绩C语言,雅思成绩总分其实是这么计算的
- 计算机软件系统思政点,高校思政课网络评估系统的设计
- 你想要的资源我都有(2)
- IB 物理真题: 比潜热、理想气体
- stm32实现按键控制三色灯(stm32cubeIDE)
- 高中学计算机都是学什么,计算机有哪些专业主要学什么
- MGC Group区块链、人工智能的A面与B面
- 群控系统linux脚本,群控脚本if then
- java知识竞赛题库_Java练习题库(含答案及解析)100题
热门文章
- 小班安全使用计算机教案,小班教案安全用电
- Aspose-Cells结合Apache POI生成excel文件以及转换为pdf
- 持久化保存iptables规则
- 手机格斗网游该如何避免延迟
- 机器学习ai选股_机器学习技术能够有效用于选股吗?(下)
- ftpphp_PHP实现ftp上传文件示例
- 计算机管理找不到指定模块,卸载时找不到指定模块怎么办_电脑卸载找不到指定模块处理方法-win7之家...
- docker登录mysql数据库_从docker容器连接到远程MySQL数据库
- sqoop导出数据时:ERROR tool.ExportTool: Error during export: Export job failed!解决
- Kylin兼容性问题解决