您的位置 首页 新品

一种可自动识别WIN8体系USB设备的规划与完成

随着微软WIN8系统的推广及新的MBIM网卡规范提出,USB设备如何正确识别WIN8系统就成为一个急需解决的问题。其正是利用在USB设备侧实现对多套USB配置的支持,并且以微软MODs请求消息为支持,

跟着微软WIN8体系的推行,微软提出了新的MBIM网卡规范。因而,关于现有的无线网卡设备而言,为了完成免驱网卡的作用,就有必要在WIN8体系上枚举 MBIM网卡设备。可是关于WIN7及XP体系,因为体系支撑的规范网卡设备是RNDIS,所以就需求针对不同的体系,别离枚举不同的USB网卡设备。根据此问题,USB网卡设备怎么正确的辨认WIN8体系就成为一个急需解决的问题。

假如要想USB设备能主动辨认出当时操作体系是否为WIN8体系,就有必要找到当一个USB设备连接到电脑主机开端枚举时,WIN8体系与其他WIN7/XP体系在枚举音讯交互上的差异。

本文是以在USB设备侧完成对多套USB装备信息的支撑,一起运用微软界说的MODs音讯作为基础,以完成USB设备主动辨认WIN8体系的意图。

1 主动辨认WIN8体系办法概述

1.1 现在已有的辨认操作体系的办法

1)将USB设备首要虚拟为一个光盘设备,当用户刺进该USB时,需求用户装置光盘中的程序,而且一起在PC上装置一个过滤驱动。而且在驱动中预先完成和 USB设备约好的辨认码,比方WINDOS体系下会下发0xa1,WIN7体系下发0xa2等。该办法的坏处是厂商需供给额定的过滤驱动程序,影响用户电脑的稳定性和用户体会。

2)运用SCSI指令,在弹出光盘的时分关于不同的操作体系预先界说好不同的切换指令,以此到达辨认操作体系的意图。该办法需求在USB设备中完成自带光盘的功用,对用户的运用形成不方便。

3)通过微软扩展的MODs在设备枚举进程中完成体系主动辨认的意图。该办法现在只能辨认出USB设备当时接人的PC是LINUX核的体系,还对错LINUX核的体系,关于非LINUX核的体系,无法到达区别是WIN8/WIN7的作用。

1.2 通过MODs音讯而且多套USB装备辨认WIN8体系办法

运用在USB设备侧完成对多套USB装备信息的支撑,当USB设备刺进体系进行枚举时,WIN8体系会给USB设备下发屡次MODs音讯,可是WIN7/XP体系只下发一次MODs音讯,这样就判别出此前接入的操作体系是否为WIN8体系。

2 根据MODs的USB设备侧程序完成

USB设备侧有必要完成对多套USB装备的支撑和完成对MODs恳求音讯的支撑,要根据详细界说来完成音讯,还要遵从USB2.0规范中对相关音讯的界说。

2.1 MODs界说的音讯描绘

MODs的符号意义为Microsoft OS Descriptors,用于描绘微软所界说的设备及其特点的USB描绘音讯。操作体系或某一应用程序通过查询USB设备是否支撑MODs音讯来辨认此设备是否支撑某个特性,比方辨认操作体系类型。

1)OS String Descriptor音讯组成

一种可主动辨认WIN8体系USB设备的规划与完成

2)OS Feature Descriptor音讯组成

一种可主动辨认WIN8体系USB设备的规划与完成

2.2 支撑MODs音讯的USB设备枚举进程

当USB设备刺进WINDOWS体系后:

第一步,主机首要向设备发送获取设备信息恳求,设备收到此恳求音讯后当即给主机回复呼应音讯;

第二步,主机再次给设备发送获取设备的装备信息恳求,设备收到此恳求音讯后当即给主机回复呼应音讯;

第三步,主机接着给设备发送获取字符串恳求音讯,然后以此断定该设备是否支撑MODs功用,设备收到此音讯后,当即给主机回复呼应音讯,此音讯包括OS String Descri ptor音讯,为其支撑MODs功用;

第四步,承认该设备支撑MODs后,主机持续给设备下发获取设备支撑的详细特性的恳求音讯(index为bMS_VendorCode字段),设备收到该恳求后,当即给主机回复OS Feature Descriptor音讯,告知其支撑的特性。流程图如图3。

一种可主动辨认WIN8体系USB设备的规划与完成

3 程序完成的整体流程

USB设备刺进PC后:

第一步,当USB设备初次刺进WINDOWS体系主机时,操作体系会当即下发一条OS String Descriptor恳求音讯给设备,以此来获取USB设备的特性描绘,一起记载USB设备是否回复一条合法的OS String Descriptor恳求呼应给主机。

第二步,操作体系此刻假如取得OS String Descriptor恳求呼应,立刻会下发另一条获取USB设备特性描绘的恳求音讯(OS Feature Descriptor)。

第三步,因为USB设备具有多套USB装备信息,主时机对USB设备再次从头进行枚举,待第2次枚举开端后,关于WIN8体系电脑,主时机再次给USB设备下发OS String Descrip tor恳求,而WIN7/XP则不会再下发该音讯,至此,通过以上三个过程,就能够判别出当时接入的主机操作体系是否是WIN8体系。详细流程见图4。

一种可主动辨认WIN8体系USB设备的规划与完成

4 试验成果剖析

试验成果证明,将具有主动辨认操作体系功用的USB设备别离刺进WIN7/XP体系和WIN8体系的PC上,其能够主动枚举成不同的USB设备。

5 结束语

假如在USB设备侧预先完成多套USB装备信息,而且遵循MBIM协议和RNDIS别离完成两套规范网卡设备驱动,就能到达以下意图,当设备刺进WIN8体系时,USB设备能主动辨认出当时接入体系为WIN8,然后枚举为契合MBIM协议的网卡设备;当设备连接到WIN7/XP体系时,USB设备能主动辨认出当时接入体系为WIN7/XP,然后枚举为契合RNDIs协议的网卡设备,终究到达真实免驱网卡设备的意图,这有待于进一步完成。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/293658.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部