ATH9K Driver Learning
文章平均质量分 89
柠檬牛奶冰
这个作者很懒,什么都没留下…
展开
-
ATH9K Driver Learning Part VII: Transmission Tasklet and Interrupts
电脑的无线收发都是基于 tasklet 还有 interrupts 的。每到一个特定的时间点,一个 tasklet 和一系列的 interrupts 便会被触发并进行特定的操作。本文重点分析 ath9k driver 触发 packet transmission 的流程,并分析在何时何处可以确定一个 packet 的发送是否成功。Transmission tasklet and interrupts 流程如下:ath9k_tasklet() (main.c) -> ath_tx_edma_taskl原创 2021-03-15 09:41:14 · 611 阅读 · 2 评论 -
ATH9K Driver Learning Part VI: Difference Between Packet Preparation And Transmission Control
最近看到的一个帖子 link_1 引发了笔者的思考。在这个帖子里,提问者想要让 ath9k driver 在每一次发包成功之后都会 print 出来一个 Transmission Success 的提示语句。有些读者可能会产生疑问,直接让 ath9k 在收到 ACK 后 print 出来语句不就可以解决问题了吗?这种方法是行不通的,原因有三点:1. ACK 并不是设计在 physical layer 中的 logic。接收端在收到一个 packet 之后,在 physical layer 仅仅只会拿出 so原创 2021-03-14 11:20:24 · 479 阅读 · 0 评论 -
ATH9K DRIVER LEARNING PART V: KFIFO
由于在 ath9k driver 中, 发送的 packet 全部都储存在 kfifo 结构体里。详细的学习 kfifo 相关的知识能帮助用户去监视各个 packet 的收发状况。在这篇文章中笔者汇总并摘选了一些好的 kfifo 学习帖子来帮助大家学习。什么是 kfifo, 它的基础 function 有哪些这一篇文章: link 比较基础详细地介绍了 kfifo 是如何组建起来的。其内容摘选如下:环形缓冲区(ring buffer)在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。转载 2021-03-13 16:58:06 · 229 阅读 · 0 评论 -
ATH9K Driver Learning Part III: Data packet transmission
在第二篇文章中,我们发现 function ath_tx_start() 会根据 packet 的种类不同而选择不同的发送方式。根据实验结果,我发现只有在 AP-STATION CONNECTION INITIALIZATION 过程中 ath_tx_start() 会触发 ath_tx_send_normal(),即此时的 packet typ 并不是 data。一旦 CONNECTION 被成功建立后,AP 与 STATION 之间就只会去发 type = data 的 packets,例如 DHCP原创 2020-08-26 21:24:32 · 635 阅读 · 0 评论 -
ATH9K Driver Learning Part II: Important Transmission Functions
本篇文章将探讨 ath9k driver 中与发包息息相关的 functions。传输途径主要为:ath9k_tx () --> ath_tx_start () --> ath_txq_schedule () or ath_tx_send_normal () --> ath_tx_txqaddbuf() --> ath9k_hw_txstart ()。那么我们就按照这个顺序来进行介绍。(注:分析重点为 transmission 过程,其他内容如硬件能量管理仅会被简单提及)ath9k原创 2020-08-16 16:09:35 · 915 阅读 · 3 评论 -
ATH9K Driver Learning Part I: Important Structures
ATH9K Driver Learning Part I: Important StructuresRT-WiFi (link) 是一款基于ath9k无线网卡驱动程序来实现TDMA信息传输的链路层(link layer) 协议。想要理解或者改进RT-WiFi的工作代码,首先必须要对ath9k有一个基本的理解。本学习系列将着手于整理ath9k中的发包过程,希望能起到抛砖引玉的效果,得到前辈高人们的斧正。原创 2020-08-14 20:29:00 · 1626 阅读 · 3 评论