- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于linux无线网卡驱动程序
基于linux无线网卡驱动程序摘要: 无线局域网是当前较为常见的一种无线接入技术,具有运行速度高一级灵活性强的优势,研发基于linux的无线局域网产品成为一大热点课题。首先对WLAN无线网卡及linux网络设备进行简单介绍,之后对基于linux的无线网卡驱动程序结构及设计方案进行分析。 关键词: linux;WLAN;无线网卡;驱动程序 中图分类号:TN967 文献标识码:A 文章编号:1671-7597(2012)0910013-01 0 前言 无线局域网是当前应用范围较广的一种无线接入技术,其最大的优势在于运行速度快以及灵活程度高,对基于linux的无线局域网产品进行研发已经成为当前的一大热点课题。 1 WLAN无线网卡及linux网络设备 1.1 WLAN无线网卡 WLAN,即无线局域网,其重要组成部分之一就是无线网卡,也就是通信网络接口卡,无线局域网除无线网卡之外的另一重要组成部分是接入点/桥接器。借助无线网卡硬件及软件可以确保无线局域网物理层及MAC层的实现;不仅如此,无线网卡还为用户设备提供与接入点/桥接器进行连接的接口。当前应用无线网卡的主要方式是PCMCIA以及CF卡,Atmel芯片组是USB设备无线网卡的基础,除此之外的绝大部分无线网卡都是依托于Intersil Prism或Lucent Hermes芯片组的。无线网卡一大关键硬件就是以802.11标准为设计依据的MAC协议处理芯片,对其性能的要求主要体现为以下两方面:一方面,需要具备将所接收到的来自于射频模块的信号转换为主机所能接收的数据格式能力,另一方面,还需要能够对所接收到的来自于驱动程序的数据包进行转换,并以802.11标准数据包形式传输给射频前端。MAC层全部功能借助MAC协议处理芯片均可以得以实现,对于用户而言,在使用过程中只需要添加memory以及对应的物理层,便可以得到一个完整性的无线局域网连接。 1.2 linux网络设备 处于便于管理的考虑,linux全部外围硬件设备被划分为字符设备、块设备以及网络设备等三大类。 2 基于linux的无线网卡驱动程序结构及设计方案 无线网卡的种类繁多,网卡不同,相应的支持硬件也有所区别,这也就决定了编写驱动程序也不尽一致。简言之,USB接口的网卡不需要任何模块的支持,CF及PCMCIA接口的网卡驱动需要有Card Service(CS)模块支持,Orinoco接口的网卡除此之外还需要Hermes模块加以辅助。在参考程序的选择上,笔者在此以cisco 350系列pcmcia无线网卡驱动为主,且已将其成功安装在笔记本电脑中,同时其收发包数据格式已通过airopeek测试;以orinoco.c,mpi350.c及Tenda 7722u USB设备驱动程序为辅。和传统的以太网卡驱动程序设计相比较而言,无线网卡中诸如开关网卡、加载及卸载模块等并无明显区别,因此,笔者只选择驱动中诸如函数初始化、收发数据等具有无限特色的内容进行介绍,这些也是驱动程序的核心。 2.1 网卡初始化 网卡初始化就是对网卡存在进行检测,主要内容就是对设备结构进行初始化,并将其在系统中进行登记。通常情况下,在对某网卡设备进行登记时,核心会自动发出初始化请求。 初始化函数主要具有以下功能: 1)在初始化程序中,以硬件特征为主要依据,对硬件存在与否进行检测,并作出是否将该驱动程序予以启动的决定; 2)对request-irq及request-region进行调取,完成I/O基地址以及设备中断号的登记,同时对其进行检测; 3)填充硬件帧头,这也是驱动程序的一项重要工作内容。通常情况喜爱,硬件会将自身硬件帧头添加到待发送的上层数据前,例如以太网就拥有添加在上层ip或ipx数据包前的14字节的帧头。驱动程序提供hard-header方法,该程序会在协议层进行数据发送前被调取。应在dev-hard header len填入硬件帧头的长度信息,以便协议层预留出必要空间,此时hard-header程序只需要对skb-push进行调取同时准确填写硬件帧头即可; 4)负责对设备结构所接收到的大多数的域段进行填写。以太网接口很多设备结构网络接口信息的设置都是借助ether setup()函数得以实现的,该函数已被归入linux内核内部函数,无需特别指明。 2.2 数据包传输 分析OSI七层协议不难发现,在应用层具有数据传输需求的情况下,数据包传输方向是从上到下的,同时在各层都会添加对应的帧头,最终借助dev queue xmit()函数将数据包传输至网络接口。网络接口的作用就是向网卡传送数据包,以确保物理传输的顺利实现。根据设备结构可知,所有的网络接口都具有dev- hard start
您可能关注的文档
最近下载
- 医疗机构内麻醉、精神药品使用与管理制度.docx VIP
- 重庆市房屋建筑与装饰工程计价定额2018-建筑工程.docx VIP
- 重庆市房屋建筑与装饰工程计价定额2018建筑工程.docx VIP
- 七年级语文第一次月考卷(全解全析)(苏州专用)-A4.docx VIP
- 周杰伦所有歌词(14张专辑-包括床边的故事)呕心沥血已经整理完毕可打印.doc VIP
- 中古时期郡望郡姓地理分布考论.docx VIP
- 机械工程材料完整全套教学课件.pptx
- 城市轨道交通运营管理毕业论文-关于铁路客运服务质量的调查与探讨.docx VIP
- 2025年高压电工证题库(附答案).docx
- 智慧工地整体解决方案(投标方案).docx
文档评论(0)