mac层到ath9k层,ath9k层到硬件层
如上图,整个 mac 层分成两个部分——UMAC 和 LMAC。LMAC 分成 MAC 下半部分和硬件抽象层。
硬件抽象层和ath9k层的连接
在hw.h中的函数struct ath_hw_ops()
ath9k层和mac层的连接
在mac80211.h中函数struct ieee80211_ops()可以看到这个函数非常重要,当然如果我们想ath9k和mac层通信,可以在这个函数上直接添加对应的模块。
Mac层和cfg80211通信
在cfg80211.h 中的函数struct ieee80211_ops()
这里就基本上完成了下层到上层的通信,但是这样比较麻烦。用户态与内核态的交互可以通过三种方式netlink、/proc、ioctl。第一种是全双工,后面俩种方式是半双工,
读源码发现/proc存在debug.c中
转载于:https://www.cnblogs.com/yl1995/p/11082706.html
mac层到ath9k层,ath9k层到硬件层相关推荐
- CC2530,zigbee,协议栈,代码集(应用层,硬件层)
APP(应用层) OSAL_SampleApp.c #include "ZComDef.h" #include "hal_drivers.h" #include ...
- embedding层和全连接层的区别是什么 一般说embedding层,实现方式就是一个没有bias的fc层
embedding层和全连接层的区别是什么 一般说embedding层,实现方式就是一个没有bias的fc层
- 【Android 事件分发】事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 )
Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 文章目录 ...
- ad09机械层说明_悉数PCB上的各种层
PCB层的定义: 阻焊层solder mask,是指板子上要上绿油的部分;因为它是负片输出,所以实际上有solder mask的部分实际效果并不上绿油,而是镀锡,呈银白色!助焊层paste mask, ...
- arduino 串口读取字符串_乐创物联物联网架构之硬件层中间件Arduino模拟量
0 前言 大家好!我叫乐创物联,我主要是做工业自动化方面和物联网方面的.了解熟悉工业自动化领域的,也开发过物联网相关的产品.我的初衷是做工业物联网的,但这个系统太过于庞大,后续也会自主去学习一下.所以 ...
- 用Gradle打包出jar文件 前面我们说过,在Android Studio里面使用Gradle来打包应用程序,一般都是build出来一个apk文件。但是有的同学是做实现层的开发,不直接做View层
用Gradle打包出jar文件 前面我们说过,在Android Studio里面使用Gradle来打包应用程序,一般都是build出来一个apk文件.但是有的同学是做实现层的开发,不直接做View层的 ...
- Auto CAD:图纸材质图例(石材、瓷砖、细木工板、钢筋混凝土、 木材、夹板、黏土砖 镜面/玻璃、软质吸音层 、钢/金属、硬质吸音层、硬隔层、基层龙骨、陶质类、涂料粉刷层)的设置之详细攻略
Auto CAD:图纸材质图例(石材.瓷砖.细木工板.钢筋混凝土. 木材.夹板.黏土砖 镜面/玻璃.软质吸音层 .钢/金属.硬质吸音层.硬隔层.基层龙骨.陶质类.涂料粉刷层)的设置之详细攻略 目录
- [pytorch]yolov3.cfg参数详解(每层输出及route、yolo、shortcut层详解)
文章目录 Backbone(Darknet53) 第一次下采样(to 208) 第二次下采样(to 104) 第三次下采样(to 52) 第四次下采样(to 26) 第五次下采样(to 13) YOL ...
- 二部六层电梯程序西门子1200二部六层电梯程序,无需eet可直接仿真使用
二部六层电梯程序西门子1200二部六层电梯程序,无需eet可直接仿真使用,含有联控功能,有简单方案说明. 另有三部六层电梯程序 YID:1348645720626558笑叹红尘丨
- 二部六层电梯程序西门子1200二部六层电梯程序
二部六层电梯程序西门子1200二部六层电梯程序,无需eet可直接仿真使用,含有联控功能,有简单方案说明. 现有:7438645720626558笑叹红尘丨
最新文章
- 在Ubuntu 14.04 64bit上使用pycURL模块示例
- Apache Hadoop 2.4.1 单节点安装
- netfilter/iptables全攻略
- Codeforces 1149 题解
- ubuntu下git更改默认编辑器
- process.cwd __dirname __filename 区别
- BootStrap 用法
- php的在线问卷调查_基于php技术的问卷调查系统
- C#LeetCode刷题之#717-1比特与2比特字符( 1-bit and 2-bit Characters)
- svn在linux下的使用(svn命令)[转]
- Chrome , Firfox 对应IE fireEvent 的方法
- python字符串常用函数-Python字符串常用函数详解
- Atitit 文档全文索引的索引种类 用于文本数据挖掘 搜索 数据分析 目录 1.1. Txt摘要索引。。	1 1.2. File placeholder 索引	1 1.3. Lucence索引	1
- .NET 使用MD5加盐加密
- 2022年软考高级网络规划设计师备考指南
- tpac100控制器设置教程_tpac100控制器设置教程_TP-link AC控制器统一管理AP设置指导...
- 三级等保 服务器设置密码策略 centos
- 烽火fr2600怎么web登录_烽火R2600路由器配置步骤及脚本文件
- GAN介绍 - GAN是如何工作的?
- 物联网关键技术————传感器技术