mac层到ath9k层,ath9k层到硬件层

 

 

 

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中

上一篇:解决svn update 产生Node remains in conflict的报错问题


下一篇:Linux已经霸占了服务器领域