Linux内核网络子系统-OpenWRT-MAC80211
文章平均质量分 78
UsSam
这个作者很懒,什么都没留下…
展开
-
Linux内核网络子系统数据发送模块分析(MAC802.11-OpenWRT)
最近在研究Linux内核的网络子系统,一边分析一边总结,顺便记录在博客里面方便自己查找,也希望引来一些讨论和批评。刚开始写技术博客,而且对程序的理解不深刻,里面有些地方写的不清楚或者有错误希望能有大神给我指出来,学渣先在此谢过。IEEE802.11协议在Linux内核中实现时,数据发送模块的执行依靠的是函数ieee80211_xmit(): voidieee80211_xmit(str原创 2013-12-27 23:29:46 · 4338 阅读 · 11 评论 -
修改beacon帧结构(2)帧的接收与帧信息提取过程【Linux内核-OpenWRT】
上一章说到了Linux内核网络子系统中beacon帧是如何产生与发送的。下面我们来看一看beacon帧是如何接收并提取信息的。Linux内核是通过中断来对接收到的数据进行响应的。当硬件检测到有接收数据的时候,产生一个中断,中断触发下半部的tasklet机制,在802.11协议栈这里会调用ieee80211_tasklet_handler()函数。我们来看一看函数体:static void原创 2014-01-11 14:42:46 · 6541 阅读 · 6 评论 -
修改beacon帧结构(3)帧结构修改示例【Linux内核-OpenWRT】
假设现在我需要在Beacon帧中添加一个字段,应该如何添加呢?我们首先来看一看Beacon帧的帧结构:Beacon帧是管理帧的一种,管理帧使用信息元素(informationelement,带有数字标签的数据块)来与其他系统交换信息。信息元素是管理帧的可变长组件。信息元素通常包含一个ElementID(元素标识符)字段、一个Length(长度)字段以及一个长度不定的字段,如图所示:原创 2014-01-24 18:03:26 · 4486 阅读 · 6 评论 -
修改beacon帧结构(1)帧的写入和发送过程【linux内核-OpenWRT】
【原创,转载请注明出处】 要修改beacon帧,就需要了解帧的写入和发送的过程,今天我们就来研究一下beacon帧的写入和发送过程。beacon帧发送机制: beacon帧的发送是通过tasklet机制实现的,tasklet是软中断实现的下半部处理机制,用于中断处理流程的下半部。核心函数是beacon.c中的ath9k_beacon_tasklet函数,(将该函数的指针原创 2014-01-09 16:04:50 · 10457 阅读 · 6 评论 -
OpenWRT数据发送过程【Linux内核-OpenWRT】
之前一篇写的不完整,重新写一篇OpenWRT数据发送过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器原创 2014-04-29 20:37:44 · 4817 阅读 · 6 评论 -
OpenWRT驱动启动过程【Linux内核-OpenWRT】
OpenWRT驱动启动过程这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器原创 2014-04-25 23:07:52 · 5537 阅读 · 4 评论 -
OpenWRT数据接收过程【Linux内核-OpenWRT】
OpenWRT数据接收过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器原创 2014-04-29 09:51:12 · 3910 阅读 · 0 评论