- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
madwifi驱动分析
- 1 - 基于 Linux支持 802.11e的无线网卡驱动分析 周哲 北京邮电大学信息工程学院,北京 (100876) E-mail:zhouzhe313@ 摘 要:本文介绍了基于 Linux的无线网卡驱动的架构,并分析了驱动程序中的发送,接收 和无线扩展接口函数。作者通过对于 madwifi的剖析,详细阐述了如何在无线网卡驱动中实 现 802.11e的 EDCA访问方式 关键词:Linux;无线网卡驱动;madwifi;802.11e 1. 引 言 无线网卡是终端无线网络的设备,是无线局域网的无线覆盖下通过无线连接网络进行上 网使用的无线终端设备。因此,无线网卡是无线局域网中的重要组成部分。从 OSI 的七层 协议来看,无线网卡完成的主要工作是MAC层和物理层的相关操作。而网络层和传输层的 工作由操作系统来完成。 2. 802.11e简介 随着 ieee802.11 协议的发展,无线网卡支持的协议种类也越来越多:诸如早期的 802.11a/b/g等。普通的 802.11无线 LAN 标准是没有 QoS保障的。为弥补这一不足,IEEE 提出了 802.11的增强型标准——802.11e[1]。802.11e增加了对 QoS的定义,旨在保证语音和 视频等高带宽应用的通讯质量。 802.11e 中提供了两种新的访问方式:EDCA(增强分布式协调访问)和 HCCA(混合 控制信道访问)。本文只讨论第一种访问方式。EDCA指定了四种访问类别:语音相关的通 信流,视频数据,尽力传递型数据和后台数据。此外,EDCA为每一个访问类别配置了四个 参数:CWmin--最小竞争窗口;CWmax--最大竞争窗口;TXOP--发送机会限制;AIFS--仲裁 帧间间隔。通过对于不同类别业务的参数的不同设置,802.11e 将四种访问类别划分出优先 级:语音业务具有最高优先级,其次是视频数据业务,再次是尽力传输型数据,优先级最低 的是后台数据业务。 3. 一些重要的结构体 在基于 Linux的无线网卡驱动中有一些很重要的结构体。因此,在分析驱动程序之前, 对这些结构体进行初步的介绍是很有必要的。 3.1 net_device数据结构 在 Linux操作系统中,net_device[2]结构体是网络驱动程序中的核心结构体。它是网络设 备驱动中抽象出的一个网络接口:向上它起到同网络层通信的作用,向下它起到控制 MAC 层的作用。因此,net_device结构体就像是一条通道将网络层和MAC层紧密地联系到一起。 net_device结构体是个复杂的结构体。结构体中的成员变量大致可以分为全局信息,硬 件信息,接口信息,设备方法和工具成员五类。在这五类中,设备方法的作用最为重要。我 们对于无线网卡的基本操作都是在设备方法中得以实现:诸如打开/关闭函数,发送函数等 等。 - 2 - 3.2 sk_buff数据结构 在 Linux操作系统中,数据在网络之间的传递都是通过 sk_buff数据结构来完成的。当 应用程序调用 socket进行网络数据传输时,用户发送的网络数据包首先由用户空间进入到内 核空间。只要网络数据包一进入到内核空间,内核就会生成一个 sk_buff结构体来完成对于 网络数据包的包裹。至此,在网络设备的驱动程序中,对于网络数据包的任何操作都是基于 sk_buff数据结构。 4. 无线网卡驱动分析 现在市场上无线网卡的种类很多。我们在此以 TL-WN550G 网卡(PCI 接口)为例。 TL-WN550G 采用的芯片类型是 Atheros 系列。在 Linux 开源社区中可以找到支持这类无线 网卡芯片的驱动程序 madwifi。 4.1 madwifi的整体架构及其特点 4.1.1 整体架构 从整体上看,madwifi[4]可以分为 4个部分。如图 1所示: net80211:net80211层是驱动中最上层的模块。应用程序中对于无线设备的操作所调用 的驱动中的函数均是在这里定义。 ath:ath层是处在 net80211层和 HAL层之间的一层。它起到的作用是处理来自 net80211 层的调用,同时又启动接入控制 HAL层的任务。 HAL:HAL的全称是 Hardware Abstraction Layer。在我们的驱动中,一切对于硬件操作 的函数都是它完成的。HAL层给上层提供了接口。 rate algorithms:通过加载 ath_rate模块,我们可以选择最佳的发送速率。 图 1 三个主要模块的调用关系图 - 3 - 4.1.2 特点 无线网卡驱动模块加载成功后,在系统中会出现两个无线设备 wifi0(处在 ath 层)和 ath0(
您可能关注的文档
- lesson2 I am a visitor here..doc
- lesson14_extension.ppt
- lesson_4_Advertisements.ppt
- lesson21:What_Is_Your_Club_Type?.ppt
- Lesson Plan 26 - The Literature of Colonial America.ppt
- Lesson02--属性与方法.pdf
- Let the cat out of the bag.ppt
- LF1608-B2R4KCB.pdf
- LetPub-2017必威体育精装版SCI写作讲义(第一讲)—SCI论文讲座,SCI论文课件.pdf
- levell-南阿曼-碰撞.pdf
- Macroeconomics(Sloman版本)Chap08.ppt
- Magic xpi_succes_stories from European Partner.pdf
- Magnetic Excitations in the Spin Gap System TlCuCl$_3$.pdf
- Magnetic Fields via Polarimetry Progress of Grain Alignment Theory.pdf
- MADAULA增速器,增速刀柄产品介绍.pdf
- Magnetic Interference Patterns and Vortices in Diffusive SNS junctions.pdf
- Magnetic-field dependence of valley splitting for Si quantum wells grown on tilted SiGe sub.pdf
- Magnetic Powder Core 中文.pdf
- Magicsoftware introduction.pdf
- MagneticsFerittePowerDesign2013使用铁氧体磁芯的电感器和变压器设计手册.pdf
有哪些信誉好的足球投注网站
文档评论(0)