CN101957807A - USB设备识别主机Windows操作***版本类型的方法 - Google Patents

USB设备识别主机Windows操作***版本类型的方法 Download PDF

Info

Publication number
CN101957807A
CN101957807A CN 201010285447 CN201010285447A CN101957807A CN 101957807 A CN101957807 A CN 101957807A CN 201010285447 CN201010285447 CN 201010285447 CN 201010285447 A CN201010285447 A CN 201010285447A CN 101957807 A CN101957807 A CN 101957807A
Authority
CN
China
Prior art keywords
operating system
usb device
type
main frame
default
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.)
Granted
Application number
CN 201010285447
Other languages
English (en)
Other versions
CN101957807B (zh
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.)
Beijing Feitian Technologies Co Ltd
Original Assignee
Beijing Feitian Technologies 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 Beijing Feitian Technologies Co Ltd filed Critical Beijing Feitian Technologies Co Ltd
Priority to CN 201010285447 priority Critical patent/CN101957807B/zh
Publication of CN101957807A publication Critical patent/CN101957807A/zh
Priority to US13/640,997 priority patent/US8862790B2/en
Priority to PCT/CN2011/079679 priority patent/WO2012034524A1/zh
Application granted granted Critical
Publication of CN101957807B publication Critical patent/CN101957807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明提供了一种USB设备识别主机Windows操作***版本类型的方法,属于操作***领域。包括:A、USB设备上电,初始化;B、进行USB枚举,判断USB枚举过程中是否接收到第一预设命令,是,判定操作***为第一操作***,执行D,否则,执行C;C、判断USB枚举过程中返回的设备类型,是CCID设备时,判断接收到的指令中是否存在第二预设命令,存在,判定操作***为第二操作***,不存在,判定操作***为第三操作***;当是SCSI设备时,判断接收到的第二条SCSI指令是第三预设命令还是第四预设命令,是第三预设命令,判定操作***为第二操作***,是第四预设命令,判定操作***为第三操作***;D、与主机建立通信,并等待接收主机下发的指令,根据判定出的主机操作***类型向主机返回相应的信息。

Description

USB设备识别主机Windows操作***版本类型的方法
技术领域
本发明涉及计算机操作***领域,具体来说,涉及一种USB设备识别主机Windows操作***版本类型的方法。
背景技术
USB协议技术是主机与外部设备连接的串行总线标准,在主机(例如,个人计算机、个人数字助理以及移动电脑等)上使用十分广泛,支持热插拔和即插即用,并支持总线供电,鼠标、键盘、游戏手柄、扫描仪、数码相机、打印机、硬盘、安全设备、光驱和网卡等几乎所有的***设备都可以通过运行USB接口与主机相连并进行通信,USB接口已经成为目前大多数主机外设与计算机相连的缺省接口。
在某些情况下,设备可能必须知道它所连接的主机计算机上运行的操作***的类型,但是,现有技术中,设备却是无法识别主机操作***的。
发明内容
本发明提供了一种USB设备识别主机Windows操作***版本类型的方法,具体技术方案如下:
一种USB设备识别主机Windows操作***版本类型的方法,所述方法包括:
步骤A、USB设备上电,并进行初始化;
步骤B、所述USB设备进行USB枚举,并判断所述USB枚举过程中是否接收到第一预设命令,如果是,则判定主机操作***为第一操作***,执行步骤D,否则,执行步骤C;
步骤C、所述USB设备判断所述USB枚举过程中向主机返回的设备类型,
当所述USB设备向所述主机返回的设备类型是CCID设备时,所述USB设备判断接收到的指令中是否存在第二预设命令,如果存在所述第二预设命令,则判定主机操作***为第二操作***,如果不存在所述第二预设命令,则判定主机操作***为第三操作***;
当所述USB设备向所述主机返回的设备类型是SCSI设备时,所述USB设备接收所述主机下发的SCSI指令,并判断接收到的所述第二条SCSI指令是第三预设命令还是第四预设命令,如果是所述第三预设命令,则判定主机操作***为第二操作***,如果是所述第四预设命令,则判定主机操作***为第三操作***;
步骤D、所述USB设备与主机建立通信,并等待接收所述主机下发的指令,根据所述判定出的主机操作***类型向所述主机返回相应的信息。
所述初始化包括:将设备类型标识初始化为默认设备类型标识。
所述初始化还包括:将上电标识初始化为第一预设值、设备类型标识初始化为默认设备类型标识。
所述USB设备判断所述USB枚举过程中向主机返回的设备类型为:所述USB设备根据所述USB枚举过程中返回的设备类型标识来判断所述返回的设备类型。
所述方法还包括:所述USB设备判定出主机操作***类型是第一操作***、第二操作***或第三操作***后,将设备类型标识置为第一设备类型、第二设备类型或第三设备类型。
所述步骤D还包括:所述USB设备判断当前设备类型标识是否与默认设备类型标识相同,如果相同,则所述USB设备与主机通信,等待接收所述主机下发的指令;如果不相同,所述USB设备进行软掉电处理,并将所述上电标识置为第二预设值,执行步骤A。
所述初始化还包括:将上电标识初始化为第一预设值,将操作***类型标识初始化为默认操作***类型标识。
所述方法还包括:所述USB设备存储有操作***类型标识与设备类型标识的映射表。
所述USB设备判断所述USB枚举过程中返回的设备类型为:所述USB设备根据默认操作***类型标识查找所述映射表得到相应的设备类型标识,根据所述查找所得的设备类型标识来判断所述返回的设备类型。
所述方法还包括:所述USB设备判定出主机操作***类型是第一操作***、第二操作***或第三操作***后,将操作***类型标识置为第一预设标识、第二预设标识或第三预设标识。
所述步骤D还包括:所述USB设备判断当前操作***类型标识是否与所述默认操作***类型标识相同,如果相同,则所述USB设备与主机建立通信,并等待接收所述主机下发的指令;如果不相同,所述USB设备进行软掉电处理,并将所述上电标识置为第二预设值,执行步骤A。
在所述步骤A之后,所述方法还包括:判断所述USB设备是否是首次上电,如果是首次上电,则执行步骤B;如果不是,所述USB设备执行步骤D。
判断所述USB设备是否是首次上电具体为:判断上电标识是否是第一预设值,如果是,则所述USB设备是首次上电,如果不是,则所述USB设备不是首次上电;
所述USB设备向所述主机返回的设备类型还包括HID设备。
所述第一预设命令为取设备配置描述符命令;所述第二预设命令为取设备状态指令;所述第二条SCSI指令为取设备信息指令。
所述USB设备判断接收到的第二条SCSI指令是第三预设命令还是第四预设命令为:所述USB设备根据所述第二条SCSI指令的命令域的内容进行判断,当所述第二条SCSI指令的命令域内容是第一预设内容时,所述第二条指令是所述第三预设命令;当所述第二条SCSI指令的命令域内容是第二预设内容时,所述第二条指令是所述第四预设命令。
所述第一操作***为Windows XP,所述第二操作***为Windows 7,所述第三操作***为Windows Vista。
有益效果:USB设备通过分析接收到的由主机下发的指令,便可以确定主机Windows操作***版本类型,并在确定主机Windows操作***版本类型后,向不同版本的主机操作***暴露不同的USB属性,以便更好的和主机操作***配合工作。
附图说明
图1为本发明实施例1提供的一种USB设备识别主机Windows操作***版本类型的方法流程图;
图2为本发明实施例2提供的一种USB设备识别主机Windows操作***版本类型的方法流程图;
图3为本发明实施例3提供的一种USB设备识别主机Windows操作***版本类型的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在进行具体说明之前,对USB设备与主机之间的通信原理进行简单的说明,如下:
USB设备与主机之间的通信是:由主机发送命令给USB设备,USB设备对接收到的命令进行响应,USB设备与主机之间通信的基本单位是“包”,其中,“包”的分类主要有:令牌包、数据包和握手包,由PID来决定包的具体类型。
其中,令牌包的格式为SYNC+PID+ADDR+ENDP+CRC;数据包分为DATA0包和DATA1包,在USB设备返回的数据长度超过相应端点的最大输出数据包长度时,需要将返回的数据分批发送,一般情况下,DATA0包和DATA1包交替发送;握手包的格式为:SYNC+PID。
其中,USB设备与主机之间通过设备端点来进行数据的收发。
例如:
PID:SETUP  ADDR:00  ENDP:00  CRC5:02  idle:3
PID:DATA0  data:80 06 00 01 00 00 40 00  CRC16:94dd  idle:7
PID:ACK  idle:2e1a
上述命令说明,该包为SETUP包,数据内容是80 06 00 01 00 00 40 00,握手包为ACK;其中,SETUP包由主机下发,USB设备接收到该SETUP包后向主机返回应答信息,例如:
PID:IN  ADDR:00  ENDP:00  CRC5:02  idle:7
PID:DATA1  data:12 01 10 01 00 00 00 08  CRC16:7711  idle:7
PID:ACK  idle:2e16
PID:OUT  ADDR:00  ENDP:00  CRC5:02  idle:3
PID:DATA1  data:CRC16:0000  idle:7
PID:ACK  idle:2e5a
USB设备向主机返回的应答数据是12 01 10 01 00 00 00 08,需要说明的是,USB设备在接收到主机下发的IN或OUT的令牌包后,向主机返回应答数据;
这样,USB设备与主机之间便完成了一次信息交互,而每一次的信息交互,都是由接收到主机下发的SETUP包开始的。
另外,还需要说明的是,根据USB设备与主机间进行数据通信时采用的通信协议(CCID、SCSI或HID协议)的不同,USB设备又可以分为CCID设备、SCSI设备和HID设备。
实施例1
本实施例提供了一种USB设备识别主机Windows操作***版本类型的方法,Windows操作***版本类型是根据内核的不同进行划分的,以Windows XP、Windows Vista、Windows 7为代表进行说明。参见图1,具体方法如下:
101、USB设备上电,并进行初始化;
其中,USB设备具体包括:安全设备(如USB Key)、读卡器等;
具体地,USB设备通过USB总线连接到主机,并从主机Vcc(电源电压或工作电压)处获取工作电压;
初始化操作具体包括:USB设备将自身存储的上电标识、操作***标识初始化为默认标识;
具体地,默认上电标识为第一预设值,默认操作***标识可以是第一预设标识、第二预设标识或第三预设标识中的一个;
其中,第一预设标识对应第一操作***、第二预设标识对应第二操作***、第三预设标识对应第三操作***;
需要说明的是,主机操作***时刻监测USB总线上是否有设备接入,具体是通过检测Vcc上拉电阻的变化来确定的,并在检测到USB设备接入时,加载设备总线驱动,开始对USB设备进行枚举操作,具体如102至106所示。
102、USB设备总线复位;
需要说明的是,USB设备总线复位后,该USB设备的默认地址0被使能,接下来,USB设备与主机之间通过地址0来传输命令及数据。
103、USB设备判断自身是否是首次上电,如果不是,执行104,如果是,执行105;
判断USB设备是否是首次上电具体为:判断上电标识是否为第一预设值,如果是,则USB设备为首次上电,否则,不是首次上电。
104、USB设备按照当前操作***标识完成枚举,并与主机建立通信,等待接收主机下发的指令;
105、USB设备接收主机下发的一系列setup包,按照默认操作***标识完成USB枚举;
具体地,默认操作***标识所对应的主机操作***向USB设备下发一系列的setup包,对USB设备进行枚举,以获取USB设备的描述信息;
USB设备接收主机下发的一系列setup包,包括“取设备描述符”、“设置设备地址”、“取配置描述符”、“取端点描述符”、“取字符串描述符”、“取端点描述符”“选择配置”等命令,USB设备逐一对其做出响应。
106、USB设备判断USB枚举过程中是否存在第一预设命令,如果存在,执行107,如果不存在,执行108;
具体地,第一预设命令为取配置描述符命令;
具体地,取配置描述符命令为:80 06 00 02 00 00 09 00。
107、USB设备认定主机操作***是第一操作***,并将操作***标识置为第一预设标识,执行116;
具体地,第一操作***是Windows XP;
108、USB设备根据默认操作***标识来判断USB枚举过程中返回的设备类型是CCID设备、SCSI设备和HID设备的哪一种,
如果是CCID设备,执行109;
如果是SCSI设备,执行112;
如果是HID设备,执行115;
具体地,在USB枚举过程中,USB设备接收到主机下发的“取设备描述符”信息后,在操作***标识与设备类型标识的映射表中,查找操作***标识所对应的设备类型,并将查找所得的设备类型返回给主机。
其中,操作***标识与设备类型标识的映射表是预先设定,并存储在USB设备中的;
这样,USB设备在判断返回的设备类型时,就可以通过操作***标识与设备类型标识的映射表,根据操作***标识来确认设备类型了;
例如,第一预设标识映射CCID设备标识、第二预设标识映射SCSI设备标识、第三预设标识映射HID设备标识,则,当操作***标识是第一预设标识时,USB设备便根据该标识知道返回的设备类型是CCID设备。
109、USB设备接收主机CCID驱动程序下发的CCID命令,并判断接收到的命令中是否存在第二预设命令,如果不存在,执行110,如果存在,执行111;
之前,主机在接收到USB设备返回的自身是CCID设备的信息后,装载相应的CCID驱动,USB设备与主机之间建立通信,等待接收CCID驱动程序下发的命令。
具体地,第二预设命令是取设备状态命令;
具体地,取设备状态命令是80 00 00 00 00 00 02 00。
110、USB设备认定主机操作***为第三操作***,并将当前操作***标识置为第三预设标识,执行116;
具体地,第三操作***是Windows Vista。
111、USB设备认定主机操作***是第二操作***,并将当前操作***标识置为第二预设标识,执行116;
具体地,第二操作***是Windows 7。
112、USB设备接收SCSI驱动程序下发的SCSI指令,并判断接收到的第二条SCSI指令是第三预设命令还是第四预设命令,如果是第三预设命令,执行113,如果是第四预设命令,执行114;
之前,主机在接收到USB设备返回的自身是SCSI设备的信息后,装载相应的SCSI驱动,USB设备与主机之间建立通信,等待接收SCSI驱动程序下发的命令。
具体地,第二条SCSI指令是取设备信息指令(Inquiry指令),用于查询设备信息;
具体地,当Inquiry指令的CBWCB域的数值是第一预设内容时,第二条SCSI指令是第三预设命令,当Inquiry指令的CBWCB域的数值是第二预设内容时,第二条SCSI指令是第四预设命令;
其中,CBWCB域是由设备执行的命令,由设备解释;
其中,第一预设内容为:12 00 00 00 24 00;
其中,第二预设内容为:12 01 80 00 ff 00;
具体地,第三预设命令为55 53 42 43 b0 f8 82 91 ff 00 00 00 80 00 06 12 00 0000 24 00 00 00 00 00 00 00 00 00 00 00;
具体地,第四预设命令为55 53 42 43 b0 f8 82 91 ff 00 00 00 80 00 06 12 01 8000 ff 00 00 00 00 00 00 00 00 00 00 00。
113、USB设备认定主机操作***是第二操作***,并将当前操作***标识置为第二预设标识,执行116
具体地,第二操作***是Windows 7。
114、USB设备认定主机操作***是第三操作***,并将当前操作系标识置为第三预设标识,执行116;
具体地,第三操作***是Windows Vista。
115、USB设备等待接收HID驱动程序下发的指令;
116、USB设备判断当前操作***标识是否与默认操作***标识一致,如果不一致,执行117,否则,执行118;
117、USB设备进行软掉电处理,并将上电标识置为第二预设值,返回102;
在对软掉电处理进行说明之前,需要知道是,USB设备通过改变主机Vcc(电源电压或工作电压)的上拉电阻状态来告知主机自身的插拔状态,USB设备内部集成有上拉电阻,默认状态下是不与Vcc相连的,当USB设备与主机建立连接时,USB设备内部的上拉电阻连接到Vcc上,这样主机便可以通过检测Vcc上的上拉电阻的变化来确定是否有USB设备连入了;
软掉电处理具体是指:USB设备断开内部上拉电阻与Vcc的连接,这样,主机操作***将会监控到USB设备是拔出状态,但USB设备是与Vcc相连的,依然可以从Vcc处获取电源,USB设备依然是处于上电状态的,断开预定时间后(极短的时间),USB设备内部的上拉电阻将再次连到Vcc,主机操作***将再次监控到USB设备的***,重新开始进行枚举操作,即USB设备返回执行102;
这里,进行软掉电处理的目的是:由上述流程知道,在判断出具体的操作***之前,USB设备已经完成了USB枚举,并且是按照默认操作***标识返回的设备信息(设备类型等),这样就会错误产生,如,默认操作***是第二操作***,即Windows 7,则在枚举过程中返回的设备类型为SCSI设备,但是,在判断出操作***是Windows XP时,实际上应该向主机返回的设备类型是CCID设备,但是,却按默认操作***标识返回了SCSI设备,所以,需要进行软掉电,按照已修改的操作***标识从新进行枚举,返回正确的设备信息,并且标识了主机正确的操作***类型。
118、USB设备继续与主机进行通信;
实施例2
本实施例提供了一种USB设备识别主机Windows操作***版本类型的方法,Windows操作***类型是根据内核的不同进行划分的,以Windows XP、Windows Vista、Windows 7为代表进行说明。参见图2,具体方法如下:
201、USB设备上电,并进行初始化;
具体地,USB设备通过USB总线连接到主机,并从主机Vcc(电源电压或工作电压)处获取工作电压;
初始化操作具体包括:USB设备将设备类型标识初始化为默认标识;
需要说明的是,主机操作***时刻监测USB总线上是否有设备接入,具体是通过检测Vcc上拉电阻的变化来确定的,当主机检测到USB设备接入时,加载设备总线驱动,开始对USB设备进行枚举操作。
202、USB设备总线复位;
需要说明的是,USB设备总线复位后,该USB设备的默认地址0被使能,则接下来USB设备与主机之间便通过地址0来传输命令及数据。
203、USB设备接收主机下发的一系列setup包,按照默认设备类型完成USB枚举。
USB设备接收主机下发的一系列setup包,具体包括“取设备描述符”、“设置设备地址”、“取配置描述符”、“取端点描述符”、“取接口描述符”、“取端点描述符”“选择配置”等,USB设备逐一对其做出响应,完成USB枚举。
需要说明的是,USB设备在枚举阶段,接收到主机下发的“取设备描述符”命令后,将默认设备类型标识返回给主机,告知主机自身的设备类型。
204、USB设备判断USB枚举过程中是否存在第一预设命令,如果存在,执行205,否则,执行206;
具体地,第一预设命令为取配置描述符命令;
具体地,取配置描述符命令为:80 06 00 02 00 00 09 00。
205、USB设备认定主机操作***是第一操作***,与主机建立通信,并等待接收主机第一操作***下发的指令,返回相应的数据;
具体地,主机第一操作***按照默认设备类型加载相应的驱动,与USB设备建立通信,等待接收主机第一操作***下发的指令;
具体地,第一操作***为Windows XP。
206、USB设备判断默认设备类型标识是CCID设备、SCSI设备和HID设备的哪一种,
如果是CCID设备,执行207;
如果是SCSI设备,执行210;
如果是HID设备,执行213;
设备类型标识标识了那种设备类型是预先约定的,USB设备根据预先约定的设备类型标识就可以判断出设备类型,例如,设备类型标识0标识了CCID设备,设备类型1标识了SCSI设备,设备类型2标识了HID设备。
207、USB设备接收主机CCID驱动程序下发的CCID命令,并判断接收到的命令中是否存在第二预设命令,如果不存在,执行208,如果存在,执行209;
之前,主机在接收到USB设备返回的自身是CCID设备的信息后,装载相应的CCID驱动,USB设备与主机之间建立通信,等待接收CCID驱动程序下发的命令。
具体地,第二预设命令是取设备状态命令;
具体地,取设备状态命令是80 00 00 00 00 00 02 00。
208、USB设备认定主机操作***为第三操作***,等待接收主机第三操作***下发的指令,返回相应的数据;
具体地,第三操作***是Windows Vista。
209、USB设备认定主机操作***是第二操作***,等待接收主机第二操作***下发的指令,返回相应的数据;
具体地,第二操作***是Windows 7。
210、USB设备接收SCSI驱动程序下发的SCSI指令,并判断接收到的第二条SCSI指令是第三预设命令还是第四预设命令,如果是第三预设命令,执行211,如果是第四预设命令,执行212;
之前,主机在接收到USB设备返回的自身是SCSI设备的信息后,装载相应的SCSI驱动,USB设备与主机之间建立通信,等待接收SCSI驱动程序下发的命令。
具体地,第二条SCSI指令是取设备信息指令(Inquiry指令),用于查询设备信息;
具体地,当Inquiry指令的CBWCB域的数值是第一预设内容时,第二条SCSI指令是第三预设命令,当Inquiry指令的CBWCB域的数值是第二预设内容时,第二条SCSI指令是第四预设命令;
其中,CBWCB域是由设备执行的命令,由设备解释;
其中,第一预设内容为:12 00 00 00 24 00;
其中,第二预设内容为:12 01 80 00 ff 00;
具体地,第三预设命令为55 53 42 43 b0 f8 82 91 ff 00 00 00 80 00 06 12 00 0000 24 00 00 00 00 00 00 00 00 00 00 00;
具体地,第四预设命令为55 53 42 43 b0 f8 82 91 ff 00 00 00 80 00 06 12 01 8000 ff 00 00 00 00 00 00 00 00 00 00 00。
211、USB设备认定主机操作***是第二操作***,等待接收主机第二操作***下发的指令,返回相应的数据;
具体地,第二操作***是Windows 7。
212、USB设备认定主机操作***是第三操作***,等待接收主机第三操作***下发的指令,返回相应的数据;
具体地,第三操作***是Windows Vista。
213、USB设备等待接收HID驱动程序下发的指令;
需要说明的是,USB设备在接收到主机操作***下发的读取光盘内容的指令时,USB设备将会根据所认定的操作***类型,向主机返回不同的数据,以SCSI设备判断第一、第二、第三操作***后,接收到主机下发的读取光盘内容的标准SCSI指令,具体为:55 53 42 43 b0 94 f0 85 00 08 00 00 080 00 0a 28 00 0000 00 11 00 00 01 00 00 00 00 00 00 00;SCSI设备在认定主机是第一操作***时,返回的数据为:02 43 44 30 30 31 01 00 00 57 00 69 00 6e 00 33 00 32 00 20 00 2000 20 00 20 00 20 00 20 00 20;SCSI设备在认定主机是第二操作***时,返回的数据为:00 43 44 30 30 31 01 00 00 57 00 69 00 6e 00 33 00 32 00 20 00 20 00 2000 20 00 20 00 20 00 20;SCSI设备在认定主机是第三操作***时,返回的数据为:05 43 44 30 30 31 01 00 00 57 00 69 00 6e 00 33 00 32 00 20 00 20 00 20 00 20 0020 00 20 00 20。
实施例3
本实施例提供了一种USB设备识别主机Windows操作***版本类型的方法,Windows操作***类型是根据内核的不同进行划分的,以Windows XP、Windows Vista、Windows 7为代表进行说明。参见图3,具体方法如下:
在进行具体说明之前,需要知道的是,USB设备内部存储有操作***标识与设备类型标识的映射表,该映射表是预先设定的。本实施例中,第一预设标识映射到第一设备标识,第二预设标识映射到第二设备标识,第三预设标识映射到第三设备标识;具体地,第一预设标识对应第一操作***,第二预设标识对应第二操作***,第三预设标识对应第三操作***;第一设备标识对应CCID设备,第二设备标识对应SCSI设备,第三设备标识对应HID设备。
301、USB设备上电,并进行初始化;
具体地,USB设备通过USB总线连接到主机,并从主机Vcc(电源电压或工作电压)处获取工作电压;
初始化操作具体包括:USB设备将上电标识、设备类型标识初始化为默认标识;
具体地,将上电标识初始化为第一预设值,默认设备类型标识可以是第一设备标识、第二设备标识或第三设备标识中的一个;
需要说明的是,主机操作***时刻监测USB总线上是否有设备接入,具体是通过检测Vcc上拉电阻的变化来确定的,当主机检测到USB设备接入时,加载设备总线驱动,开始对USB设备进行枚举操作。
302、USB设备总线复位;
需要说明的是,USB设备总线复位后,该USB设备的默认地址0被使能,则接下来USB设备与主机之间便通过地址0来传输命令及数据。
303、USB设备判断自身是否是首次上电,如果不是,执行304,如果是,执行305;
判断USB设备是否是首次上电具体为:判断上电标识位是否为第一预设值,如果是,则USB设备为首次上电,否则,不是首次上电;
304、USB设备按照当前设备类型标识完成枚举,并与主机建立通信,等待接收主机下发的指令;
305、USB设备接收主机下发的一系列setup包,完成USB枚举;
USB设备接收主机下发的一系列setup包,具体包括“取设备描述符”、“设置设备地址”、“取配置描述符”、“取端点描述符”、“取字符串描述符”、“取端点描述符”“选择配置”等命令,USB设备逐一对其做出响应;
306、USB设备判断USB枚举过程中是否存在第一预设命令,如果存在,执行307,如果不存在,执行308;
具体地,第一预设命令为取配置描述符命令;
具体地,取配置描述符命令为:80 06 00 02 00 00 09 00。
307、USB设备认定主机操作***是第一操作***,并将设备类型标识置为第一设备标识,执行316;
具体地,第一操作***是Windows XP;
308、USB设备根据设备类型标识判断USB设备是CCID设备、SCSI设备和HID设备的哪一种,
如果是CCID设备,执行309;
如果是SCSI设备,执行312;
如果是HID设备,执行315;
309、USB设备接收主机CCID驱动程序下发的CCID命令,并判断接收到的命令中是否存在第二预设命令,如果不存在,执行310,如果存在,执行311;
之前,主机在接收到USB设备返回的自身是CCID设备的信息后,装载相应的CCID驱动,USB设备与主机之间建立通信,等待接收CCID驱动程序下发的命令。
具体地,第二预设命令是取设备状态命令;
具体地,取设备状态命令是80 00 00 00 00 00 02 00。
310、USB设备认定主机操作***为第三操作***,并将当前设备类型标识置为第三设备标识,执行316;
具体地,第三操作***是Windows Vista。
311、USB设备认定主机操作***是第二操作***,并将当前设备类型标识置为第二设备标识,执行316;
具体地,第二操作***是Windows 7。
312、USB设备接收SCSI驱动程序下发的SCSI指令,并判断接收到的第二条SCSI指令是第三预设命令还是第四预设命令,如果是第三预设命令,执行313,如果是第四预设命令,执行314;
之前,主机在接收到USB设备返回的自身是SCSI设备的信息后,装载相应的SCSI驱动,USB设备与主机之间建立通信,等待接收SCSI驱动程序下发的命令。
具体地,第二条SCSI指令是取设备信息指令(Inquiry指令),用于查询设备信息;
具体地,当Inquiry指令的CBWCB域(命令域)的数值是第一预设内容时,第二条SCSI指令是第三预设命令,当Inquiry指令的CBWCB域的数值是第二预设内容时,第二条SCSI指令是第四预设命令;
其中,CBWCB域的内容标识的是由设备所执行的命令,由设备解释;
其中,第一预设内容为:12 00 00 00 24 00;
其中,第二预设内容为:12 01 80 00 ff 00;
具体地,第三预设命令为55 53 42 43 b0 f8 82 91 ff 00 00 00 80 00 06 12 00 0000 24 00 00 00 00 00 00 00 00 00 00 00;
具体地,第四预设命令为55 53 42 43 b0 f8 82 91 ff 00 00 00 80 00 06 12 01 8000 ff 00 00 00 00 00 00 00 00 00 00 00;
313、USB设备认定主机操作***是第二操作***,并将当前设备类型标识置为第二设备标识,执行316
具体地,第二操作***是Windows 7;
314、USB设备认定主机操作***是第三操作***,并将当前设备类型标识置为第三设备标识,执行316;
具体地,第三操作***是Windows vista;
315、USB设备等待接收HID驱动程序下发的指令;
316、USB设备判断当前设备类型标识是否与默认设备类型标识一致,如果不一致,执行317,否则,执行318;
317、USB设备进行软掉电处理,并将上电标识置为第二预设值,返回302;
这里,有关软掉电的说明及具体的处理方式在步骤116中有详细的说明,此处就不再赘述。
这里,进行软掉电处理的目的是:由上述流程知道,在判断出具体的操作***之前,USB设备已经完成了USB枚举,并且是按照默认设备类型标识返回的设备信息(设备类型等),这样就会错误产生,如,在枚举阶段向主机返回默认的设备类型,该设备类型是SCSI设备;但是,在判断出操作***是WindowsXP时,实际上应该向主机返回的设备类型是CCID设备,但是,却按默认设备类型标识返回了SCSI设备,所以,需要进行软掉电,按照已修改的设备类型标识重新进行枚举,返回正确的设备信息,即将设备类型切换为判断出的操作***相对应的正确的设备类型。
318、USB设备继续与主机进行通信。
上述实施例中,USB设备通过对主机下发的指令进行分析,便可以确定主机Windows操作***的版本类型,该判定方法无需额外的设备及软件,简单、方便、快捷,并在确定主机Windows操作***的版本类型后,向不同的主机操作***暴露不同的USB属性,另外,USB设备通过设置操作***标识符或设备类型标识符可以实现操作***类型的切换或设备类型的切换,以便更好的和主机操作***配合工作。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种USB设备识别主机Windows操作***版本类型的方法,其特征在于,所述方法包括:
步骤A、USB设备上电,并进行初始化;
步骤B、所述USB设备进行USB枚举,并判断所述USB枚举过程中是否接收到第一预设命令,如果是,则判定主机操作***为第一操作***,执行步骤D,否则,执行步骤C;
步骤C、所述USB设备判断所述USB枚举过程中向主机返回的设备类型,
当所述USB设备向所述主机返回的设备类型是CCID设备时,所述USB设备判断接收到的指令中是否存在第二预设命令,如果存在所述第二预设命令,则判定主机操作***为第二操作***,如果不存在所述第二预设命令,则判定主机操作***为第三操作***;
当所述USB设备向所述主机返回的设备类型是SCSI设备时,所述USB设备接收所述主机下发的SCSI指令,并判断接收到的所述第二条SCSI指令是第三预设命令还是第四预设命令,如果是所述第三预设命令,则判定主机操作***为第二操作***,如果是所述第四预设命令,则判定主机操作***为第三操作***;
步骤D、所述USB设备与主机建立通信,并等待接收所述主机下发的指令,根据所述判定出的主机操作***类型向所述主机返回相应的信息。
2.根据权利要求1所述的方法,其特征在于,所述初始化包括:将设备类型标识初始化为默认设备类型标识。 
3.根据权利要求1所述的方法,其特征在于,所述初始化还包括:将上电标识初始化为第一预设值、设备类型标识初始化为默认设备类型标识。
4.根据权利2或3所述的方法,其特征在于,所述USB设备判断所述USB枚举过程中向主机返回的设备类型为:所述USB设备根据所述USB枚举过程中返回的设备类型标识来判断所述返回的设备类型。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述USB设备判定出主机操作***类型是第一操作***、第二操作***或第三操作***后,将设备类型标识置为第一设备类型、第二设备类型或第三设备类型。
6.根据权利要求5所述的方法,其特征在于,所述步骤D还包括:所述USB设备判断当前设备类型标识是否与默认设备类型标识相同,如果相同,则所述USB设备与主机通信,等待接收所述主机下发的指令;如果不相同,所述USB设备进行软掉电处理,并将所述上电标识置为第二预设值,执行步骤A。
7.根据权利要求1所述的方法,其特征在于,所述初始化还包括:将上电标识初始化为第一预设值,将操作***类型标识初始化为默认操作***类型标识。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:所述USB设备存储有操作***类型标识与设备类型标识的映射表。
9.根据权利要求8所述的方法,其特征在于,所述USB设备判断所述USB枚举过程中返回的设备类型为:所述USB设备根据默认操作***类型标识查找所述映射表得到相应的设备类型标识,根据所述查找所得的设备类型标识来判断所述返回的设备类型。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:所述USB 设备判定出主机操作***类型是第一操作***、第二操作***或第三操作***后,将操作***类型标识置为第一预设标识、第二预设标识或第三预设标识。
11.根据权利要求10所述的方法,其特征在于,所述步骤D还包括:所述USB设备判断当前操作***类型标识是否与所述默认操作***类型标识相同,如果相同,则所述USB设备与主机建立通信,并等待接收所述主机下发的指令;如果不相同,所述USB设备进行软掉电处理,并将所述上电标识置为第二预设值,执行步骤A。
12.根据权利要求6或11所述的方法,其特征在于,在所述步骤A之后,所述方法还包括:判断所述USB设备是否是首次上电,如果是首次上电,则执行步骤B;如果不是,所述USB设备执行步骤D。
13.根据权利要求12所述的方法,其特征在于,判断所述USB设备是否是首次上电具体为:判断上电标识是否是第一预设值,如果是,则所述USB设备是首次上电,如果不是,则所述USB设备不是首次上电 。
14.根据权利要求1所述的方法,其特征在于,所述USB设备向所述主机返回的设备类型还包括HID设备。
15.根据权利要求1所述的方法,其特征在于,所述第一预设命令为取设备配置描述符命令;所述第二预设命令为取设备状态指令;所述第二条SCSI指令为取设备信息指令。
16.根据权利要求1所述的方法,其特征在于,所述USB设备判断接收到的第二条SCSI指令是第三预设命令还是第四预设命令为:所述USB设备根据所述第二条SCSI指令的命令域的内容进行判断,当所述第二条SCSI指令的命令域内容是第一预设内容时,所述第二条指令是所述第三预设命令;当所述第二 条SCSI指令的命令域内容是第二预设内容时,所述第二条指令是所述第四预设命令。
17.根据权利要求1所述的方法,其特征在于,所述第一操作***为WindowsXP,所述第二操作***为Windows 7,所述第三操作***为Windows Vista。 
CN 201010285447 2010-09-16 2010-09-16 USB设备识别主机Windows操作***版本类型的方法 Active CN101957807B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN 201010285447 CN101957807B (zh) 2010-09-16 2010-09-16 USB设备识别主机Windows操作***版本类型的方法
US13/640,997 US8862790B2 (en) 2010-09-16 2011-09-15 Method for identifying version type of windows operating system on a host by a USB device
PCT/CN2011/079679 WO2012034524A1 (zh) 2010-09-16 2011-09-15 Usb设备识别主机windows操作***版本类型的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010285447 CN101957807B (zh) 2010-09-16 2010-09-16 USB设备识别主机Windows操作***版本类型的方法

Publications (2)

Publication Number Publication Date
CN101957807A true CN101957807A (zh) 2011-01-26
CN101957807B CN101957807B (zh) 2012-08-08

Family

ID=43485140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010285447 Active CN101957807B (zh) 2010-09-16 2010-09-16 USB设备识别主机Windows操作***版本类型的方法

Country Status (3)

Country Link
US (1) US8862790B2 (zh)
CN (1) CN101957807B (zh)
WO (1) WO2012034524A1 (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088797A (zh) * 2011-01-30 2011-06-08 中兴通讯股份有限公司 一种无线通讯方法、***及无线通讯终端
CN102253904A (zh) * 2011-06-08 2011-11-23 广州视睿电子科技有限公司 一种usb设备识别计算机操作***的方法及装置
EP2423825A1 (en) * 2010-08-26 2012-02-29 Huawei Device Co., Ltd. Method for data card to identify the OS, and apparatus and communication system thereof
WO2012034524A1 (zh) * 2010-09-16 2012-03-22 飞天诚信科技股份有限公司 Usb设备识别主机windows操作***版本类型的方法
WO2012097761A1 (zh) * 2011-08-23 2012-07-26 华为终端有限公司 数据卡与主机间通信异常的修复方法及数据卡
CN102736982A (zh) * 2011-04-08 2012-10-17 群联电子股份有限公司 内存组态方法、内存控制器与内存储存装置
WO2012155573A1 (zh) * 2011-10-18 2012-11-22 中兴通讯股份有限公司 Usb设备自动识别操作***的方法及***
CN102890662A (zh) * 2012-10-19 2013-01-23 无锡海森诺科技有限公司 通过对usb hid设备进行二次枚举以识别主机操作***的方法
CN103092799A (zh) * 2012-12-28 2013-05-08 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作***的方法
WO2013189432A3 (zh) * 2013-05-28 2014-04-24 中兴通讯股份有限公司 Usb设备及其自动识别微软窗口化操作***版本的方法
WO2014183358A1 (zh) * 2013-05-15 2014-11-20 中兴通讯股份有限公司 一种识别操作***类型的方法及usb设备
CN104281825A (zh) * 2014-09-29 2015-01-14 飞天诚信科技股份有限公司 一种基于智能sd卡的读卡器的工作方法
CN104516842A (zh) * 2013-09-29 2015-04-15 中兴通讯股份有限公司 一种usb设备快速适配操作***的方法及usb设备
WO2015117460A1 (zh) * 2014-07-25 2015-08-13 中兴通讯股份有限公司 Usb设备识别主机***的方法、usb设备及存储介质
CN106126446A (zh) * 2016-06-22 2016-11-16 飞天诚信科技股份有限公司 一种USB设备及其识别MacOS***的方法
CN106339333A (zh) * 2015-07-06 2017-01-18 宝德科技股份有限公司 识别计算机***的输入设备及其识别方法
CN106372009A (zh) * 2016-08-30 2017-02-01 飞天诚信科技股份有限公司 一种Mac***中与USB设备通讯的方法及装置
CN106383796A (zh) * 2016-10-18 2017-02-08 广州视睿电子科技有限公司 一种主机操作***类型的识别方法及***
CN108733519A (zh) * 2017-04-14 2018-11-02 中兴通讯股份有限公司 一种usb设备的配置方法及主机
CN109173239A (zh) * 2018-08-29 2019-01-11 深圳市七熊科技有限公司 游戏主机识别方法、装置、计算机设备及存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521186B (zh) * 2011-11-22 2015-01-14 飞天诚信科技股份有限公司 一种USB Key及其与终端进行通信的方法
US9170828B2 (en) 2013-05-16 2015-10-27 Microsoft Technology Licensing, Llc. Extraction of operating system-specific characteristics via a communication interface
US20160379017A1 (en) * 2013-12-27 2016-12-29 Intel Corporation Apparatus, system and techniques for a smart card computing device and associated host devices
US10275421B1 (en) 2014-04-30 2019-04-30 Facebook, Inc. Transmitting a state of a mobile application to an additional mobile application executing on a client device
JP7386012B2 (ja) * 2019-07-30 2023-11-24 株式会社ワコム 情報入力装置、方法、及びプログラム
CN112068893B (zh) * 2020-11-12 2021-03-16 飞天诚信科技股份有限公司 一种usb设备及其区分移动设备操作***的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389495B1 (en) * 1999-01-16 2002-05-14 Cypress Semiconductor Corp. Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus
US6816897B2 (en) * 2001-04-30 2004-11-09 Opsware, Inc. Console mapping tool for automated deployment and management of network devices
CN101078985A (zh) * 2006-05-23 2007-11-28 国际商业机器公司 用于识别在计算机***上运行的操作***的方法和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1211735C (zh) * 2002-06-26 2005-07-20 联想(北京)有限公司 硬件设备驱动程序的安装方法
US7904960B2 (en) 2004-04-27 2011-03-08 Cisco Technology, Inc. Source/destination operating system type-based IDS virtualization
TW200943188A (en) * 2008-04-01 2009-10-16 Sunplus Innovation Technology Inc A method for automatically detecting an operating system on a USB device
US8661164B2 (en) * 2010-08-24 2014-02-25 Mediatek Inc. Method of USB device enumeration including detecting the operating system type of the USB host
CN101916238B (zh) * 2010-08-26 2012-01-25 华为终端有限公司 数据卡识别操作***的方法、装置及通信***
CN101957807B (zh) 2010-09-16 2012-08-08 飞天诚信科技股份有限公司 USB设备识别主机Windows操作***版本类型的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389495B1 (en) * 1999-01-16 2002-05-14 Cypress Semiconductor Corp. Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus
US6816897B2 (en) * 2001-04-30 2004-11-09 Opsware, Inc. Console mapping tool for automated deployment and management of network devices
CN101078985A (zh) * 2006-05-23 2007-11-28 国际商业机器公司 用于识别在计算机***上运行的操作***的方法和设备

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700812B2 (en) 2010-08-26 2014-04-15 Huawei Device Co., Ltd. Methods, devices and communication systems for data card identification operating system
EP2423825A1 (en) * 2010-08-26 2012-02-29 Huawei Device Co., Ltd. Method for data card to identify the OS, and apparatus and communication system thereof
WO2012034524A1 (zh) * 2010-09-16 2012-03-22 飞天诚信科技股份有限公司 Usb设备识别主机windows操作***版本类型的方法
US8862790B2 (en) 2010-09-16 2014-10-14 Feitian Technologies Co., Ltd. Method for identifying version type of windows operating system on a host by a USB device
CN102088797A (zh) * 2011-01-30 2011-06-08 中兴通讯股份有限公司 一种无线通讯方法、***及无线通讯终端
CN102736982B (zh) * 2011-04-08 2015-04-22 群联电子股份有限公司 内存组态方法、内存控制器与内存储存装置
CN102736982A (zh) * 2011-04-08 2012-10-17 群联电子股份有限公司 内存组态方法、内存控制器与内存储存装置
CN102253904A (zh) * 2011-06-08 2011-11-23 广州视睿电子科技有限公司 一种usb设备识别计算机操作***的方法及装置
WO2012097761A1 (zh) * 2011-08-23 2012-07-26 华为终端有限公司 数据卡与主机间通信异常的修复方法及数据卡
US9058264B2 (en) 2011-08-23 2015-06-16 Huawei Device Co., Ltd. Method for repairing communication abnormality between data card and host and data card
WO2012155573A1 (zh) * 2011-10-18 2012-11-22 中兴通讯股份有限公司 Usb设备自动识别操作***的方法及***
CN102890662B (zh) * 2012-10-19 2016-10-05 无锡海森诺科技有限公司 通过对usb hid设备进行二次枚举以识别主机操作***的方法
CN102890662A (zh) * 2012-10-19 2013-01-23 无锡海森诺科技有限公司 通过对usb hid设备进行二次枚举以识别主机操作***的方法
CN103092799A (zh) * 2012-12-28 2013-05-08 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作***的方法
WO2014101626A1 (zh) * 2012-12-28 2014-07-03 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作***的方法
US9928197B2 (en) 2012-12-28 2018-03-27 Feitian Technologies Co., Ltd. USB device and method thereof for recognizing host operating system
CN103092799B (zh) * 2012-12-28 2015-07-22 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作***的方法
WO2014183358A1 (zh) * 2013-05-15 2014-11-20 中兴通讯股份有限公司 一种识别操作***类型的方法及usb设备
WO2013189432A3 (zh) * 2013-05-28 2014-04-24 中兴通讯股份有限公司 Usb设备及其自动识别微软窗口化操作***版本的方法
CN104182374B (zh) * 2013-05-28 2018-09-28 南京中兴软件有限责任公司 Usb设备及其自动识别微软窗口化操作***版本的方法
CN104182374A (zh) * 2013-05-28 2014-12-03 中兴通讯股份有限公司 Usb设备及其自动识别微软窗口化操作***版本的方法
US9501444B2 (en) 2013-05-28 2016-11-22 Zte Corporation USB device and method thereof for automatically recognizing microsoft windowing operating system version
CN104516842A (zh) * 2013-09-29 2015-04-15 中兴通讯股份有限公司 一种usb设备快速适配操作***的方法及usb设备
WO2015117460A1 (zh) * 2014-07-25 2015-08-13 中兴通讯股份有限公司 Usb设备识别主机***的方法、usb设备及存储介质
CN105279110A (zh) * 2014-07-25 2016-01-27 中兴通讯股份有限公司 一种usb设备识别主机***的方法及usb设备
CN105279110B (zh) * 2014-07-25 2018-07-27 南京中兴软件有限责任公司 一种usb设备识别主机***的方法及usb设备
CN104281825A (zh) * 2014-09-29 2015-01-14 飞天诚信科技股份有限公司 一种基于智能sd卡的读卡器的工作方法
CN104281825B (zh) * 2014-09-29 2017-06-06 飞天诚信科技股份有限公司 一种基于智能sd卡的读卡器的工作方法
CN106339333A (zh) * 2015-07-06 2017-01-18 宝德科技股份有限公司 识别计算机***的输入设备及其识别方法
CN109446120A (zh) * 2016-06-22 2019-03-08 飞天诚信科技股份有限公司 一种USB设备及其识别MacOS***的方法
CN106126446B (zh) * 2016-06-22 2019-01-04 飞天诚信科技股份有限公司 一种USB设备及其识别MacOS***的方法
CN106126446A (zh) * 2016-06-22 2016-11-16 飞天诚信科技股份有限公司 一种USB设备及其识别MacOS***的方法
CN109446120B (zh) * 2016-06-22 2020-05-15 飞天诚信科技股份有限公司 一种USB设备及其识别MacOS***的方法
CN106372009A (zh) * 2016-08-30 2017-02-01 飞天诚信科技股份有限公司 一种Mac***中与USB设备通讯的方法及装置
CN106372009B (zh) * 2016-08-30 2018-11-30 飞天诚信科技股份有限公司 一种Mac***中与USB设备通讯的方法及装置
CN106383796A (zh) * 2016-10-18 2017-02-08 广州视睿电子科技有限公司 一种主机操作***类型的识别方法及***
CN106383796B (zh) * 2016-10-18 2019-06-14 广州视睿电子科技有限公司 一种主机操作***类型的识别方法及***
CN108733519A (zh) * 2017-04-14 2018-11-02 中兴通讯股份有限公司 一种usb设备的配置方法及主机
CN108733519B (zh) * 2017-04-14 2022-08-16 中兴通讯股份有限公司 一种usb设备的配置方法及主机
CN109173239A (zh) * 2018-08-29 2019-01-11 深圳市七熊科技有限公司 游戏主机识别方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2012034524A1 (zh) 2012-03-22
US8862790B2 (en) 2014-10-14
CN101957807B (zh) 2012-08-08
US20130031277A1 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
CN101957807B (zh) USB设备识别主机Windows操作***版本类型的方法
CN102043751B (zh) Usb设备识别主机操作***的方法
US9928197B2 (en) USB device and method thereof for recognizing host operating system
US9411990B2 (en) Working method of a multi-slot card reader based on the standard CCID protocol
US7103765B2 (en) Method and system for providing a modulized server on board
CN1240019C (zh) 将usb设备连接至usb总线的单连接点的装置和方法
US20070250564A1 (en) Method And System For Providing A Modular Server On USB Flash Storage
US10146554B2 (en) Extraction of operating system-specific characteristics via a communication interface
CN102890662B (zh) 通过对usb hid设备进行二次枚举以识别主机操作***的方法
CN1251106C (zh) 启动计算设备中的端口的方法
CN102073602B (zh) 计算机***、连接控制装置及连接与断开方法
CN108073537A (zh) Usb接口电路、usb接口的实现方法及装置
WO2019203797A1 (en) Firmware setup menu options for docking stations
CN103761129A (zh) 一种在Bootloader层实现SDIO接口驱动的方法
CN110688235B (zh) Uefi固件与os间共享无线连接信息的***及方法
CN109446120B (zh) 一种USB设备及其识别MacOS***的方法
CN102968325A (zh) 一种usb设备及其自动初始化的方法和装置
US9465597B2 (en) System for operating a device as a storage device and a modem device
US6892263B1 (en) System and method for hot swapping daughtercards in high availability computer systems
JP2011215889A (ja) 情報処理装置及びその起動方法
CN115729629A (zh) Usb设备的识别方法、终端设备及***
JP2009223605A (ja) 無線通信モデム装置
KR20110016231A (ko) 광 기록 매체로 인식되는 휴대용 장치 및 그 구동 방법, 이와 연결된 컴퓨팅 장치 및 그 구동 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant