因为要在ath9k上修改内核的驱动,所以这段时间要学习ath9k ,希望和其他一起学习,如果看到错的地方,希望指正。
802.11的整体框架,现在基本上用的是左半面的结构,结构比较鲜明,三个接口连接 nl80211、cfg80211 ops、ieee80211 ops,wext接口很少使用了。
nll80211: 用于对无线设备进行配置管理,它是一个基本Netlink的用户态协议。
cfg80211: 用于对无线设备进行配置管理,与FullMAC,mac80211和nl80211一起工作。
mac80211: 是一个Linux内核子系统,是驱动开发者可用于为SoftMAC无线设备写驱动的框架。mac80211在内核空间实现STA模式,在用户空间实现AP模式(hostapd)。
学习内核的几个主要的结构体
sk_buff:
ath_softc:
ath_buf
ath_txq
ath_atx_tid
ath_node