MTK Wlan驱动功能

目录

驱动文件分析

内核层

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值