CN103577231A - 一种usb嵌入式设备判断主机操作***的方法 - Google Patents

一种usb嵌入式设备判断主机操作***的方法 Download PDF

Info

Publication number
CN103577231A
CN103577231A CN201310532374.3A CN201310532374A CN103577231A CN 103577231 A CN103577231 A CN 103577231A CN 201310532374 A CN201310532374 A CN 201310532374A CN 103577231 A CN103577231 A CN 103577231A
Authority
CN
China
Prior art keywords
usb
main frame
setup
operating system
equipment
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.)
Pending
Application number
CN201310532374.3A
Other languages
English (en)
Inventor
高建贞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Panda Electronics Co Ltd
Nanjing Panda Communication Technology Co Ltd
Original Assignee
Nanjing Panda Electronics Co Ltd
Nanjing Panda Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Panda Electronics Co Ltd, Nanjing Panda Communication Technology Co Ltd filed Critical Nanjing Panda Electronics Co Ltd
Priority to CN201310532374.3A priority Critical patent/CN103577231A/zh
Publication of CN103577231A publication Critical patent/CN103577231A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

USB嵌入式设备判断主机操作***的方法,步骤如下,1)将USB设备当做是标准的USB大容量存储设备CDROM来枚举,也就是在枚举过程中设备上报给主机的信息为大容量CDROM设备;2)USB设备***主机,USB设备收到主机枚举的第一个SETUP包时,判断第七个字节是否是0x08:若是,则主机操作***为苹果***;若不是继续后续步骤3);3)USB设备在收到主机对设备进行配置的SETUP包时,判断主机是否已经请求过制造商字符串描述符;若是,则为Linux***;不是则为Windows***。

Description

一种USB嵌入式设备判断主机操作***的方法
技术领域
本发明涉及信息领域计算机主机技术,嵌入式USB设备技术。
背景技术
USB(Universal Serial BUS)技术是用于规范电脑与外部设备的连接和通讯技术,其即插即用和热插拔的特性受到众多产品厂家的青睐。各种各样的电子设备大多都提供了USB接口用于与计算机主机通讯,用以完成设备的相关产品功能。计算机操作***多种多样,传统的微型计算机主要有Windows***,Linux***以及苹果***。近来流行的掌上型平板电脑主要使用的是苹果***和Android***。USB嵌入式设备的主机可以是微型计算机也可以是平板电脑。主机以及操作***的多样性,有时要求设备需要判断出主机安装的是何种操作***,以便设备产生不同的行为功能。比如在支持自动安装驱动和应用的3G无线上网卡上,要求在不同操作***的微型计算机上安装不同的驱动和应用程序,在支持Android***的平板电脑上要能直接进入到无线Modem状态,以便平板上的无线上网功能使用。
CN201010213961.2公开了一种USB设备识别主机操作***的方法,包括:A、USB设备上电并初始化;B、判断第一个setup包是否是第一预设命令,是执行C,不是执行D;C、判断第一预设命令中的第七个字节是否是第二预设值,是将操作***标识置为第一预设标识执行F,否则执行E;D、判断第一个setup包是否是第二预设命令,是将操作***标识置为第二预设标识,执行F否则执行E;E、按照默认操作***标识与主机进行信息交互,直到接收到最后一个setup包,并判断最后一个setup包是否是第三预设命令,是则将操作***标识置为第三预设标识,不是,则将操作***标识置为第四预设标识;F、根据当前操作***标识与主机进行信息交互,之后并等待接收主机下发的指令。以上文件未涉及主机不同操作***对USB设备的枚举行为来判断主机的操作***的方法和细节,实际应用时的契合需要进一步研究。如未能及时完成USB嵌入式设备的主机以及操作***的多样性,要求设备需要判断出主机安装的是何种操作***,以便USB设备产生不同的功能。
发明内容
本发明目的是,提供一种USB设备判断主机操作***的策略和方法,通过主机不同操作***对USB设备的枚举行为来判断主机的操作***。
本发明的技术方案是:USB嵌入式设备判断主机操作***的方法,步骤如下,1)将USB设备当做是标准的USB大容量存储设备CDROM来枚举;2)USB设备***主机,USB设备收到主机枚举的第一个SETUP包时,判断第七个字节是否是0x08:若是,则主机操作***为苹果***;若不是继续后续步骤3);3)USB设备在收到主机对设备进行配置的SETUP包时,判断主机是否已经请求过制造商字符串描述符。若是,则为Linux***;不是则为Windows***。
通过以上的实现思想,不难看出,其有以下关键几点:
1、在主机对USB设备枚举的时候,USB设备要将自己上报为CDROM设备。
2、USB设备根据主机的第一条SETUP枚举指令来判断是否是苹果***。
3、Windows操作***与Linux操作***对USB CDROM设备的枚举的差异性体现在主机请求制造商字符串描述符的先后。在SETUP CONFIGARATION之前则为Linux***。
本发明的有益效果是:微型计算机主要有Windows***,Linux***以及苹果***。近来流行的掌上型平板电脑主要使用的是苹果***和Android***。USB嵌入式设备的主机可以是微型计算机也可以是平板电脑。基于主机以及操作***的多样性,本发明要求USB设备立即判断出主机安装的是何种操作***,以便设备产生不同的行为功能。如高效响应并支持自动安装驱动和应用的3G无线上网卡上。及时判断在不同操作***的微型计算机上安装不同的驱动和应用程序,如及时支持Android***的平板电脑上要能直接进入到无线Modem状态,使平板上的无线上网功能使用。
附图说明
图1为USB设备判断主机操作***使用本发明方法的流程示意图。
具体实施方式
下面通过一个3G USB无线上网卡的实例来说明本发明的具体实施方法。
根据USB上网卡的使用功能,要求:
1)USB上网卡(设备)插到主机上启动时要能判断出主机操作***。
2)根据不同的主机操作***实施不同的后续功能行为。
根据本发明方法,如图1所示,使用本发明方法的上网卡的主机操作***的判断流程为:
101将USB(上网卡,其它设备类同)设备***到电脑主机USB口,USB设备要将自己上报为CDROM设备,其过程包括1)设备在响应主机的获取配置命令时,返回包含一个接口的配置描述符,该接口类型代码是08,接口子类型代码是06,接口协议是50。2)设备在收到INQUIRY SCSI指令时,返回的设备类型是05。
102电脑主机检测到USB口设备***,发起对设备的USB枚举过程;USB上网卡设备判断主机发送过来的第一条SETUP指令,若第七个字节为0x08,则为苹果***;如下列枚举过程数据(每条SETUP指令只截取前八个字节):
setup:80 06 00 01 00 00 08 00……1.第一条指令第7个字节是08,则主机为苹果***;
setup:00 05 06 00 00 00 00 00……
setup:80 06 00 01 00 00 12 00……
setup:80 06 02 03 09 04 02 00……
如果第7个字节不为08则转向103;
103主机继续对USB上网卡设备进行USB枚举,当主机对USB进行配置时网卡设备判断此时主机是否已经查询过字符串描述的制造厂家信息指令,若是则为Linux***,否则为Windows***;如下列枚举过程数据(每条SETUP指令只截取前八个字节):
setup:80 06 00 01 00 00 40 00……1.第一条SETUP指令,第7字节不为08
setup:00 05 01 00 00 00 00 00……
setup:80 06 00 01 00 00 12 00……
setup:80 06 00 02 00 00 09 00……
setup:80 06 00 03 00 00 ff 00……
setup:80 06 03 03 09 04 ff 00……
setup:80 06 00 02 00 00 ff 00……
setup:80 06 00 03 00 00 ff 00……
setup:80 06 02 03 09 04 ff 00……
setup:80 06 00 03 00 00 ff 00……
setup:80 06 02 03 09 04 ff 00……
setup:80 06 00 02 00 00 20 00……
setup:80 06 00 02 00 00 20 00……
setup:80 06 00 01 00 00 40 00……
setup:80 06 00 01 00 00 12 00……
setup:80 06 00 02 00 00 09 00……
setup:80 06 00 02 00 00 20 00……
setup:80 06 00 03 00 00 ff 00……
setup:80 06 02 03 09 04 ff 00……
setup:80 06 01 03 09 04 ff 00……2.主机获得制造商字符串描述符
setup:80 06 03 03 09 04 ff 00……
setup:00 09 01 00 00 00 00 00……3.主机对USB进行配置指令
在上述的枚举过程中,第一步收到第一个SETUP指令第7字节不为08,则继续后续的枚举;当收到主机的配置指令时,前面2主机已查询过制造商字符串指令,说明此主机***为Linux***。
104当设备判断完主机的操作***,设备根据结果继续后续的行为过程。
本发明所述的USB设备判断主机操作***的方法,并不仅仅限于说明书和具体实施方式中所列方式,它完全可以容易地根据USB特点进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节和这里示出与描述的图示示例。

Claims (3)

1.USB嵌入式设备判断主机操作***的方法,其特征是步骤如下,1)将USB设备当做是标准的USB大容量存储设备CDROM来枚举,也就是在枚举过程中设备上报给主机的信息为大容量CDROM设备;2)USB设备***主机,USB设备收到主机枚举的第一个SETUP包时,判断第七个字节是否是0x08:若是,则主机操作***为苹果***;若不是继续后续步骤3);3)USB设备在收到主机对设备进行配置的SETUP包时,判断主机是否已经请求过制造商字符串描述符;若是,则为Linux***;不是则为Windows***。
2.根据权利要求1所述的USB嵌入式设备判断主机操作***的方法,其特征是USB设备要将自己上报为CDROM设备,其过程包括1)设备在响应主机的获取配置命令时,返回包含一个接口的配置描述符,该接口类型代码是08,接口子类型代码是06,接口协议是50;2)设备在收到INQUIRY SCSI指令时,返回的设备类型是05。
3.根据权利要求1所述的USB嵌入式设备判断主机操作***的方法,其特征是USB设备的主机操作***的判断流程为:
101将USB设备***到电脑主机USB口;
102电脑主机检测到USB口设备***,发起对设备的USB枚举过程;USB设备判断主机发送过来的第一条SETUP指令,若第七个字节为0x08,则为苹果***;如下列枚举过程数据(每条SETUP指令只截取前八个字节):
setup:80 06 00 01 00 00 08 00……1.第一条指令第7个字节是08,则主机为苹果***;
setup:00 05 06 00 00 00 00 00……
setup:80 06 00 01 00 00 12 00……
setup:80 06 02 03 09 04 02 00……
如果第7个字节不为08则转向103;
103主机继续对USB设备进行USB枚举,主机获得USB设备制造商字符串描述符时,主机对USB进行配置指令;即当设备收到主机对USB进行配置时判断此时主机是否已经查询过字符串描述的制造厂家信息指令,若是则为Linux***,否则为Windows***。
CN201310532374.3A 2013-10-31 2013-10-31 一种usb嵌入式设备判断主机操作***的方法 Pending CN103577231A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310532374.3A CN103577231A (zh) 2013-10-31 2013-10-31 一种usb嵌入式设备判断主机操作***的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310532374.3A CN103577231A (zh) 2013-10-31 2013-10-31 一种usb嵌入式设备判断主机操作***的方法

Publications (1)

Publication Number Publication Date
CN103577231A true CN103577231A (zh) 2014-02-12

Family

ID=50049078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310532374.3A Pending CN103577231A (zh) 2013-10-31 2013-10-31 一种usb嵌入式设备判断主机操作***的方法

Country Status (1)

Country Link
CN (1) CN103577231A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793252A (zh) * 2014-02-20 2014-05-14 山东超越数控电子有限公司 一种改进usb接口功能的方法
CN105389020A (zh) * 2014-09-02 2016-03-09 罗技欧洲公司 通用输入设备
CN105573939A (zh) * 2014-10-10 2016-05-11 深圳市中兴微电子技术有限公司 一种基于通用串行总线进行数据传输的方法及终端
TWI587147B (zh) * 2016-08-24 2017-06-11 旺玖科技股份有限公司 自動辨識主機作業系統之方法與usb裝置
CN108629175A (zh) * 2018-05-14 2018-10-09 深圳市江波龙电子有限公司 Usb大容量存储设备的访问控制方法及访问控制装置
CN109173239A (zh) * 2018-08-29 2019-01-11 深圳市七熊科技有限公司 游戏主机识别方法、装置、计算机设备及存储介质
CN111857842A (zh) * 2020-06-17 2020-10-30 天津赢达信科技有限公司 一种USB复合设备在Windows和Android显示不同硬件设备的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840344A (zh) * 2010-04-30 2010-09-22 北京坚果比特科技有限公司 Usb设备及在计算机上自动打开该usb设备的方法
CN102043751A (zh) * 2010-06-29 2011-05-04 北京飞天诚信科技有限公司 Usb设备识别主机操作***的方法
US20120054372A1 (en) * 2010-08-24 2012-03-01 Mediatek Inc. Method of usb device enumeration including detecting the operating system type of the usb host

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840344A (zh) * 2010-04-30 2010-09-22 北京坚果比特科技有限公司 Usb设备及在计算机上自动打开该usb设备的方法
CN102043751A (zh) * 2010-06-29 2011-05-04 北京飞天诚信科技有限公司 Usb设备识别主机操作***的方法
US20120054372A1 (en) * 2010-08-24 2012-03-01 Mediatek Inc. Method of usb device enumeration including detecting the operating system type of the usb host

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793252A (zh) * 2014-02-20 2014-05-14 山东超越数控电子有限公司 一种改进usb接口功能的方法
CN105389020A (zh) * 2014-09-02 2016-03-09 罗技欧洲公司 通用输入设备
CN105389020B (zh) * 2014-09-02 2019-01-01 罗技欧洲公司 一种由输入设备执行的方法和***
CN105573939A (zh) * 2014-10-10 2016-05-11 深圳市中兴微电子技术有限公司 一种基于通用串行总线进行数据传输的方法及终端
TWI587147B (zh) * 2016-08-24 2017-06-11 旺玖科技股份有限公司 自動辨識主機作業系統之方法與usb裝置
CN108629175A (zh) * 2018-05-14 2018-10-09 深圳市江波龙电子有限公司 Usb大容量存储设备的访问控制方法及访问控制装置
CN108629175B (zh) * 2018-05-14 2020-07-17 深圳市江波龙电子股份有限公司 Usb大容量存储设备的访问控制方法及访问控制装置
US11762976B2 (en) 2018-05-14 2023-09-19 Shenzhen Longsys Electronics Co., Ltd. USB mass storage device access control method and access control apparatus
CN109173239A (zh) * 2018-08-29 2019-01-11 深圳市七熊科技有限公司 游戏主机识别方法、装置、计算机设备及存储介质
CN111857842A (zh) * 2020-06-17 2020-10-30 天津赢达信科技有限公司 一种USB复合设备在Windows和Android显示不同硬件设备的方法

Similar Documents

Publication Publication Date Title
CN103577231A (zh) 一种usb嵌入式设备判断主机操作***的方法
US8862790B2 (en) Method for identifying version type of windows operating system on a host by a USB device
US8725909B2 (en) Method for identifying host operating system by universal serial bus (USB) device
US8650332B2 (en) Method for switching working mode, USB device, and host device
CN101110039B (zh) 终端设备自安装及自启动***及方法
WO2014101626A1 (zh) 一种usb设备及其识别主机操作***的方法
CN103645975B (zh) 一种异常恢复的方法及串行总线传输装置
CN105068946A (zh) 一种安卓设备的识别方法和装置
CN202394228U (zh) Usb设备
CN102073602A (zh) 计算机***、连接控制装置及连接与断开方法
US20160077986A1 (en) Electronic apparatus providing real-time switching and sharing of usb electronic devices among hosts
CN102981675B (zh) 一种多点触摸数据处理方法及其***
CN103761135A (zh) 嵌入式设备的固件写入方法
CN104656873A (zh) 一种信息处理方法与电子设备
RU2643481C2 (ru) Способ идентификации типа операционной системы и устройство USB
CN109144586A (zh) 一种驱动适配方法、装置、计算机设备及存储介质
CN104899164A (zh) 集成电路总线的地址寻址方法、集成电路总线设备和***
CN105159714A (zh) 一种pmic初始化方法和电子设备
WO2012155606A1 (zh) 一种无线通信终端及其驱动方法
JP2006243988A (ja) Usbデバイス、usbシステム及びusb制御プログラム
CN110572387B (zh) 一种链路层处理方法
TWI587147B (zh) 自動辨識主機作業系統之方法與usb裝置
CN104461767A (zh) 一种信息处理方法及电子设备
US20130061030A1 (en) System capable of booting through a universal serial bus device and method thereof
CN114546899A (zh) Usb设备连接方法、***及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140212

RJ01 Rejection of invention patent application after publication