一种无线通信终端及其驱动方法

文档序号:7940073阅读:165来源:国知局
专利名称:一种无线通信终端及其驱动方法
技术领域
本发明涉及通信技术领域,更具体地,涉及一种无线通信终端及其驱动方法。
背景技术
数据卡是一种常见的无线终端产品,可提供用户高速的网络数据业务和突出的移动性。数据卡可以通过USB或PCMCIA等接口与计算机连接。最简单的数据卡可以只是一个调制解调器设备或一个网络设备(可统称为网络设备),复杂一些的可以包含串口、电视猫、存储卡或光盘等。当今使用Windows操作系统的用户最多,在Windows上使用数据卡需要驱动软件的支持,Windows自身已提供多种通用的设备驱动。以USB数据卡为例,仅包含调制解调器设备或网络设备的数据卡,Windows为其提供USBHub驱动,数据卡厂商需要提供位于USB Hub之上的调制解调器设备或网络设备驱动。除了调制解调器设备或网络设备,有些数据卡会包含一些其他类型的设备,例如包含可读写的存储卡,可供用户当U盘使用,包含光盘, 可存放一些必要的软件,包含多个设备的USB数据卡叫做USB复合设备,此类设备不仅需要 USB Hub驱动和数据卡厂商提供的调制解调器设备或网络设备驱动,还需要USB复合设备驱动支持。USB Hub设备是USB复合设备的父设备,USB复合设备是网络设备和其他设备的父设备。用树形结构表示,USBHub设备之上是USB复合设备,USB复合设备之上是网络设备和其他设备。以上是常见的数据卡驱动结构,驱动运行在内核态,是数据卡不可缺少的部分,它向上给应用程序提供控制接口,向下完成对数据卡的各种实际操作。所以驱动的可靠性和稳定性就显得尤为重要。

发明内容
本发明目的是为克服现有数据卡网络设备驱动在某些情况下拔插后无法使用的问题,而提出一种无线通信终端及其驱动方法。为实现上述目的,本发明提出一种无线通信终端驱动方法,所述方法包括所述无线通信终端包括网络设备驱动、USB复合设备驱动和虚拟总线驱动;USB复合设备创建和管理虚拟总线设备;在网络设备驱动和USB复合设备驱动之间增加虚拟总线设备驱动,虚拟总线驱动创建和管理其上的网络设备,并在网络设备驱动和USB复合设备驱动间透传USB 请求和响应。进一步地,操作系统判断网络设备是否是复合设备,如果不是,则直接加载网络设备驱动;如果是复合设备则操作系统为复合设备加载USB复合设备驱动。进一步地,操作系统判断网络设备是否是存储设备共存网络设备,如果不是,则直接加载网络设备驱动;如果是,则USB复合设备驱动创建虚拟总线设备,操作系统为虚拟总线设备加载虚拟总线驱动。进一步地,所述虚拟总线驱动查看是否已经存在由其创建的网络设备,如果不存在则创建网络设备,如果存在则虚拟总线驱动创建并报告一个不同的网络设备。本发明还提出一种无线通信终端,所述无线通信终端包括网络设备驱动、USB复合设备驱动和虚拟总线驱动;所述USB复合设备驱动创建和管理虚拟总线设备;所述虚拟总线驱动创建和管理其上的网络设备,并在网络设备驱动和USB复合设备驱动间透传USB请求和响应。进一步地,所述虚拟总线驱动包括初始化模块,所述初始化模块设置全局变量和派遣例程,完成驱动初始化任务。进一步地,所述虚拟总线驱动包括即插即用模块,所述即插即用模块负责网络设备的创建、查询和移除。进一步地,所述虚拟总线驱动包括电源模块,所述电源模块负责处理虚拟总线设备和网络设备的驱动消息。综上所述,采用本发明具有如下有益效果1)虚拟总线驱动可以识别自身和网络设备的多种异常情况,并能有效处理。例如, 用户在使用存储设备共存的数据卡时,如果打开存储卡上的文件后拔出数据卡,由于操作系统自身的原因,再次插入数据卡,网卡设备无法完成初始化操作,导致数据卡不可使用。2)本发明在现行的数据卡驱动下层增加一个虚拟总线驱动,隔离了数据卡的网络设备和操作系统的USB复合设备,网络设备的创建和管理完全由虚拟总线驱动完成,操作系统的USB复合设备驱动不再参与,操作更加灵活。


图1是典型的现有技术的设备结构图;图2是本发明实施例的设备结构图;
图3是本发明实施例的流程示意图。
具体实施例方式本发明针对复合设备,克服现有数据卡网络设备驱动在某些情况下拔插后无法使用的问题。例如,对于存储设备共存的数据卡,如果用户打开存储设备中的文件后拔出数据卡,再次插入时,数据卡的网络设备无法使用,查看设备管理器会出现黄色感叹号,这是由于打开的文件没有关闭,拔卡操作系统不会给光盘和其他设备发送移除通知,驱动无法删除设备,再次插卡时USB复合设备驱动会枚举同一个设备,网络设备驱动无法完成初始化, 导致设备无法使用。本发明技术方案包括数据卡网络设备驱动、USB复合设备驱动和一个虚拟总线驱动。USB复合设备是虚拟总线设备的父设备,负责创建和管理虚拟总线设备,虚拟总线设备是数据卡网络设备的父设备,负责创建和管理网络设备。即在网络设备驱动和USB复合设备驱动之间增加一层虚拟总线驱动,虚拟总线驱动负责创建和管理其上的网络设备,并在网络设备驱动和USB复合设备驱动间透传USB请求和响应。虚拟总线驱动主要包含三部分初始化模块、即插即用模块和电源模块。初始化模块设置全局变量和派遣例程,完成驱动初始化任务。即插即用模块负责网络设备的创建、查询和移除等功能。电源模块负责处理虚拟总线设备和网络设备的驱动消息。下面结合附图对技术方案的实施作进一步的详细描述。图1是典型的现有技术的设备结构图,包括存储设备、网络设备、其他设备和USB 复合设备。最下部是USB复合设备,可以把它看作是数据卡的根设备,用户插卡时,操作系统为数据卡加载USB复合设备驱动,USB复合设备枚举数据卡的存储设备、网络设备和/或其他设备。图2是本发明实施例的设备结构图,包括存储设备、网络设备、其他设备、虚拟总线设备和USB复合设备。最下面是USB复合设备,用户插卡时,操作系统为数据卡加载USB 复合设备驱动,USB复合设备驱动创建存储设备、虚拟总线设备和其他设备。等虚拟总线设备初始化成功后,虚拟总线驱动再创建网络设备,此时操作系统加载网络设备驱动。图3是本发明实施例的流程示意图,显示从用户插卡开始,到所有驱动建立的整个过程。S301 用户插入数据卡;S302 操作系统判断是否是复合设备数据卡,如果不是,转入步骤S308直接加载网络设备驱动,流程结束;如果是,复合设备数据卡则转入步骤S303 ;S303 操作系统为数据卡加载USB复合设备驱动;S304:判断是否是存储设备共存数据卡,如果不是,转入步骤S308直接加载网络设备驱动,流程结束;如果是,存储设备共存数据卡则转入步骤S305 ;S305 =USB复合设备驱动创建虚拟总线设备,操作系统为虚拟总线设备加载虚拟总线驱动;S306 虚拟总线驱动查看是否已经存在由其创建的网络设备,如果不存在则转入步骤S307,如果存在则转入步骤S309 ;S307 创建网络设备;S308 操作系统加载网络设备驱动,并转入步骤S310 ;S309 虚拟总线驱动会创建并报告一个不同的网络设备并转入步骤S310 ;如果存在,说明前一个网络设备没有被移除(可能是由于用户没有关闭存储设备上的文件就拔插卡或其它原因)。S310 流程结束。与现有技术相比较,本发明具有如下优点和效果虚拟总线驱动可以识别自身和网络设备的多种异常情况,并能有效处理。例如,用户在使用存储设备共存的数据卡时,如果打开存储卡上的文件后拔出数据卡,由于操作系统自身的原因,再次插入数据卡,网络设备无法完成初始化操作,导致数据卡不可使用。本发明在现行的数据卡驱动下层增加一个虚拟总线驱动,隔离了数据卡的网络设备和操作系统的USB复合设备,网络设备的创建和管理完全由虚拟总线驱动完成,操作系统的USB复合设备驱动不再参与,操作更加灵活。当然,本发明还可有多种实施方式,在不背离本发明精神及其实质的情况,熟悉本领域的技术人员当然可根据本发明做出各种相应的更改或变化,但凡在本发明的精神和原则之内所作的任何修改、等同替换、改进,均应包含在本发明的保护范围之内。
权利要求
1.一种无线通信终端驱动方法,其特征在于,所述方法包括所述无线通信终端包括网络设备驱动、USB复合设备驱动和虚拟总线驱动;USB复合设备创建和管理虚拟总线设备;在网络设备驱动和USB复合设备驱动之间增加虚拟总线设备驱动,虚拟总线驱动创建和管理其上的网络设备,并在网络设备驱动和USB复合设备驱动间透传USB请求和响应。
2.如权利要求1所述的方法,其特征在于,操作系统判断网络设备是否是复合设备,如果不是,则直接加载网络设备驱动;如果是复合设备则操作系统为复合设备加载USB复合设备驱动。
3.如权利要求2所述的方法,其特征在于,操作系统判断网络设备是否是存储设备共存网络设备,如果不是,则直接加载网络设备驱动;如果是,则USB复合设备驱动创建虚拟总线设备,操作系统为虚拟总线设备加载虚拟总线驱动。
4.如权利要求3所述的方法,其特征在于,所述虚拟总线驱动查看是否已经存在由其创建的网络设备,如果不存在则创建网络设备,如果存在则虚拟总线驱动创建并报告一个不同的网络设备。
5.一种无线通信终端,其特征在于,所述无线通信终端包括网络设备驱动、USB复合设备驱动和虚拟总线驱动;所述USB复合设备驱动创建和管理虚拟总线设备;所述虚拟总线驱动创建和管理其上的网络设备,并在网络设备驱动和USB复合设备驱动间透传USB请求和响应。
6.如权利要求5所述的无线通信终端,其特征在于,所述虚拟总线驱动包括初始化模块,所述初始化模块设置全局变量和派遣例程,完成驱动初始化任务。
7.如权利要求5所述的无线通信终端,其特征在于,所述虚拟总线驱动包括即插即用模块,所述即插即用模块负责网络设备的创建、查询和移除。
8.如权利要求5所述的无线通信终端,其特征在于,所述虚拟总线驱动包括电源模块, 所述电源模块负责处理虚拟总线设备和网络设备的驱动消息。
全文摘要
本发明提出一种无线通信终端及其驱动方法。所述无线通信终端包括网络设备驱动、USB复合设备驱动和虚拟总线驱动;USB复合设备创建和管理虚拟总线设备;在网络设备驱动和USB复合设备驱动之间增加虚拟总线设备驱动,虚拟总线驱动创建和管理其上的网络设备,并在网络设备驱动和USB复合设备驱动间透传USB请求和响应。本发明在现行的数据卡驱动下层增加一个虚拟总线驱动,隔离了数据卡的网络设备和操作系统的USB复合设备,网络设备的创建和管理完全由虚拟总线驱动完成,操作系统的USB复合设备驱动不再参与,操作更加灵活;另外,虚拟总线驱动可以识别自身和网络设备的多种异常情况,并能有效处理。
文档编号H04W88/02GK102339265SQ20111031426
公开日2012年2月1日 申请日期2011年10月17日 优先权日2011年10月17日
发明者梁磊 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1