Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR IDENTIFYING TYPE OF OPERATING SYSTEM, AND USB DEVICE
Document Type and Number:
WIPO Patent Application WO/2014/183358
Kind Code:
A1
Abstract:
A method for identifying a type of an operating system, and a USB device. The method comprises: after a USB device accesses a computer, the USB device receiving and responding to a Microsoft operating system descriptor request message delivered by a current operating system of the computer; and when the computer performs a secondary enumeration, the USB device determines the type of the operating system on a basis that whether a specified Microsoft operating system descriptor request message is received.

Inventors:
PENG YALONG (CN)
Application Number:
PCT/CN2013/082909
Publication Date:
November 20, 2014
Filing Date:
September 04, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
International Classes:
G06F13/10
Foreign References:
CN102375786A2012-03-14
CN102253904A2011-11-23
CN102713843A2012-10-03
CN102890662A2013-01-23
CN101957807A2011-01-26
Attorney, Agent or Firm:
AFD CHINA INTELLECTUAL PROPERTY LAW OFFICE (CN)
北京安信方达知识产权代理有限公司 (CN)
Download PDF:
Claims:
权 利 要 求 书

1、 一种识别操作系统类型的方法, 包括:

通用串行总线 USB设备接入计算机后,接收并响应所述计算机当前操作 系统下发的微软操作系统描述符请求消息; 以及

所述 USB设备在所述计算机进行二次枚举时,根据是否接收到指定的微 软操作系统描述符请求消息来判断所述操作系统的类型。

2、 如权利要求 1所述的方法, 其中:

所述 USB设备支持多套 USB配置信息。

3、 如权利要求 1所述的方法, 其中: 所述 USB设备接收并响应所述计 算机当前操作系统下发的微软操作系统描述符请求消息, 包括:

所述 USB设备接收到所述计算机当前操作系统下发的操作系统字符串描 述符请求消息后,回复一合法的操作系统字符串描述符请求对应的响应消息; 以及

所述 USB设备接收到所述计算机当前操作系统下发的操作系统特征描述 符请求消息后, 回复正确的操作系统特征描述符请求对应的响应消息。

4、 如权利要求 1-3任一项所述的方法, 其中:

所述指定的微软操作系统描述符请求消息包括操作系统字符串描述符请 求消息;

所述 USB设备根据是否接收到指定的微软操作系统描述符请求消息来判 断所述操作系统的类型, 包括:

所述 USB设备如接收到所述操作系统字符串描述符请求消息,则判定所 述操作系统为 WIN8系统。

5、 一种通用串行总线 USB设备, 包括:

USB协议栈模块, 其设置成: 实现 USB协议栈, 支持多套 USB配置信 息;

消息处理模块, 其设置成: 在所述 USB设备接入计算机后, 接收并响应 所述计算机当前操作系统下发的微软操作系统描述符请求消息; 以及 识别模块, 其设置成: 在所述计算机进行二次枚举时, 根据是否接收到 指定的微软操作系统描述符请求消息来判断所述操作系统的类型。

6、 如权利要求 5所述的 USB设备, 其中:

所述消息处理模块是设置成以如下方式接收并响应所述计算机当前操作 系统下发的微软操作系统描述符请求消息:

接收到所述计算机当前操作系统下发的操作系统字符串描述符请求消息 后, 回复一合法的操作系统字符串描述符请求对应的响应消息; 以及

接收到所述计算机当前操作系统下发的操作系统特征描述符请求消息 后, 回复正确的操作系统特征描述符请求对应的响应消息。

7、 如权利要求 5或 6所述的 USB设备, 其中:

所述指定的微软操作系统描述符请求消息包括操作系统字符串描述符请 求消息;

所述识别模块是设置成以如下方式根据是否接收到指定的微软操作系统 描述符请求消息来判断所述操作系统的类型:

在所述计算机进行二次枚举时, 如接收到所述操作系统字符串描述符请 求消息, 则判定所述操作系统为 WIN8系统。

Description:
一种识别操作系统类型的方法及 USB设备

技术领域

本发明涉及嵌入式开发领域及通信领域, 尤其涉及一种识别操作系统类 型的方法及 USB ( Universal Serial BUS , 通用串行总线)设备。

背景技术

目前来讲, 随着微软 WIN8系统的推出, 相对于以前的 WIN7及 ΧΡ系 统, 在 WIN8 系统上实现了许多新的特性, 比如, WIN8 系统上实现了对新 的标准网卡驱动 (即, MBIM ( Mobile Broadband Interface Model, 移动宽带 接口模型 )网卡设备)的支持, 而要想使用这些 WIN8系统上新添加的特性, 一个基本的前提条件就是 USB设备必须能够识别出当前接入的操作系统类 型。 基于此问题, 如何实现 USB设备自动识别出当前接入的操作系统是否是 WIN8系统, 便成为一个急需解决的问题。

目前已有的自动识别操作系统的方法有三种:

方法一、 在 PC ( Personal Computer, 个人电脑 )上预先安装 USB设备的 过滤驱动, 并且在驱动中预先实现和 USB 设备约定的识别码, 比如, WINDOWS (视窗) 系统下 PC驱动会下发 Oxal , MAC ( Macintosh, 梅肯套 希) 系统下 PC驱动下发 0xa2等;

方法二、 利用 SCSI ( Small Computer System Interface , 小型计算机系统 接口)指令, 在弹出光盘的时侯对于不同的操作系统预先定 义好不同的切换 指令, 以此达到识别操作系统的目的;

方法三、 通过微软扩展的 MODS ( Microsoft Operating System ( OS ) Descriptors,微软操作系统描述符 )在设备枚举过程中实现系统自动识别的目 的。

以上三种方法,方法一需要用户在使用 USB设备前必须预先安装过滤驱 动,方法二需要在 USB设备中实现自带光盘的功能,对用户的使用 造成不便。 方法三目前只能识别出 USB设备当前接入的 PC是 LINUX核的系统还是非 LINUX核的系统,且对于非 LINUX核的系统,无法达到区分该系统是 WIN7 系统或 WIN8系统的效果。

发明内容

本发明实施例提供一种识别操作系统类型的方 法及 USB设备,可以自动 识别操作系统(对于 WINDOWS系列的系统, 细化到当前设备接入的系统是 WIN8系统还是 WIN7及 XP系统 ) 。

本发明实施例提供了一种识别操作系统类型的 方法, 包括:

通用串行总线 USB设备接入计算机后,接收并响应所述计算机 当前操作 系统下发的微软操作系统描述符请求消息; 以及

所述 USB设备在所述计算机进行二次枚举时,根据是 否接收到指定的微 软操作系统描述符请求消息来判断所述操作系 统的类型。

上述方法还具有下面特点:

所述 USB设备支持多套 USB配置信息。

上述方法还具有下面特点: 所述 USB设备接收并响应所述计算机当前操 作系统下发的微软操作系统描述符请求消息, 包括:

所述 USB设备接收到所述计算机当前操作系统下发的 操作系统字符串描 述符请求消息后,回复一合法的操作系统字符 串描述符请求对应的响应消息; 以及

所述 USB设备接收到所述计算机当前操作系统下发的 操作系统特征描述 符请求消息后, 回复正确的操作系统特征描述符请求对应的响 应消息。

上述方法还具有下面特点:

所述指定的微软操作系统描述符请求消息包括 操作系统字符串描述符请 求消息;

所述 USB设备根据是否接收到指定的微软操作系统描 述符请求消息来判 断所述操作系统的类型, 包括:

所述 USB设备如接收到所述操作系统字符串描述符请 求消息,则判定所 述操作系统为 WIN8系统。

本发明实施例还提供了一种通用串行总线 USB设备, 包括:

USB协议栈模块, 其设置成: 实现 USB协议栈, 支持多套 USB配置信 息;

消息处理模块, 其设置成: 在所述 USB设备接入计算机后, 接收并响应 所述计算机当前操作系统下发的微软操作系统 描述符请求消息; 以及

识别模块, 其设置成: 在所述计算机进行二次枚举时, 根据是否接收到 指定的微软操作系统描述符请求消息来判断所 述操作系统的类型。

上述 USB设备还具有下面特点:

所述消息处理模块是设置成以如下方式接收并 响应所述计算机当前操作 系统下发的微软操作系统描述符请求消息:

接收到所述计算机当前操作系统下发的操作系 统字符串描述符请求消息 后, 回复一合法的操作系统字符串描述符请求对应 的响应消息; 以及

接收到所述计算机当前操作系统下发的操作系 统特征描述符请求消息 后, 回复正确的操作系统特征描述符请求对应的响 应消息。

上述 USB设备还具有下面特点:

所述指定的微软操作系统描述符请求消息包括 操作系统字符串描述符请 求消息;

所述识别模块是设置成以如下方式根据是否接 收到指定的微软操作系统 描述符请求消息来判断所述操作系统的类型:

在所述计算机进行二次枚举时, 如接收到操作系统字符串描述符请求消 息, 则判定所述操作系统为 WIN8系统。

综上,釆用本发明实施例提供的一种识别操作 系统类型的方法及 USB设 备, 可以自动识别操作系统(对于 WINDOWS系列的系统, 细化到当前设备 接入的系统是 WIN8系统还是 WIN7及 XP系统) 。 同时, 这种识别操作系 统的方法不需要厂商提供过滤驱动或者包含光 盘功能, 减少了随机软件量, 且可以节约开发成本及后期的维护成本,同时 也提高了 USB设备的用户体验。 附图概述

图 1为本发明实施例的识别操作系统类型的方法 流程图;

图 2为本发明实施例的 USB设备的示意图;

图 3为本发明一应用示例的方法的实施流程图。 本发明的较佳实施方式

下文中将结合附图对本发明的实施例进行详细 说明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互 任意组合。

图 1为本发明实施例的识别操作系统类型的方法 流程图,如图 1所示, 本实施例的方法包括如下步骤:

步骤 S101、 USB设备接入计算机后, 接收并响应所述计算机当前操作系 统下发的 MODS请求消息。

步骤 S102、 USB设备在所述计算机进行二次枚举时, 根据是否接收到指 定的 MODS请求消息来判断所述操作系统的类型。

本实施例的 USB设备支持多套 USB配置信息。

本实施例的方法中可以解决 USB设备自动识别出当前的主机系统是否是 WIN8 系统, 从而可以很好的利用 WIN8 系统的新特性, 并且取消了厂商提 供过滤驱动给用户的工作, 节约了开发成本及后期的维护成本, 同时也提高 了 USB设备的用户体验。

本发明实施例利用的是 USB设备在枚举时可以支持多套配置、以及主机 操作系统( WINDOWS SP2及以上) 支持的 MODS作为技术支撑来实现。

前提条件是在 USB设备侧必须实现对多套 USB配置的支持, 之所以需 要支持多套 USB配置, 是因为支持多套 USB配置是微软 WIN8系统的一个 实现机制。 当 USB设备接入 WIN8电脑后, 在枚举交互过程中, WIN8电脑 发现设备有多套 USB配置后, 才会决定是否需要对设备进行多次枚举。 如果 设备只有一套 USB配置的话, 是不会有二次枚举的。 USB设备在枚举时, 会告诉自己当前支持几套配置, 其中每套配置都定 义了 USB设备在该配置下需要上报什么设备, 以及需要上报哪几个设备。 比 如,某个 USB设备有两套 USB配置,那么其中第一套可能是: ECM ( Ethernet Control Model, 以太网控制模型) 网卡设备、 光盘设备, 而第二套可能是: MBIM网卡设备、 T卡设备

首先, USB设备在第一次接入 WINDOWS系列的主机时,主机操作系统 会下发一条 OS String Descriptor (操作系统字符串描述符 )请求, 来获取 USB 设备是否包含一个或多个特性描述,并且在注 册表中记录下当前的 USB设备 是否给主机回复了一个合法的 OS String Descriptor请求的响应。

其次, 如果主机操作系统得到了一个合法的 OS String Descriptor请求的 响应, 主机操作系统就会接着下发一条 OS Feature Descriptor (操作系统特征 描述符)请求, 来获取 USB设备的特性。

再次, 由于 USB设备具有多套 USB配置信息, 主机会对 USB设备再次 重新进行枚举, 待第二次枚举开始后, 对于 WIN8电脑, 主机会再次给 USB 设备下发 OS String Descriptor请求, 而对于 WIN7/XP电脑, 主机则不会再下 发该消息, 至此, 经过以上三个步骤, 就可以判断出当前接入的主机操作系 统是否是 WIN8系统。

图 2为本发明实施例的 USB设备的示意图, 如图 2所示, 本实施例的 USB设备 1可以包括:

USB协议栈模块 11 , 其中, 该模块主要是实现了 USB协议栈, 并且该 USB协议栈支持设备具有多套 USB配置信息;

消息处理模块 12,其用于在所述 USB设备接入计算机后,接收并响应所 述计算机当前操作系统下发的 MODS请求消息; 以及

识别模块 13 , 其用于在所述计算机进行二次枚举时, 来判断当前接入的 主机操作系统的类型, 并根据当前的主机操作类型, 切换到不同的设备类型。

比如, 当前主机操作系统如果是 WIN8系统, 那么 USB设备就需要切到 MBIM网卡设备、 T卡设备。 而当前系统如果是 WIN7/VISTA/XP系统, 那么 USB设备就需要切到 RNDIS ( Remote Network Driver Interface Specification, 远程网络驱动接口规范) 网卡设备、 光盘设备、 以及 T卡设备。 如果当前主 机操作系统是 MAC系统, 则 USB设备需要切到 ECM网卡设备、 光盘设备、 T卡设备。

本实施例中, USB设备接入到 WINDOWS系列的计算机后, 该 USB设 备会根据当前操作系统是否在二次枚举时,下 发 MODS的 OS String Descriptor 请求来识别当前接入的主机操作系统类型是否 是 WIN8系统, 从而可以利用 WIN8系统推出的新特性, 大大提高了用户体验。

应用示例

本实施例中描述的是用户在某台计算机主机上 第一次使用所述 USB设备 的情况, 如图 3所示, 包括以下步骤:

步骤 201、 将 USB设备接入需要工作的主机中。

工作主机可以是个人计算机,也可以是其它支 持 USB主控制器的其它设 备, 例如, 掌上电脑等。 对于主机上运行的操作系统, 本实施例釆用 WIN8 系统。 实际上, 其它操作系统如 WIN7、 WINDOWS XP及 VISTA等操作系 统均可包括在本发明范围之内。

USB设备插到 WIN8电脑上, 当 PC下发获取 USB设备信息的请求消息 时, USB设备给 PC回复设备支持两套(或多套) USB配置信息。

步骤 202、 USB设备在收到主机给 USB设备下发的 OS String Descriptor 请求后, 给操作系统回复正确的 OS String Descriptor请求对应的响应。

步骤 203、 USB设备在收到主机给 USB设备下发的 OS Feature Descriptor 请求后 , 给操作系统回复正确的 OS Feature Descriptor请求对应的响应。

步骤 204、 PC会对 USB设备再次枚举, 当 USB设备检测到当前操作系 统再次给其下发了 OS String Descriptor请求后, 就可以判断出当前操作系统 为 WINDOWS系列的 WIN8操作系统, 反之, 则为非 WIN8的 WINDOWS 系列的操作系统。

本领域普通技术人员可以理解上述方法中的 全部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如, 只 读存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使 用一个或多个集成电路来实现。 相应地, 上述实施例中的各模块 /单元可以釆 用硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明实施例不 限制于任何特定形式的硬件和软件的结合。

以上仅为本发明的优选实施例, 当然, 本发明还可有其他多种实施例, 在不背离本发明精神及其实质的情况下, 熟悉本领域的技术人员当可根据本 发明实施例作出各种相应的改变和变形, 但这些相应的改变和变形都应属于 本发明所附的权利要求的保护范围。

工业实用性

釆用本发明实施例的方法及设备, 可以自动识别操作系统, 减少随机软 件量, 节约开发成本及后期的维护成本, 以及提高 USB设备的用户体验。