|  首页  |  资讯  |  评测  |  活动  |  学院  |  访谈  |  专题  |  杂志  |  产服  |  
您现在的位置:硅谷网> 学院> 论文>

硅谷杂志:基于linux的无线网卡驱动程序

2012-11-08 11:09 作者:刘磊 来源:硅谷网 HV: 编辑: 【搜索试试
  【硅谷网11月8日文】据《硅谷》杂志2012年第17期刊文称,无线局域网是当前较为常见的一种无线接入技术,具有运行速度高一级灵活性强的优势,研发基于linux的无线局域网产品成为一大热点课题。首先对WLAN无线网卡及linux网络设备进行简单介绍,之后对基于linux的无线网卡驱动程序结构及设计方案进行分析。
  0前言
  无线局域网是当前应用范围较广的一种无线接入技术,其最大的优势在于运行速度快以及灵活程度高,对基于linux的无线局域网产品进行研发已经成为当前的一大热点课题。
  1WLAN无线网卡及linux网络设备
  1.1WLAN无线网卡
  WLAN,即无线局域网,其重要组成部分之一就是无线网卡,也就是通信网络接口卡,无线局域网除无线网卡之外的另一重要组成部分是接入点/桥接器。借助无线网卡硬件及软件可以确保无线局域网物理层及MAC层的实现;不仅如此,无线网卡还为用户设备提供与接入点/桥接器进行连接的接口。当前应用无线网卡的主要方式是PCMCIA以及CF卡,Atmel芯片组是USB设备无线网卡的基础,除此之外的绝大部分无线网卡都是依托于IntersilPrism或LucentHermes芯片组的。无线网卡一大关键硬件就是以802.11标准为设计依据的MAC协议处理芯片,对其性能的要求主要体现为以下两方面:一方面,需要具备将所接收到的来自于射频模块的信号转换为主机所能接收的数据格式能力,另一方面,还需要能够对所接收到的来自于驱动程序的数据包进行转换,并以802.11标准数据包形式传输给射频前端。MAC层全部功能借助MAC协议处理芯片均可以得以实现,对于用户而言,在使用过程中只需要添加memory以及对应的物理层,便可以得到一个完整性的无线局域网连接。
  1.2linux网络设备
  处于便于管理的考虑,linux全部外围硬件设备被划分为字符设备、块设备以及网络设备等三大类。
  2基于linux的无线网卡驱动程序结构及设计方案
  无线网卡的种类繁多,网卡不同,相应的支持硬件也有所区别,这也就决定了编写驱动程序也不尽一致。简言之,USB接口的网卡不需要任何模块的支持,CF及PCMCIA接口的网卡驱动需要有CardService(CS)模块支持,Orinoco接口的网卡除此之外还需要Hermes模块加以辅助。在参考程序的选择上,笔者在此以cisco350系列pcmcia无线网卡驱动为主,且已将其成功安装在笔记本电脑中,同时其收发包数据格式已通过airopeek测试;以orinoco.c,mpi350.c及Tenda7722uUSB设备驱动程序为辅。和传统的以太网卡驱动程序设计相比较而言,无线网卡中诸如开关网卡、加载及卸载模块等并无明显区别,因此,笔者只选择驱动中诸如函数初始化、收发数据等具有无限特色的内容进行介绍,这些也是驱动程序的核心。
  2.1网卡初始化
  网卡初始化就是对网卡存在进行检测,主要内容就是对设备结构进行初始化,并将其在系统中进行登记。通常情况下,在对某网卡设备进行登记时,核心会自动发出初始化请求。
  初始化函数主要具有以下功能:1)在初始化程序中,以硬件特征为主要依据,对硬件存在与否进行检测,并作出是否将该驱动程序予以启动的决定;2)对request-irq及request-region进行调取,完成I/O基地址以及设备中断号的登记,同时对其进行检测;3)填充硬件帧头,这也是驱动程序的一项重要工作内容。通常情况喜爱,硬件会将自身硬件帧头添加到待发送的上层数据前,例如以太网就拥有添加在上层ip或ipx数据包前的14字节的帧头。驱动程序提供hard-header方法,该程序会在协议层进行数据发送前被调取。应在dev->hardheaderlen填入硬件帧头的长度信息,以便协议层预留出必要空间,此时hard-header程序只需要对skb-push进行调取同时准确填写硬件帧头即可;4)负责对设备结构所接收到的大多数的域段进行填写。以太网接口很多设备结构网络接口信息的设置都是借助ethersetup()函数得以实现的,该函数已被归入linux内核内部函数,无需特别指明。
  2.2数据包传输
  分析OSI七层协议不难发现,在应用层具有数据传输需求的情况下,数据包传输方向是从上到下的,同时在各层都会添加对应的帧头,最终借助devqueuexmit()函数将数据包传输至网络接口。网络接口的作用就是向网卡传送数据包,以确保物理传输的顺利实现。根据设备结构可知,所有的网络接口都具有dev->hardstartxmit硬件传输函数指针,其主要作用是辅助linux进行数据传输。Cisco352驱动程序需要在hardstartxmit函数中进行的工作主要有:1)确定一个未经使用的FID,并将其添加到MAC芯片链表中。这部分是Cisco352驱动程序的特色之一;2)对802.11控制域的结构体structTXHDR-CTRL进行填充,从而为802.11帧头的构建奠定坚实基础;3)对来自于协议层的帧格式进行判断,并将帧头长度确定下来。根据802.11协议,无线网卡只可以对三种帧格式进行传输,分别是数据帧hdrlen=30;管理帧hdrlen=24;控制帧hdrlen=16或10;4)在网卡发送缓冲区中填入skbuf中的数据包,同时要注意格式要求;因为linux内核智能提供以太网接口,因此来自于协议层的数据包为802.3或以太网格式,但无线网卡能够支持的数据包格式只有802.11,因此,驱动程序必须在网卡缓冲区中对帧结构进行调整。在传输过程中,MAC芯片处理方式主要是受802.11帧头的帧控制部分所控制;5)发出硬件发送指令,网卡执行发包。数据发送具体流程详见下图所示。
  
  图1数据发送流程示意图
  在SQLServer2005中采用了FP-树频集算法(优先关联族算法),该算法的最大优点是在大容量数据中高效率寻找复杂数据项。算法的执行方法是:第一步通过已过精确计算的表达式寻找出项集;第二步是基于频繁项集产生规则。算法关键指标如下所示:
  1)支持度:支持度指标主要是用于描述项集出现频度的指标,最低支持度意为只对达到指定频度的项集感兴趣,如果指定最低支持度为小于1的值则微软关联规则认为你只对频度达到指定百分比的项集感兴趣。比如0.03表示项集支持度只有占到总项集数的3%才能形成项集。最大支持度则指定了项集出现频度的上限,超过上限的项集也不是我们感兴趣的。
  2)概率:概率对规则的形成有影响。一条规则中有A的条件下会有B(A=>B)的概率是指一定的最低概率值就可以限制形成的规则数。
  3)重要性:如果该值为0表示A和B没有关联性,正值表示一旦拥有A则再拥有B的概率会增长,负值表示一旦拥有A则再拥有B的概率会降低。重要性对项集和规则形成都有这很大的影响,所以对于数据库的设计有着很大的意义。
  2.3接收数据包
  因采取的是硬件中断请求机制,处理工作也可以借用中断服务程序,完成一次把从采集进来的一定量数据搬到内存里面的同时,完成同等数据量的工作,这样就不会再出现迟缓的现象。IIS可以发送和接收采样量化过的数据,具体的采样量化由编码完成。在接收方向,将模拟数据采样量化;在发送方向,将声音数据还原为模拟数据。第一步要对网卡硬件类型进行判断,在对数据包帧头长度进行确定时要以帧控制位为主要依据;第二步,发出skbuff(skb)申请请求,同时将所获取的数据保存在申请的缓冲区中;第三步,对skbuff信息进行填充。数据接收流程详见下图所示。
  
  图2数据接收流程示意图
  3结语
  综上所述,笔者在此主要对cisco352网卡驱动程序进行分析,并介绍了无线网卡驱动程序的编写方法,对接收和发送数据包的基本原理以及在网卡中的存储方式进行研究,以期对借助无线网络进行相关产品的研发有所帮助。
  
【对“硅谷杂志:基于linux的无线网卡驱动程序”发布评论】

版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
广告
相关
·硅谷网学院:分步走,教新手怎样搭建网站
·硅谷网解密:4G网络中的微波传输解决方案
·硅谷网学院:探秘无刷直流电机的建模与仿真
·硅谷网学院:如何提高中技生单片机应用能力
·基于视频会议终端QoS(服务质量)技术方案探析
·硅谷网学院:热载流子效应对器件可靠性影响
·热载流子效应研究及其对器件可靠性有哪些影响?
·如何用入侵检测系统保护计算机系统的安全?
头条
硅谷网解密:4G网络中的微波传输解决方案 硅谷网解密:4G网络中的微波传输解决方案
在2013年12月4日,工信部向中国移动、中国联通、中国电信颁发TD-LTE(4G)经营许可之后……
·硅谷网解密:4G网络中的微波传输解决方案
·创意产业的批量化规律 工业造型方法论之加减
·《硅谷》杂志:浅谈电信运营商开展IPTV业务
·《硅谷》杂志:新型桌面搜索关键技术的研究与
·硅谷杂志:基于时间技术的搜索引擎排名算法
图文
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
最新
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·利用重力势能做功发电介绍和势能输出系统介绍
·李磊:新时代下电网调度自动化技术的发展分析
·提升企业竞争力以及企业人力资源管理优化思考
·《硅谷》杂志:采油分层测静压工艺技术浅究
热点
·判断连续时间系统的线性非时变性和因果性
·3DMAX+Vary室内漫游动画制作的技法浅析
·长期使人困惑的问题:TCP连接中断的实时检测
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·关于汽轮机油系统失火原因分析及防范措施的一
旧闻
·硅谷杂志:关于网络安全解决方案的探讨
·硅谷杂志:云计算在飞行试验数据处理中的探索
·徐海:智能变坡水槽控制系统的设计与实现
·探讨气体检测中如何应用数字信号处理技术
·博物馆数字化展示应用研究
广告
硅谷影像
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介绍
公关负责人离职背后:危机公关案例分析
公关负责人离职背后:危机公关案例分析
硅谷网解密:4G网络中的微波传输解决方案
硅谷网解密:4G网络中的微波传输解决方案
使用Autoit脚本在虚拟内存盘设置考试模拟系统
使用Autoit脚本在虚拟内存盘设置考试模拟系统
探秘开滦集团设备租赁管理系统的设计和实现
探秘开滦集团设备租赁管理系统的设计和实现
关于我们·About | 联系我们·contact | 加入我们·Join | 关注我们·Invest | Site Map | Tags | RSS Map
电脑版·PC版 移动版·MD版 网站热线:(+86)010-57255600
Copyright © 2007-2020 硅谷网. 版权所有. All Rights Reserved. <京ICP备12003855号-2>