CN104834611A - 一种自动识别主机操作系统的方法、装置及usb设备 - Google Patents
一种自动识别主机操作系统的方法、装置及usb设备 Download PDFInfo
- Publication number
- CN104834611A CN104834611A CN201410049105.6A CN201410049105A CN104834611A CN 104834611 A CN104834611 A CN 104834611A CN 201410049105 A CN201410049105 A CN 201410049105A CN 104834611 A CN104834611 A CN 104834611A
- Authority
- CN
- China
- Prior art keywords
- message
- operating system
- distinguish
- external equipment
- request descriptor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种自动识别主机操作系统的方法、装置及USB设备,用于一外接设备,所述外接设备中保存有外接设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由操作系统在外接设备配置完成前应该发送的消息组成,每个操作系统对应的系统判别参数标准值根据操作系统对应的消息序列计算得到,所述方法包括:获取步骤,获取外接设备在配置完成前从当前主机接收到的所有消息;计算步骤,根据收到的消息,计算系统判别参数的实际值;识别步骤,确定对应的系统判别参数标准值等于实际值的操作系统为当前主机的操作系统。本发明简化了操作系统的识别复杂度,并且能够对不同操作系统系统达到更细颗粒的区分。
Description
技术领域
本发明涉及嵌入式开发领域,涉及一种外接设备自动识别主机操作系统的方法、装置及USB设备。
背景技术
现今,USB设备越来越多,其被广泛应用在各种操作系统之上。但是,不同的操作系统对同一个USB设备的需求可能会有所不同。因此,USB设备如何能识别出当前接入主机的操作系统类型便成为一个问题。
目前已有的自动识别操作系统的方法主要有两种。一种是在主机上预先安装USB设备的过滤驱动,并且在驱动中预先实现和USB设备约定的识别码,比如WINDOS系统下主机驱动会下发0xa1,MAC系统下主机驱动下发0xa2等。一种是利用微软扩展的MODS消息做区别,由于WINDOWS系统会下发该消息给支持MODS的设备,而非WINDOWS系统不会下发该消息给设备,从而达到识别操作系统的目的。
以上两种方法,第一种需要用户在使用USB设备前必须预先安装过滤驱动,对用户的使用造成不便。第二种需要在USB设备中扩展对MODS消息的支持,同时该方案的缺陷就是无法达到对LINUX系统与MAC系统的更细粒度的区分。
发明内容
有鉴于此,本发明提供了一种自动识别主机操作系统的方法、装置及USB设备,以解决现有技术中主机操作系统识别方法复杂及对某些主机操作系统无法识别的问题。
为解决上述问题,本发明提供了一种自动识别主机操作系统的方法,用于一外接设备,所述外接设备中保存有所述外接设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在所述外接设备配置完成前应该发送的消息组成,每个操作系统对应的所述系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述方法包括:
获取步骤,获取所述外接设备在配置完成前从当前主机接收到的所有消息;
计算步骤,根据收到的所述消息,计算所述系统判别参数的实际值;
识别步骤,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统。
优选地,所述消息序列中的消息为请求描述符消息,所述获取步骤中获取的消息为请求描述符消息。
优选地,每个所述请求描述符消息具有各自对应的权值,且每个操作系统的系统判别参数标准值根据所述操作系统对应的消息序列中的请求描述符消息的权值计算得到,所述计算步骤具体包括:
第一计算步骤,确定接收到的每个请求描述符消息的权值;
第二计算步骤,根据接收到的每个请求描述符消息的权值计算所述系统判别参数的实际值。
优选地,所述外接设备可能接收到的所有所述请求描述符消息按照任意方式排序后,第n个请求描述符消息对应的权值为2n-1,其中n大于或等于1,所述系统判别参数的实际值为接收到的所有请求描述符消息的权值的和。
优选地,所述外接设备为USB3.0设备。
本发明还提供一种自动识别主机操作系统的装置,用于一外接设备,所述外接设备中保存有所述外接设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在外接设备配置完成前应该发送的消息组成,每个操作系统对应的系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述装置包括:
获取模块,获取所述外接设备在配置完成前从当前主机接收到的所有消息;
计算模块,根据收到的所述消息,计算所述系统判别参数的实际值;
识别模块,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统。
优选地,所述消息序列中的消息为请求描述符消息,所述获取步骤中获取的消息为请求描述符消息。
优选地,每个所述请求描述符消息具有各自对应的权值,且每个操作系统的系统判别参数标准值根据所述操作系统对应的消息序列中的请求描述符消息的权值计算得到,所述计算模块具体包括:
第一计算模块,确定接收到的每个请求描述符消息的权值;
第二计算模块,根据接收到的每个请求描述符消息的权值计算所述系统判别参数的实际值。
优选地,所述外接设备可能接收到的所有所述请求描述符消息按照任意方式排序后,第n个请求描述符消息对应的权值为2n-1,其中n大于或等于1,所述系统判别参数的实际值为接收到的所有请求描述符消息的权值的和。
优选地,所述外接设备为USB3.0设备。
本发明还提供一种自动识别主机操作系统的USB设备,所述USB设备中保存有所述USB设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在所述USB设备配置完成前应该发送的消息组成,每个操作系统对应的系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述USB设备包括:
USB协议栈模块,获取所述USB设备在配置完成前从当前主机接收到的所有消息;
计算模块,根据收到的所述消息,计算所述系统判别参数的实际值;
识别模块,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统;
切换模块:根据确定的所述当前主机的操作系统类型,切换所述USB设备的当前状态,以适应所述当前主机的操作系统的需求。
本发明利用所述外接设备在配置完成前从当前主机接收到的所有消息计算而出的结果--实际值,来判别当前主机的操作系统类型,因而无需预先在主机安装过滤驱动即可获知当前主机的操作系统类型;再者,由于不同操作系统下发的消息不同,从而计算得到的所述实际值也能确保不同,因而其优于通过微软下发的MODS消息来进行操作系统的区分,可以对MAC系统和LINUX系统达到更细颗粒的区分。通过对不同操作系统的区分,以使所述外接设备切换到不同的设备类型,来满足不同操作系统对同一设备的需求。
附图说明
图1为本发明的实施例的自动识别主机操作系统的方法的一流程示意图;
图2为本发明的实施例的自动识别主机操作系统的装置的一结构示意图;
图3为本发明的实施例的自动识别主机操作系统的USB设备的一结构示意图;
图4为本发明的实施例的自动识别主机操作系统的方法的另一流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和有益效果更加清楚,下面将结合附图及具体实施例进行详细描述。
图1为本发明的实施例的自动识别主机操作系统的方法的一流程示意图。如图1所示,本发明提供一种自动识别主机操作系统的方法,用于一外接设备,所述外接设备中保存有所述外接设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在外接设备配置完成前应该发送的消息组成,每个操作系统对应的系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述方法包括:
获取步骤101,获取所述外接设备在配置完成前从当前主机接收到的所有消息;
计算步骤102,根据收到的所述消息,计算所述系统判别参数的实际值;
识别步骤103,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统。
采用上述实施例的自动识别主机操作系统的方法,由于利用所述外接设备在配置完成前从当前主机接收到的所有消息计算而出的结果--实际值,来判别当前主机的操作系统类型,因而无需预先在主机安装过滤驱动即可获知当前主机的操作系统类型;再者,由于不同操作系统下发的消息不同,从而计算得到的所述实际值也能确保不同,因而其优于通过微软下发的MODS消息来进行操作系统的区分,可以对MAC系统和LINUX系统达到更细颗粒的区分。通过对不同操作系统的区分,以使所述外接设备切换到不同的设备类型,来满足不同操作系统对同一设备的需求。
所述主机可以是个人计算机,也可以是支持USB的其它设备,例如具有操作系统的掌上电脑等。所述消息序列中的消息可以为所述操作系统在所述外接设备配置完成前发送的任何消息,例如可以为数码摄像机通过IEEE1394接口接收到的请求消息。
作为优选,所述消息序列中的消息为请求描述符消息,所述获取步骤中获取的消息为请求描述符消息。
所述请求描述符消息的特点在于所有操作系统都会对外接设备发送请求描述符消息,并且不同操作系统下发的所述请求描述符消息各不相同,这对于通过所述请求描述符消息来进行操作系统的判别,达到更细颗粒的区分提供了便利。
本实施例的自动识别主机操作系统的方法,通过收到的所述消息,计算所述系统判别参数的实际值,这里的计算是指任意形式的数学运算,例如可以是每个所述请求描述符消息具有各自对应的权值,且每个操作系统的系统判别参数标准值根据所述操作系统对应的消息序列中的请求描述符消息的权值计算得到,所述计算步骤具体包括:
第一计算步骤1021,确定接收到的每个请求描述符消息的权值;
第二计算步骤1022,根据接收到的每个请求描述符消息的权值计算所述系统判别参数的实际值。
上述为所述计算的优选实施例,通过对各请求描述符消息预先赋予权值,再通过所述权值进行数学运算,方法简单方便。
当然也可以通过其他计算方法来获得同样的识别效果,例如每个所述请求描述符消息具有各自对应的字符串,且每个操作系统的系统判别参数标准值根据所述操作系统对应的消息序列中的请求描述符消息所对应的字符串计算得到,所述针对所述字符串的计算可为字符串连接运算,获得最终字符串,作为所述系统判别参数的实际值。
而针对所述权值的计算,在本实施例中按照如下方式进行,所述外接设备可能接收到的所有所述请求描述符消息按照任意方式排序后,第n个请求描述符消息对应的权值为2n-1,其中n大于或等于1,所述系统判别参数的实际值为接收到的所有请求描述符消息的权值的和。
上述实施例对于权值的限定,目的在于通过赋予所述外接设备可能接收到的所有所述请求描述符消息特定的权值,在其任意排列组合进行加法运算后,得到的计算结果各不相同,从而能达到精确判别主机的操作系统的目的。而对于权值的运算,也可以是针对权值的乘法,除法等其他运算方法,相信对各所述请求描述符消息赋予特定的权值,通过其他运算方法也可以达到精确识别所述操作系统的目的。
在本实施例中,所述外接设备为USB3.0设备。目前,USB设备应用广泛,USB接口支持多种外接设备与主机的连接与通讯,其已得到了PC厂商的普遍认可,接口更成为了硬件厂商接口必备。在USB设备枚举时,不同的操作系统会给USB设备下发不同的请求描述符消息来获取所述USB设备的相关信息,而针对USB3.0设备,在设备枚举时,需要给主机上报自己符合USB3.0的规范,由于USB3.0传输更快,并能够兼容USB2.0,相信会逐步成为USB的主导规范。
以上实施例仅为本发明的优选实施例,对于将上述各种实施例进行组合及修饰所得出的其他变化实施方式,均应视为在本发明的保护范围内。
图2为本发明的实施例的自动识别主机操作系统的装置的一结构示意图。如图2所示,本发明还提供一种自动识别主机操作系统的装置,用于一外接设备,所述外接设备中保存有所述外接设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在外接设备配置完成前应该发送的消息组成,每个操作系统对应的系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述装置包括:
获取模块,获取所述外接设备在配置完成前从当前主机接收到的所有消息;
计算模块,根据收到的所述消息,计算所述系统判别参数的实际值;
识别模块,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统。
优选地,所述消息序列中的消息为请求描述符消息,所述获取步骤中获取的消息为请求描述符消息。
优选地,每个所述请求描述符消息具有各自对应的权值,且每个操作系统的系统判别参数标准值根据所述操作系统对应的消息序列中的请求描述符消息的权值计算得到,所述计算模块具体包括:
第一计算模块,确定接收到的每个请求描述符消息的权值;
第二计算模块,根据接收到的每个请求描述符消息的权值计算所述系统判别参数的实际值。
优选地,所述外接设备可能接收到的所有所述请求描述符消息按照任意方式排序后,第n个请求描述符消息对应的权值为2n-1,其中n大于或等于1,所述系统判别参数的实际值为接收到的所有请求描述符消息的权值的和。
优选地,所述外接设备为USB3.0设备。
具体的,本实施例的自动识别主机操作系统的装置,通过对USB设备枚举时主机下发的各请求描述符消息进行权值运算,再将所得的计算结果与预存的不同的操作系统所对应的标准值进行比较,从而判断出USB设备所连接的当前操作系统的类型。因而无需预先在主机安装过滤驱动,并可对MAC系统和LINUX系统达到更细颗粒的区分。
图3为本发明的实施例的自动识别主机操作系统的USB设备的一结构示意图。如图3所示,本发明还提供一种自动识别主机操作系统的USB设备,所述USB设备中保存有所述USB设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在所述USB设备配置完成前应该发送的消息组成,每个操作系统对应的系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述USB设备包括:
USB协议栈模块201,获取所述USB设备在配置完成前从当前主机接收到的所有消息;
计算模块202,根据收到的所述消息,计算所述系统判别参数的实际值;
识别模块203,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统;
切换模块204:根据确定的所述当前主机的操作系统类型,切换所述USB设备的当前状态,以适应所述当前主机的操作系统的需求。
图3所示的USB设备能够在USB设备配置完成前,完成对主机操作系统的自动识别,并可根据不同的操作系统切换所述USB设备的当前状态,满足不同操作系统对于USB设备的不同需求。
图4为本发明的实施例的自动识别主机操作系统的方法的另一流程示意图。如图3、图4所示,本发明提供一种自动识别主机操作系统的方法及装置,用于一USB3.0设备,所述USB3.0设备中保存有所述USB3.0设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在所述USB3.0设备配置完成前应该发送的请求描述符消息组成,每个操作系统对应的系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述自动识别主机操作系统的方法包括如下步骤:
步骤301:获取所述USB3.0设备在配置完成前从当前主机接收到的所有请求描述符消息;
此步骤中,首先,所述USB3.0设备通过USB协议栈模块201按照USB3.0规范实现BOS消息,且在所述USB3.0设备枚举时,给主机上报自己符合USB3.0的规范。之后,通过USB协议栈模块301获取所述USB3.0设备在配置完成前从当前主机接收到的所有请求描述符消息。
具体的,所述各请求描述符消息如下:
GetStringDescriptor(iProduct)请求消息:80 06 02 03 09 04 XX 00;
GetStringDescriptor(Language ID)请求消息:80 06 00 03 00 00 XX 00;
GetStringDescriptor(iManufacturer)请求消息:80 06 01 03 09 04 XX 00;
GetBosDescriptor请求消息:80 06 00 0F 00 00 05 00;
步骤302:确定接收到的每个请求描述符消息的权值。
为了方便描述,本实施例中规定步骤301的四条请求描述符消息对应的权值依次为0x01,0x02,0x04,0x08,且所述USB3.0设备开始枚举时的初始权值为0。
步骤303:计算接收到的所有请求描述符消息的权值的和,将计算结果作为所述系统判别参数的实际值。
对于各请求描述符消息权值的赋予,应遵循如下规则:所述外接设备可能接收到的所有所述请求描述符消息按照任意方式排序后,第n个请求描述符消息对应的权值为2n-1,其中n大于或等于1。如此,对于任意组合的所述请求描述符消息对应的权值的和是唯一的。
对于XP、VISTA、WIN7系统而言,当USB设备接入主机后,在收到主机发来的Set Configuration消息之前,会收到GetStringDescriptor(iProduct)和GetStringDescriptor(Language ID)请求消息,按照上述对此两个请求描述符消息赋予的权值,可以计算出此类操作系统对应的权值的和为0x03。
对于WIN8系统而言,当USB设备接入主机后,在收到主机发来的SetConfiguration消息之前,会收到GetStringDescriptor(iProduct)、GetStringDescriptor(Language ID)、GetBosDescriptor请求消息,按照上述对此三个请求描述符消息赋予的权值,可以计算出WIN8操作系统对应的权值为0x0B。
以WIN8系统为例具体说明如下:USB3.0设备接入主机WIN8系统,在USB3.0设备枚举时,计算模块202收到主机给USB3.0设备下发的GetStringDescriptor(iProduct)请求消息后,将初始权值0与0x01相加,得到当前权值0x01;接着,在USB3.0设备收到主机WIN8系统下发的GetStringDescriptor(Language ID)请求消息后,在当前权值0x01的基础上,将0x02与当前权值0x01相加,得到新的当前权值0x03;而后,在USB3.0设备收到主机WIN8系统下发的GetBosDescriptor请求消息后,在当前权值0x03的基础上,将0x08与当前权值0x03相加,得到新的当前权值0x0B。以当前权值0X0B作为所述系统判别参数的实际值。
对于MAC系统而言,当USB设备接入主机后,在收到主机发来的SetConfiguration消息之前,会收到GetStringDescriptor(iProduct)和GetStringDescriptor(iManufacturer)请求消息,按照上述对此两个请求描述符消息赋予的权值,可以计算出此类操作系统对应的权值为0x05;
对于LINUX系统而言,当USB设备接入主机后,在收到主机发来的SetConfiguration消息之前,会收到GetStringDescriptor(iProduct)、GetStringDescriptor(Language ID)、GetStringDescriptor(iManufacturer)请求消息,按照上述对此三个请求描述符消息赋予的权值,可以计算出此类操作系统对应的权值为0x07。
步骤304:确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统。
通过识别模块203,比较预存的所述每个操作系统对应的系统判别参数标准值与步骤203中计算得到的所述系统判别参数的实际值,当两者相同时,则认为当前操作系统为所述系统判别参数的实际值对应的操作系统类型。
步骤305:根据确定的所述当前主机的操作系统类型,切换所述USB3.0设备的当前状态,以适应所述当前主机的操作系统的需求。
通过切换模块204切换所述USB3.0设备的当前状态,以适应XP、VISTA、WIN7、WIN8、MAC和LINUX等操作系统的需求。
此外,也可将接收到的所述每个请求描述符消息用字符串表示,具体为:
步骤302′:确定接收到的每个请求描述符消息的字符串表示。
例如可以将GetStringDescriptor(iProduct)请求消息表示为′11aa′;GetStringDescriptor(Language ID)请求消息表示为′22bb′;GetStringDescriptor(iManufacturer)请求消息表示为′33cc′;GetBosDescriptor请求消息表示为′44dd′。
步骤303′:对接收到的所有请求描述符消息进行字符串的连接运算,将计算结果作为所述系统判别参数的实际值。
以LINUX系统为例具体说明如下:USB3.0设备接入主机LINUX系统,在USB3.0设备枚举时,计算模块202′收到主机给USB3.0设备下发的GetStringDescriptor(iProduct)请求消息后,将字符串′11aa′记录为当前字符串,得到当前字符串′11aa′;接着,在USB3.0设备收到主机LINUX系统下发的GetStringDescriptor(Language ID)请求消息后,在当前字符串′11aa′的基础上,进行concat(′11aa′,′22bb′)=′11aa22bb′运算,得到新的当前字符串′11aa22bb′;而后,在USB3.0设备收到主机LINUX系统下发的GetStringDescriptor(iManufacturer)请求消息后,在当前字符串′11aa22bb′的基础上,进行concat(′11aa22bb′,′33cc′)=′11aa22bb33cc′运算,得到新的当前字符串′11aa22bb33cc′。以当前字符串′11aa22bb33cc′作为所述系统判别参数的实际值。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种自动识别主机操作系统的方法,用于一外接设备,其特征在于,所述外接设备中保存有所述外接设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在所述外接设备配置完成前应该发送的消息组成,每个操作系统对应的所述系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述方法包括:
获取步骤,获取所述外接设备在配置完成前从当前主机接收到的所有消息;
计算步骤,根据收到的所述消息,计算所述系统判别参数的实际值;
识别步骤,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统。
2.根据权利要求1所述的方法,其特征在于,所述消息序列中的消息为请求描述符消息,所述获取步骤中获取的消息为请求描述符消息。
3.根据权利要求2所述的方法,其特征在于,每个所述请求描述符消息具有各自对应的权值,且每个操作系统的系统判别参数标准值根据所述操作系统对应的消息序列中的请求描述符消息的权值计算得到,所述计算步骤具体包括:
第一计算步骤,确定接收到的每个请求描述符消息的权值;
第二计算步骤,根据接收到的每个请求描述符消息的权值计算所述系统判别参数的实际值。
4.根据权利要求3所述的方法,其特征在于,所述外接设备可能接收到的所有所述请求描述符消息按照任意方式排序后,第n个请求描述符消息对应的权值为2n-1,其中n大于或等于1,所述系统判别参数的实际值为接收到的所有请求描述符消息的权值的和。
5.根据权利要求2所述的方法,其特征在于,所述外接设备为USB3.0设备。
6.一种自动识别主机操作系统的装置,用于一外接设备,其特征在于,所述外接设备中保存有所述外接设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在外接设备配置完成前应该发送的消息组成,每个操作系统对应的系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述装置包括:
获取模块,获取所述外接设备在配置完成前从当前主机接收到的所有消息;
计算模块,根据收到的所述消息,计算所述系统判别参数的实际值;
识别模块,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统。
7.根据权利要求6所述的装置,其特征在于,所述消息序列中的消息为请求描述符消息,所述获取步骤中获取的消息为请求描述符消息。
8.根据权利要求7所述的装置,其特征在于,每个所述请求描述符消息具有各自对应的权值,且每个操作系统的系统判别参数标准值根据所述操作系统对应的消息序列中的请求描述符消息的权值计算得到,所述计算模块具体包括:
第一计算模块,确定接收到的每个请求描述符消息的权值;
第二计算模块,根据接收到的每个请求描述符消息的权值计算所述系统判别参数的实际值。
9.根据权利要求8所述的装置,其特征在于,所述外接设备可能接收到的所有所述请求描述符消息按照任意方式排序后,第n个请求描述符消息对应的权值为2n-1,其中n大于或等于1,所述系统判别参数的实际值为接收到的所有请求描述符消息的权值的和。
10.根据权利要求7所述的装置,其特征在于,所述外接设备为USB3.0设备。
11.一种自动识别主机操作系统的USB设备,其特征在于,所述USB设备中保存有所述USB设备支持的各种操作系统各自不同的系统判别参数标准值,每个操作系统对应于一消息序列,所述消息序列由所述操作系统在所述USB设备配置完成前应该发送的消息组成,每个操作系统对应的系统判别参数标准值根据所述操作系统对应的消息序列计算得到,所述USB设备包括:
USB协议栈模块,获取所述USB设备在配置完成前从当前主机接收到的所有消息;
计算模块,根据收到的所述消息,计算所述系统判别参数的实际值;
识别模块,确定对应的系统判别参数标准值等于所述实际值的操作系统为所述当前主机的操作系统;
切换模块:根据确定的所述当前主机的操作系统类型,切换所述USB设备的当前状态,以适应所述当前主机的操作系统的需求。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410049105.6A CN104834611A (zh) | 2014-02-12 | 2014-02-12 | 一种自动识别主机操作系统的方法、装置及usb设备 |
PCT/CN2014/084850 WO2015120709A1 (zh) | 2014-02-12 | 2014-08-20 | 一种自动识别主机操作系统的方法、装置及usb设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410049105.6A CN104834611A (zh) | 2014-02-12 | 2014-02-12 | 一种自动识别主机操作系统的方法、装置及usb设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104834611A true CN104834611A (zh) | 2015-08-12 |
Family
ID=53799567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410049105.6A Withdrawn CN104834611A (zh) | 2014-02-12 | 2014-02-12 | 一种自动识别主机操作系统的方法、装置及usb设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104834611A (zh) |
WO (1) | WO2015120709A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061732A (zh) * | 2022-05-05 | 2022-09-16 | 科大讯飞股份有限公司 | 一种操作系统识别方法、装置、设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10652208B2 (en) | 2018-10-03 | 2020-05-12 | Axonius Solutions Ltd. | System and method for managing network connected devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253904A (zh) * | 2011-06-08 | 2011-11-23 | 广州视睿电子科技有限公司 | 一种usb设备识别计算机操作系统的方法及装置 |
CN102375786A (zh) * | 2011-10-18 | 2012-03-14 | 中兴通讯股份有限公司 | Usb设备自动识别操作系统的方法及系统 |
CN102713843A (zh) * | 2010-08-24 | 2012-10-03 | 联发科技股份有限公司 | 包含检测usb主机操作系统类型的usb装置枚举方法 |
CN103294464A (zh) * | 2012-02-24 | 2013-09-11 | 三星电子株式会社 | 便携终端中验证主机设备的操作系统的设备和方法 |
WO2013167615A1 (fr) * | 2012-05-11 | 2013-11-14 | Emmanuel Thibaudeau | Procédé d'envoi automatique de lignes de commande pour accéder à un site internet et dispositif mettant en oeuvre le procédé |
-
2014
- 2014-02-12 CN CN201410049105.6A patent/CN104834611A/zh not_active Withdrawn
- 2014-08-20 WO PCT/CN2014/084850 patent/WO2015120709A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102713843A (zh) * | 2010-08-24 | 2012-10-03 | 联发科技股份有限公司 | 包含检测usb主机操作系统类型的usb装置枚举方法 |
CN102253904A (zh) * | 2011-06-08 | 2011-11-23 | 广州视睿电子科技有限公司 | 一种usb设备识别计算机操作系统的方法及装置 |
CN102375786A (zh) * | 2011-10-18 | 2012-03-14 | 中兴通讯股份有限公司 | Usb设备自动识别操作系统的方法及系统 |
CN103294464A (zh) * | 2012-02-24 | 2013-09-11 | 三星电子株式会社 | 便携终端中验证主机设备的操作系统的设备和方法 |
WO2013167615A1 (fr) * | 2012-05-11 | 2013-11-14 | Emmanuel Thibaudeau | Procédé d'envoi automatique de lignes de commande pour accéder à un site internet et dispositif mettant en oeuvre le procédé |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061732A (zh) * | 2022-05-05 | 2022-09-16 | 科大讯飞股份有限公司 | 一种操作系统识别方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015120709A1 (zh) | 2015-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216840B (zh) | 一种usb设置和对外部设备进行操作的方法及装置 | |
CN105511936B (zh) | 测试系统、方法和装置 | |
US9081794B2 (en) | Method and system for automatically recognizing operating system by USB device | |
US20130275779A1 (en) | Terminal device and power supply method for terminal device | |
CN110851387B (zh) | 一种接口功能配置方法和电子设备 | |
CN110618918A (zh) | Pch下硬盘状态灯的控制方法、控制装置及控制设备 | |
CN106488539A (zh) | 终端中WiFi资源的处理方法和系统 | |
CN102890662A (zh) | 通过对usb hid设备进行二次枚举以识别主机操作系统的方法 | |
CN102567268A (zh) | 一种usb转虚拟串口/modem的检测方法 | |
US20130283028A1 (en) | Adapter identification system and method for computer | |
CN110514925A (zh) | 测试方法和系统,及存储介质 | |
CN104834611A (zh) | 一种自动识别主机操作系统的方法、装置及usb设备 | |
CN104699516A (zh) | Windows下自动识别安卓手机并安装驱动的方法和装置 | |
CN105279110B (zh) | 一种usb设备识别主机系统的方法及usb设备 | |
WO2020000657A1 (zh) | 运维监控连接的建立方法、装置、终端设备及介质 | |
CN104182374A (zh) | Usb设备及其自动识别微软窗口化操作系统版本的方法 | |
RU2643481C2 (ru) | Способ идентификации типа операционной системы и устройство USB | |
CN102981675A (zh) | 一种多点触摸数据处理方法及其系统 | |
WO2015117378A1 (zh) | 端口自适应配置的方法及相关系统、计算机存储介质 | |
CN105808459A (zh) | 外部设备识别方法、装置及电子设备 | |
CN103795857B (zh) | 信息处理方法及电子设备 | |
CN105653120A (zh) | 一种终端控制方法及终端 | |
CN115469964A (zh) | 块设备与虚拟机盘符之间映射关系的确定方法和装置 | |
CN107391404B (zh) | 一种基于硬件端口的数据传输方法及装置 | |
CN107707856A (zh) | 一种多媒体节目录制的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20150812 |
|
WW01 | Invention patent application withdrawn after publication |