目录

驱动文件分析

内核层

WifiStateMachine.java 层


驱动文件分析

最近查一下MTK Wifi的一个Mac Address功能,结果查找代码,竟然在kernel下

找不到代码,真是服了MTK。由于手上没有相关的芯片资料。

解决方法,打印net_device_ops的地址%p ndo_open,定位使用的哪组驱动。

然后对照kernel符合表SystemMap,找到对应的code。记录一下。

vendor/mediatek/kernel_modules/connectivity/wlan/core/gen4m/os/linux/gl_kal.c

vendor/mediatek/kernel_modules/connectivity/wlan/core/gen2/os/linux/gl_init.c

内核层

static const struct net_device_ops wlan_netdev_ops = {
    .ndo_open = wlanOpen,
    .ndo_stop = wlanStop,
    .ndo_set_rx_mode = wlanSetMulticastList,
    .ndo_do_ioctl = wlanDoIOCTL,
    .ndo_start_xmit = wlanHardStartXmit,
    .ndo_init = wlanInit,
    .ndo_uninit = wlanUninit,
    .ndo_select_queue = wlanSelectQueue,
    .ndo_set_mac_address = wlanSetMacAddress,
};

struct wireless_dev *wlanNetCreate

void createWirelessDevice {struct net_device *prNetDev ;  struct wireless_dev *prWdev = NULL;

wlanAdapterStart()

* @brief This function is called to update network address in firmware domain

WLAN_STATUS wlanUpdateNetworkAddress(IN P_ADAPTER_T prAdapter)

./net/socket.c:         case SIOCGIFHWADDR:

SIOCSIFHWADDR    设置Mac 地址

./net/core/dev_ioctl.c: case SIOCGIFHWADDR:  获取Mac 地址

int dev_ioctl(struct net *net, unsigned int cmd, void __user *arg)  / 这里有调用入口

wmt_detect.c  动态实现 Wlan driver的prob,exit

conn_drv_init.c    int do_connectivity_driver_init(int chip_id)
wlan_drv_init.c     int do_wlan_drv_init(int chip_id)
gl_init.c     static INT_32 wlanProbe(PVOID pvData)
gl_cfg80211.c    这个是平台协议级的,非具体的Wifi 模块

nic_cmd_event.c  ///网络接口控制器(英语:network interface controller,NIC),又称网络接口控制器,网络适配器,网卡,或局域网接收器,

\external\wpa_supplicant_8\src\drivers\driver_nl80211.c          Wpa_supplicant 层

\external\wpa_supplicant_8\src\drivers\driver_nl80211_event.c

#define WMT_DETECT_DRVIER_NAME "mtk_wcn_detect"
#define WMT_DETECT_DEVICE_NAME "wmtdetect"

WifiStateMachine.java 层

frameworks\opt\net\wifi\service\java\com\android\server\wifi

引用一下别人的图

来源:

Android WiFi--系统架构_android wifi架构_我在呀的博客-CSDN博客

Camera:

// Minimum FPS for a size to be listed in supported preview/video sizes
    // Set to slightly less than 30.0 to have some tolerance margin
    static constexpr double MIN_PREVIEW_RECORD_FPS = 29.97;

frameworks/av/services/camera/libcameraservice/api1/client2/Parameters.h:214:

static constexpr double MIN_PREVIEW_RECORD_FPS = 29.97;

MTK dws

vendor/mediatek/proprietary/scripts/dct/DrvGen.exe

MTK Wlan驱动功能相关推荐

  1. MTK 驱动(63)---MTK TP驱动移植

    MTK TP驱动移植 对于MTK TP驱动移植一般分为六部分: 1.硬件IO口配置: 2.TP驱动移植: 3.I2C通信: 4.中断触发: 5.数据上报: 6.虚拟按键: 硬件电路: 1.GPIO配置 ...

  2. WLAN驱动分析文档_gzc126_新浪博客

    WLAN驱动分析文档 目 录 1 引言 3 1.1 目的 3 1.2 项目背景 3 1.3 参考资料 3 2 预备知识 3 2.1 WLAN技术 3 2.2 802.11协议简述 3 2.2.1 概述 ...

  3. MTK平台驱动调试的资料

    最近要从事MTK6260平台方面的开发工作.工作内容包括BSP调试及部分功能的代码移植.之前没有接触过这类工作内容,所以在网上查找了一些资料,并添加到自己的博客上,方便自己查找. 以下为其他人的资料: ...

  4. MTK TP驱动移植

    对于MTK TP驱动移植一般分为六部分: 1.硬件IO口配置: 2.TP驱动移植: 3.I2C通信: 4.中断触发: 5.数据上报: 6.虚拟按键: 硬件电路: 1.GPIO配置 打开 mediate ...

  5. MTK无线驱动配置文件参数

    MTK无线驱动配置文件参数 MTK的默认配置文件 参数的意义 MTK的默认配置文件 #The word of "Default" must not be removed Defau ...

  6. linux设备驱动——andriod平台wlan驱动,招聘丨新年招新季,加入Qualcomm连接世界!...

    原标题:招聘丨新年招新季,加入Qualcomm连接世界! 连接有多重要? 从每天都会用到的Wi-Fi,到为无线耳机和手机"筑桥"的蓝牙,再到F1赛道上风驰电掣的车队......随着 ...

  7. linux设备驱动——andriod平台wlan驱动

    转自 :http://blog.chinaunix.net/space.php?uid=22278460&do=blog&cuid=2186191 linux设备驱动--andriod ...

  8. 肉肉谈对需求设计的想法--到底是功能驱动界面?还是界面驱动功能?

    所有的软件开发无非都离不开那几个阶段第一步:需求调研分析 第二步:概要设计 第三步:详细设计 第四步:编码 第五步:测试 第六步:软件交付准备 其实对于一个程序员来说,最为关心的当然是CODING,但 ...

  9. HarmonyOS之深入解析WLAN的功能和使用

    一.WLAN 简介 无线局域网(Wireless Local Area Networks,WLAN),是通过无线电.红外光信号或者其他技术发送和接收数据的局域网,用户可以通过 WLAN 实现结点之间无 ...

最新文章

  1. 这回,不用为Linux命令发愁了吧
  2. Wireshark抓包—maybe caused by 'IP chechsum offload'?
  3. C语言函数——常用数学函数
  4. 初一七年级计算机信息全册教案,新川教版七年级信息技术全册教案(全册)
  5. 信息审计服务器功能,审计服务器是什么意思?如何使用Audit和目录审计
  6. it'll be much more productive to read pdf files via a touch screen
  7. 使用命令行 启动 各种服务(控制面板 开机启动项 注册表 等)
  8. mysql回收站恢复数据恢复_回收站清空了如何恢复?金山数据恢复大师恢复回收站清空文件的方法...
  9. C++报错 invalid operands to binary expression
  10. 电子邮件服务器匿名转发功能吗,你为什么不能匿名发送电子邮件
  11. DLNA开发Platinum引擎构建
  12. 音乐制作宿主软件-Cubase Elements 11.0.20 MacOS
  13. 全自动 TSPITR--基于RMAN-LOGSEQ
  14. 网上作业批改系统的设计与实现(JSP,MySQL)
  15. Hadoop性能调优
  16. 手机端(安卓) 微信内浏览器 / 微信公众号 网页调试
  17. 最近邻分类器(Nearest Neighbor Classifier)
  18. DIY 大型FDM 3D打印机中遇到的问题和经验分享(1)
  19. linux怎么安装echo命令,如何在Linux上使用Echo命令 | MOS86
  20. a^b%c(蒙格马利快速幂模算法)

热门文章

  1. 数据分析-描述数据方法
  2. 【科技与狠货】云盘变硬盘
  3. 【Vue.js】Vue.js组件库Element中的单选框、多选框、输入框和计数器
  4. BL9342降压型电源芯片
  5. 来看看这位年轻的 eBay 小伙是如何成为 Committer
  6. 基于php的试卷登记试题库生成系统
  7. 爬虫实战--简单爬取小说网站的小说(面对过程)
  8. 嵌入式学习——周总结
  9. 03-旭日X3派测评——Samples案例测试
  10. 解决【在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend】的问题