CN109446120B - 一种USB设备及其识别MacOS系统的方法 - Google Patents

一种USB设备及其识别MacOS系统的方法 Download PDF

Info

Publication number
CN109446120B
CN109446120B CN201811305607.5A CN201811305607A CN109446120B CN 109446120 B CN109446120 B CN 109446120B CN 201811305607 A CN201811305607 A CN 201811305607A CN 109446120 B CN109446120 B CN 109446120B
Authority
CN
China
Prior art keywords
host
descriptor
command
operating system
preset
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.)
Active
Application number
CN201811305607.5A
Other languages
English (en)
Other versions
CN109446120A (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.)
Feitian Technologies Co Ltd
Original Assignee
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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201811305607.5A priority Critical patent/CN109446120B/zh
Publication of CN109446120A publication Critical patent/CN109446120A/zh
Application granted granted Critical
Publication of CN109446120B publication Critical patent/CN109446120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

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设备及其识别MacOS系统的方法,属于USB设备领域。本发明提供的USB设备识别MacOS系统的方法包括:USB设备上电,接收并响应主机下发的命令,USB设备接收到APDU命令之前,若先接收到获取字符串描述符命令后接收到获取配置描述符命令,则标识主机操作系统的类型为MacOS系统;若先接收到获取配置描述符命令后接收到获取字符串描述符命令,则标识主机操作系统的类型为非MacOS系统。本发明提供的USB设备包括:接收模块、发送模块、第一标识模块和第二标识模块。本发明的有益效果在于:使用本发明提供的技术方案,USB设备能够准确地识别MacOS系统。

Description

一种USB设备及其识别MacOS系统的方法
技术领域
本发明涉及USB设备,尤其涉及一种USB设备及其识别MacOS系统的方法。
背景技术
USB协议技术是主机与外部设备连接的串行总线标准,在主机(例如,个人计算机、个人数字助理以及移动电脑等)上使用十分广泛,支持热插拔和即插即用,并支持总线供电,鼠标、键盘、游戏手柄、扫描仪、数码相机、打印机、硬盘、安全设备、光驱和网卡等几乎所有的外围设备都可以通过运行USB接口与主机相连并进行通信,USB接口已经成为目前大多数主机外设与计算机相连的缺省接口。
在操作系统平台支持方面,MacOS系统及非MacOS系统(Windows、Linux等)都提供了对USB接口的支持。USB设备在主机进行通信时,需要准确区分主机操作系统的类型。
发明人在实现本发明的过程中,发现现有技术中至少存在以下缺陷:
随着新版本操作系统的出现,现有的USB设备识别主机操作系统的方法已不能准确地识别出MacOS系统。
发明内容
本发明的目的是克服现有技术的缺陷,提供一种USB设备及其识别MacOS系统的方法。
本发明是通过下述技术方案实现的:
一方面,本发明提供一种USB设备识别MacOS系统的方法,包括:
步骤A1、USB设备上电;
步骤A2、所述USB设备等待接收主机下发的命令;
当接收到主机下发的获取字符串描述符命令时,向主机发送相应的字符串描述符;
当接收到主机下发的获取配置描述符命令时,向主机发送相应的配置描述符和接口描述符;
所述方法还包括在所述USB设备接收到APDU命令之前:
若所述USB设备先接收到主机下发的获取字符串描述符命令,后接收到主机下发的获取配置描述符命令,则标识主机操作系统的类型为MacOS系统;
若所述USB设备先接收到主机下发的获取配置描述符命令,后接收到主机下发的获取字符串描述符命令,则标识主机操作系统的类型为非MacOS系统。
以及与上述方法对应的一种USB设备,包括:
接收模块,用于所述USB设备上电后,接收主机下发的命令;
发送模块,用于当所述接收模块接收到主机下发的获取字符串描述符命令时,向主机发送相应的字符串描述符,当所述接收模块接收到主机下发的获取配置描述符命令时,向主机发送相应的配置描述符和接口描述符;
第一标识模块,用于当所述接收模块接收到APDU命令之前,先接收到主机下发的获取字符串描述符命令,后接收到主机下发的获取配置描述符命令时,标识主机操作系统的类型为MacOS系统;
第二标识模块,用于当所述接收模块接收到APDU命令之前,先接收到主机下发的获取配置描述符命令,后接收到主机下发的获取字符串描述符命令时,标识主机操作系统的类型为非MacOS系统。
另一方面,本发明又提供另一种USB设备识别MacOS系统的方法,包括:
步骤B1、USB设备上电;
步骤B2、所述USB设备等待接收主机下发的命令;
当接收到主机下发的获取字符串描述符命令时,向主机发送相应的字符串描述符;
所述方法还包括:当所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
以及与上述方法对应的一种USB设备,包括:
接收模块,用于所述USB设备上电后,接收主机下发的获取字符串描述符命令;
发送模块,用于所述接收模块接收到主机下发的获取字符串描述符命令后,向主机发送相应的字符串描述符;
第一标识模块,用于当所述接收模块在所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
本发明的有益效果在于:使用本发明提供的技术方案,USB设备能够准确地识别MacOS系统。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例2提供的一种USB设备识别MacOS系统的方法流程图;
图2为本发明实施例3提供的一种USB设备的结构示意图;
图3为本发明实施例5提供的一种USB设备识别MacOS系统的方法流程图;
图4为本发明实施例6提供的一种USB设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种USB设备识别MacOS系统的方法,包括:
步骤A1、USB设备上电;
步骤A2、所述USB设备等待接收主机下发的命令;
当接收到主机下发的获取字符串描述符命令时,向主机发送相应的字符串描述符;
当接收到主机下发的获取配置描述符命令时,向主机发送相应的配置描述符和接口描述符;
所述方法还包括在所述USB设备接收到APDU命令之前:
若所述USB设备先接收到主机下发的获取字符串描述符命令,后接收到主机下发的获取配置描述符命令,则标识主机操作系统的类型为MacOS系统;
若所述USB设备先接收到主机下发的获取配置描述符命令,后接收到主机下发的获取字符串描述符命令,则标识主机操作系统的类型为非MacOS系统。
进一步地,本实施例中:
所述步骤A1中还包括:所述USB设备标识主机操作系统的类型为未知;
所述若所述USB设备先接收到主机下发的获取字符串描述符命令,后接收到主机下发的获取配置描述符命令,则标识主机操作系统的类型为MacOS系统,具体包括:当所述USB设备接收到主机下发的获取字符串描述符命令时,判断主机操作系统的类型是否为未知,是则标识主机操作系统的类型为MacOS系统,向主机发送相应的字符串描述符,否则向主机发送相应的字符串描述符;
所述若所述USB设备先接收到主机下发的获取配置描述符命令,后接收到主机下发的获取字符串描述符命令,则标识主机操作系统的类型为非MacOS系统,具体包括:当所述USB设备接收到主机下发的获取配置描述符命令时,检查主机操作系统的类型是否为未知,是则标识主机操作系统的类型为非MacOS系统,向主机发送相应的配置描述符和接口描述符,否则向主机发送相应的配置描述符和接口描述符。
或者,所述步骤A1中还包括:所述USB设备复位第一接收标志和第二接收标志;
所述若所述USB设备先接收到主机下发的获取字符串描述符命令,后接收到主机下发的获取配置描述符命令,则标识主机操作系统的类型为MacOS系统,具体包括:当所述USB设备接收到主机下发的获取字符串描述符命令时,置位所述第一接收标志,判断所述第二接收标志是否被置位,是则向主机发送相应的字符串描述符,否则标识主机操作系统的类型为MacOS系统,向主机发送相应的字符串描述符;
所述若所述USB设备先接收到主机下发的获取配置描述符命令,后接收到主机下发的获取字符串描述符命令,则标识主机操作系统的类型为非MacOS系统,具体包括:当所述USB设备接收到主机下发的获取配置描述符命令时,置位所述第二接收标志,判断所述第一标志是否被置位,是则向主机发送相应的配置描述符和接口描述符,否则标识主机操作系统的类型为非MacOS系统,向主机发送相应的配置描述符和接口描述符。
进一步地,本实施例中,标识主机操作系统的类型为MacOS系统之后还包括:若所述USB设备上电后接收到主机下发的第一条命令为设置地址命令,则标识主机操作系统的版本为第一预设版本,若所述USB设备上电后接收到主机下发的第一条命令为获取设备描述符命令,则标识主机操作系统的版本为第二预设版本。
优选的,本发明所述的第一预设版本为MacOS x10.11,本发明所述的第二预设版本为在MacOS x10.11之前发布的MacOS的版本,包括:MacOS x10.6、MacOS x10.7、MacOSx10.8、MacOS x10.9、MacOS x10.10等。
实施例2
本实施例提供一种USB设备识别MacOS系统的方法,如图1所示,包括:
步骤101、USB设备上电;
步骤102、USB设备标识主机操作系统的类型为未知;
具体地,USB设备可以通过设置预设标识位来标识主机操作系统的类型,当预设标识位的取值为第一预设值时,表示主机操作系统的类型为未知;例如,第一预设值可以为0。
步骤103、USB设备接收主机下发的命令;
步骤104、USB设备判断接收到的命令的类型,若为获取字符串描述符命令则执行步骤105,若为获取配置描述符命令则执行步骤108,否则执行步骤111;
具体地,获取字符串描述符命令和获取配置描述符命令为主机在USB设备枚举过程中采用控制传输方式向USB设备下发的命令。
USB设备具体根据命令中的bmRequestType域(命令的第1个字节)和bRequest域(命令的第2个字节)判断命令的类型,当bmRequestType域为0x80,bRequest域为GET_DESCRIPTOR的编码值0x06时,USB设备判定命令为获取描述符命令(包括获取USB设备描述符命令、获取配置描述符命令、获取字符串描述符命令、获取接口描述符命令、获取端点描述符命令、获取集线器类描述符命令、获取人机接口类描述符命令等)。
USB设备进一步根据命令中的wValue域(长度为2字节,具体为命令的第3个、第4个字节)的高字节判断获取描述符命令的具体类型,当wValue域的高字节(命令的第3个字节)为0x03时,USB设备判定获取描述符命令具体为获取字符串描述符命令,当wValue域的高字节为0x02时,USB设备判定获取描述符命令具体为获取配置描述符命令。
步骤105、USB设备判断主机操作系统的类型是否为未知,是则执行步骤106,否则执行步骤107;
具体地,USB设备可以通过设置预设标识位来标识主机操作系统的类型,当预设标识位的取值为第一预设值时,表示主机操作系统的类型为未知;相应地,USB设备判断主机操作系统的类型是否为未知,可以具体为:USB设备判断预设标识位的取值是否为第一预设值,是则主机操作系统的类型为未知,否则主机操作系统的类型不为未知;例如,第一预设值可以为0。
步骤106、USB设备标识主机操作系统的类型为MacOS系统,执行步骤107;
具体地,USB设备可以通过设置预设标识位来标识主机操作系统的类型,当预设标识位的取值为第二预设值时,表示主机操作系统的类型为MacOS系统;例如第二预设值可以为MacOS。
步骤107、USB设备向主机发送相应的字符串描述符,返回步骤103;
具体地,主机通过获取字符串描述符命令中的wValue域(长度为2字节,获取字符串描述符命令的第3个、第4个字节)的低字节(获取字符串描述符命令的第3个字节)指定字符串描述符索引;步骤107具体为:USB设备根据获取字符串描述符命令中的字符串描述符索引向主机发送相应的字符串描述符。
进一步地,USB设备根据获取字符串描述符命令中字符串描述符索引向主机发送相应的字符串描述符,具体包括:
当字符串描述符索引为0x00时,USB设备向主机发送表示语言ID的字符串描述符;
当字符串描述符索引不为0x00时,USB设备向主机发送表示字符串编码的字符串描述符;例如,当字符串描述符索引为0x01时,USB设备向主机发送表示厂商名称的字符串描述符;当字符串描述符索引为0x02时,USB设备向主机发送表示USB设备名称的字符串描述符等。
具体地,字符串描述符的格式为bLength域+bDescriptorType域+bStrings域,其中:
bLength域的大小为1个字节,值为数字,表示描述符的长度;
bDescriptorType域的大小为1个字节,值为0x03,表示描述符的类型为字符串描述符;
bStrings域的大小为N个字节,值为数字,用于描述信息;表示语言ID的字符描述串的bStrings域具体为双字节语言ID的数组:wLANGID[0]~wLANGID[x],表示语言标识码0~语言标识码x,用于描述设备支持的语言;表示字符串编码的字符串描述符的bStrings域具体为UNICODE编码的字符串,用于描述厂商名称、设备名称或序列号等信息。
步骤108、USB设备判断主机操作系统的类型是否为未知,是则执行步骤109,否则执行步骤110;
具体地,USB设备可以通过设置预设标识位来标识主机操作系统的类型,当预设标识位的取值为第一预设值时,表示主机操作系统的类型为未知;相应地,USB设备判断主机操作系统的类型是否为未知,可以具体为:USB设备判断预设标识位的取值是否为第一预设值,是则主机操作系统的类型为未知,否则主机操作系统的类型不为未知;例如,第一预设值可以为0。
步骤109、USB设备标识主机操作系统的类型为非MacOS系统,执行步骤110;
具体地,USB设备可以通过设置预设标识位来标识主机操作系统的类型,当预设标识位的取值为第三预设值时,表示主机操作系统的类型为非MacOS系统;例如第三预设值可以为else。
步骤110、USB设备向主机发送相应的配置描述符和接口描述符,返回步骤103;
本实施例中,USB设备向主机发送相应的配置描述符和接口描述符可以具体包括:
步骤1-1、USB设备判断主机操作系统的类型,若为MacOS系统则执行步骤1-2,若为非MacOS系统则执行步骤1-3;
进一步地,若主机操作系统的类型为未知,则执行步骤1-2或执行步骤1-3;
步骤1-2、USB设备判断获取配置描述符命令中的获取长度是否大于配置描述符的长度,是则向主机发送预设配置描述符和第一预设接口描述符,否则向主机发送预设配置描述符的前N个字节,N等于所述获取长度;
优选地,配置描述符的长度为9个字节;
例如,获取长度为4个字节,则将预设配置描述符的前4个字节返回给主机。
步骤1-3、USB设备判断获取配置描述符命令中的获取长度是否大于配置描述符的长度,是则向主机发送预设配置描述符和第二预设接口描述符,否则向主机发送预设配置描述符的前N个字节,N等于所述获取长度;
例如,获取长度为9个字节,则将预设配置描述符返回给主机。
具体地,第一预设接口描述符不同于第二预设接口描述符;
优选地,第一预设接口描述符为智能卡类接口描述符,即第一预设接口描述符的bInterfaceClass域为0x0B;第二预设接口描述符为大数据存储类接口描述符,即第二预设接口描述符的bInterfaceClass域为0x08。
进一步地,当主机操作系统的类型为MacOS系统时,步骤110中还可以包括USB设备向主机发送CCID类描述符;
更进一步地,当主机操作系统的类型为MacOS系统时,若第一预设接口描述符所描述的接口使用的端点不仅为端点0,则步骤110中还包括USB设备向主机发送端点描述符;当USB设备判断主机操作系统的类型为非MacOS系统时,若第二预设接口描述符所描述的接口使用的端点不仅为端点0,则步骤110中还包括USB设备向主机发送端点描述符。
例如,当主机操作系统的类型为MacOS系统时,USB设备向主机返回:
0x 09 02 56 00 01 01 00 80 19//配置描述符
0x 09 04 00 00 02 0B 00 00 00//接口描述符
0x 36 21 10 01 00 01 02 00 00 00 FC 0D 00 00 FC 0D 00 00 00 80 25 0000 80 25 00 00 00 20 10 00 00 00 00 00 00 00 00 00 00 40 08 04 00 20 10 00 00FF FF 00 00 00 01//CCID类描述符
0x 07 05 81 02 40 00 00//端点描述符
0x 07 05 02 02 40 00 00//端点描述符
当主机操作系统的类型为非MacOS系统时,USB设备向主机返回:
0x 09 02 20 00 01 01 00 80 19//配置描述符
0x 09 04 00 00 02 08 06 50 00//接口描述符
0x 07 05 81 02 40 00 00//端点描述符
0x 07 05 02 02 40 00 00//端点描述符
步骤111、USB设备根据接收到的命令执行相应操作,返回步骤103。
优选地,USB设备可以根据主机操作系统的类型,执行与接收到的命令相应的操作。
本实施例中,USB设备向主机发送相应的配置描述符和接口描述符还可以具体包括:USB设备向主机发送预设配置描述符和第三预设接口描述符;优选地,第三预设接口描述符为智能卡类接口描述符,即第三预设接口描述符的bInterfaceClass域为0x0B,进一步地,步骤110中还可以包括USB设备向主机发送CCID类描述符;更进一步地,当第三预设接口描述符所描述的接口使用的端点不仅为端点0时,步骤110中还包括USB设备向主机发送端点描述符;
相应地,步骤104中还包括:若USB设备判断接收到的命令为APDU命令,则执行所述APDU命令,根据执行结果组织应答数据,判断应答数据的长度是否超过与主机操作系统的类型对应的预设最大包长度,是则将应答数据按照所述预设最大包长度分包发送到主机,否则将应答数据发送到主机;具体地,当主机操作系统的类型为MacOS系统时,预设最大包长度为预设长度,例如261个字节,当主机操作系统的类型为非MacOS系统时,预设最大包长度等于USB设备的预设缓存的大小,例如1024字节。
本实施例的技术方案中,USB设备对主机下发的命令进行解析,并对USB设备当前对主机操作系统的类型的标识进行判断,根据主机下发的命令的类型以及USB设备当前对主机操作系统类型的标识,确定主机操作系统的类型。
进一步地,本实施例中所述的方法中还可以包括:
当USB设备上电后接收到的主机下发的第一条命令为设置地址命令时,设置版本标识为第一预设值;
当USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令时,设置版本标识为第二预设值;
相应地,步骤106之后还包括:USB设备检查版本标识,若为第一预设值则标识主机操作系统的版本为第一预设版本,若为第二预设值则标识主机操作系统的版本为第二预设版本;
其中,版本标识的初始值为第一预设值和第二预设值之外的其他值;
本实施例中,例如,设置地址指令为0x 00 05 XX XX 00 00 00 00;获取设备描述符命令为0x 80 06 00 01 00 00 XX XX。
实施例3
本实施例提供一种USB设备,如图2所示,包括:
接收模块301,用于USB设备上电后,接收主机下发的命令;
发送模块302,用于当接收模块301接收到主机下发的获取字符串描述符命令时,向主机发送相应的字符串描述符,当接收模块301接收到主机下发的获取配置描述符命令时,向主机发送相应的配置描述符和接口描述符;
第一标识模块303,用于当接收模块301接收到APDU命令之前,先接收到主机下发的获取字符串描述符命令,后接收到主机下发的获取配置描述符命令时,标识主机操作系统的类型为MacOS系统;
第二标识模块304,用于当接收模块301接收APDU命令之前先接收到主机下发的获取配置描述符命令,后接收到主机下发的获取字符串描述符命令时,标识主机操作系统的类型为非MacOS系统。
进一步地,本实施例所述的USB设备中还可以包括:
第三标识模块305,用于在第一标识模块303标识主机操作系统的类型为MacOS系统之后,若接收模块301在USB设备上电后接收到的主机下发的第一条命令为设置地址命令,则标识主机操作系统的版本为第一预设版本;
第四标识模块306,用于在第一标识模块303标识主机操作系统的类型为MacOS系统之后,若接收模块301在USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令,则标识主机操作系统的版本为第二预设版本。
具体地,本实施例所述的USB设备,还包括:第五标识模块,用于USB设备上电后,标识主机操作系统的类型为未知;相应地:
第一标识模块303具体包括:
第一判断单元,用于当接收模块301接收到主机下发的获取字符串描述符命令时,判断主机操作系统的类型是否为未知;
第一标识单元,用于当第一判断单元判断主机操作系统的类型为未知时,标识主机操作系统的类型为MacOS系统;
第二标识模块304具体包括:
第二判断单元,用于当接收模块301接收到主机下发的获取配置描述符命令时,判断主机操作系统的类型是否为未知;
第二标识单元,用于当第二判断单元判断主机操作系统的类型为未知时,标识主机操作系统的类型为非MacOS系统。
进一步地,USB设备中还包括:设置模块,用于当接收模块301在USB设备上电后接收到的主机下发的第一条命令为设置地址命令时,设置版本标识为第一预设值;当接收模块301在USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令时,设置版本标识为第二预设值;相应地,第一标识单元还用于:检查版本标识,若版本标识为第一预设值,则标识主机操作系统的版本为第一预设版本,若版本标识为第二预设值,则标识主机操作系统的版本为第二预设版本。
或者,本实施例所述的USB设备,还包括:复位模块,用于USB设备上电后,复位第一接收标志和第二接收标志;相应地:
第一标识模块303具体包括:
第一判断单元,用于当接收模块301接收到主机下发的获取字符串描述符命令时,置位第一接收标志,判断第二接收标志是否被置位;
第一标识单元,用于当第一判断单元判断第二接收标志未被置位时,标识主机操作系统的类型为MacOS系统;
第二标识模块304具体包括:
第二判断单元,用于当接收模块301接收到主机下发的获取配置描述符命令时,置位第二接收标志,判断第一接收标志是否被置位;
第二标识单元,用于当第二判断单元判断第一接收标志未被置位时,标识主机操作系统的类型为非MacOS系统。
具体地,本实施例中,发送模块302可以具体用于:当接收模块301接收到主机下发的获取配置描述符命令时,判断主机操作系统的类型,若为MacOS系统则向主机发送预设配置描述符和第一预设接口描述符,若为非MacOS系统则向主机发送预设配置描述符和不同于第一预设描述符的第二预设接口描述符。
或者,发送模块302具体用于:当接收模块301接收到主机下发的获取配置描述符命令时,向主机发送预设配置描述符和第三预设接口描述符;
进一步地,接收模块301还用于:接收主机下发的APDU命令;USB设备中还包括:执行模块,用于当接收模块301接收到主机下发的APDU命令时,执行接收模块301接收到的APDU命令,根据执行结果组织应答数据,判断应答数据的长度是否超过与主机操作系统的类型对应的预设最大包长度,是则将应答数据按照所述预设最大包长度分包发送到主机,否则将应答数据发送到主机。
实施例4
本实施例提供一种USB设备识别MacOS系统的方法,包括:
步骤B1、USB设备上电;
步骤B2、所述USB设备等待接收主机下发的命令;
当接收到主机下发的获取字符串描述符命令时,向主机发送相应的字符串描述符;
所述方法还包括:当所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
进一步地,本实施例中:
所述步骤B1中还包括:所述USB设备标识主机操作系统的类型为未知;
所述当所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统,具体包括:
步骤1-1、当所述USB设备接收到主机下发的获取字符串描述符命令时,检查主机操作系统的类型是否为未知,是则执行步骤1-2,否则向主机发送相应的字符串描述符;
步骤1-2、所述USB设备判断获取字符串描述符命令中的获取长度是否为预设字节数,是则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
或者,所述步骤B1中还包括:所述USB设备复位接收标志;
所述当所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统,具体包括:
步骤2-1、当所述USB设备接收到主机下发的获取字符串描述符命令时,检查所述接收标志,若所述接收标志未被置位则置位所述接收标志,执行步骤2-2;
步骤2-2、所述USB设备判断获取字符串描述符命令中的获取长度是否为预设字节数,是则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
进一步地,本实施例中,标识主机操作系统的类型为MacOS系统之后还包括:若所述USB设备上电后接收到主机下发的第一条命令为设置地址命令,则标识主机操作系统的版本为第一预设版本,若所述USB设备上电后接收到主机下发的第一条命令为获取设备描述符命令,则标识主机操作系统的版本为第二预设版本。
实施例5
本实施例提供一种USB设备识别MacOS系统的方法,如图3所示,包括:
步骤201、USB设备上电;
步骤202、USB设备标识主机操作系统的类型为未知;
步骤203、USB设备接收主机下发的命令;
步骤204、USB设备判断接收到的命令的类型,若为获取字符串描述符命令则执行步骤206,否则执行步骤205;
步骤205、USB设备根据接收到的命令执行相应操作,返回步骤203;
优选地,USB设备可以根据主机操作系统的类型,执行与接收到的命令相应的操作。
步骤206、USB设备判断主机操作系统的类型是否为未知,是则执行步骤207,否则执行步骤210;
步骤207、USB设备判断获取字符串描述符命令中的获取长度是否为预设字节数,是则执行步骤208,否则执行步骤209;
具体地,获取字符串描述符命令的第7个字节为获取长度,预设字节数为2个字节。
步骤208、USB设备标识主机操作系统的类型为MacOS系统,执行步骤210;
步骤209、USB设备标识主机操作系统的类型为非MacOS系统,执行步骤210;
步骤210、USB设备向主机发送相应的字符串描述符,返回步骤203。
进一步地,步骤204中还可以包括:若USB设备判断接收到的命令为获取配置描述符命令,则向主机发送相应的配置描述符和接口描述符,返回步骤203。
本实施例中,USB设备向主机发送相应的配置描述符和接口描述符可以具体包括:
步骤a、USB设备判断主机操作系统的类型,若为MacOS系统则执行步骤b,若为非MacOS系统则执行步骤c;
进一步地,若主机操作系统的类型为未知,则执行步骤b或执行步骤c;
步骤b、USB设备判断获取配置描述符命令中的获取长度是否大于配置描述符的长度,是则向主机发送预设配置描述符和第一预设接口描述符,否则向主机发送预设配置描述符的前N个字节,N等于所述获取长度;
优选地,配置描述符的长度为9个字节;
例如,获取长度为4个字节,则将预设配置描述符的前4个字节返回给主机。
步骤c、USB设备判断获取配置描述符命令中的获取长度是否大于配置描述符的长度,是则向主机发送预设配置描述符和第二预设接口描述符,否则向主机发送预设配置描述符的前N个字节,N等于所述获取长度;
例如,获取长度为9个字节,则将预设配置描述符返回给主机。
具体地,第一预设接口描述符不同于第二预设接口描述符;
优选地,第一预设接口描述符为智能卡类接口描述符,即第一预设接口描述符的bInterfaceClass域为0x0B;第二预设接口描述符为大数据存储类接口描述符,即第二预设接口描述符的bInterfaceClass域为0x08。
进一步地,当主机操作系统的类型为MacOS系统时,USB设备向主机发送相应的配置描述符和接口描述符时还可以包括USB设备向主机发送CCID类描述符;
更进一步地,当主机操作系统的类型为MacOS系统时,若第一预设接口描述符所描述的接口使用的端点不仅为端点0,则USB设备向主机发送相应的配置描述符和接口描述符时还包括USB设备向主机发送端点描述符;当USB设备判断主机操作系统的类型为非MacOS系统时,若第二预设接口描述符所描述的接口使用的端点不仅为端点0,则步骤USB设备向主机发送相应的配置描述符和接口描述符时还包括USB设备向主机发送端点描述符。
或者USB设备向主机发送相应的配置描述符和接口描述符具体包括:USB设备向主机发送预设配置描述符和第三预设接口描述符;优选地,第三预设接口描述符为智能卡类接口描述符,即第三预设接口描述符的bInterfaceClass域为0x0B,进一步地,USB设备向主机发送相应的配置描述符和接口描述符时还可以包括USB设备向主机发送CCID类描述符;更进一步地,当第三预设接口描述符所描述的接口使用的端点不仅为端点0时,USB设备向主机发送相应的配置描述符和接口描述符时还包括USB设备向主机发送端点描述符;;
相应地,步骤204中还包括:若USB设备判断接收到的命令为APDU命令,则执行所述APDU命令,根据执行结果组织应答数据,判断应答数据的长度是否超过与主机操作系统的类型对应的预设最大包长度,是则将应答数据按照所述预设最大包长度分包发送到主机,否则将应答数据发送到主机;具体地,当主机操作系统的类型为MacOS系统时,预设最大包长度为预设长度,例如261个字节,当主机操作系统的类型为非MacOS系统时,预设最大包长度等于USB设备的预设缓存的大小,例如1024字节。
本实施例的技术方案中,USB设备对主机下发的命令进行解析,并对USB设备当前对主机操作系统的类型的标识进行判断,根据主机下发的命令的类型、命令中的获取长度以及USB设备当前对主机操作系统类型的标识,确定主机操作系统的类型。
进一步地,本实施例中所述的方法中还可以包括:
当USB设备上电后接收到的主机下发的第一条命令为设置地址命令时,设置版本标识为第一预设值;
当USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令时,设置版本标识为第二预设值;
相应地,步骤208之后还包括:USB设备检查版本标识,若为第一预设值则标识主机操作系统的版本为第一预设版本,若为第二预设值则标识主机操作系统的版本为第二预设版本;
其中,版本标识的初始值为第一预设值和第二预设值之外的其他值;
本实施例中,例如,设置地址指令为0x 00 05 XX XX 00 00 00 00;获取设备描述符命令为0x 80 06 00 01 00 00 XX XX。
实施例6
本实施例提供一种USB设备,如图4所示,包括:
接收模块401,用于USB设备上电后,接收主机下发的获取字符串描述符命令;
发送模块402,用于在接收模块401接收到主机下发的获取字符串描述符命令后,向主机发送相应的字符串描述符;
第一标识模块403,用于当接收模块401在USB设备上电后首次接收到获取字符串描述符命令时,若获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
进一步地,本实施例所述的USB设备中还可以包括:
第二标识模块404,用于在第一标识模块403标识主机操作系统的类型为MacOS系统之后,若接收模块401在USB设备上电后接收到的主机下发的第一条命令为设置地址命令,则标识主机操作系统的版本为第一预设版本;
第三标识模块405,用于第一标识模块403标识主机操作系统的类型为MacOS系统之后,若接收模块401在USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令,则标识主机操作系统的版本为第二预设版本。
具体地,本实施例所述的USB设备,还包括:第四标识模块,用于在USB设备上电后,标识主机操作系统的类型为未知;相应地,第一标识模块403具体包括:
判断单元,用于当接收模块401接收到主机下发的获取字符串描述符命令时,判断主机操作系统的类型是否为未知;
标识单元,用于当判断单元判断主机操作系统的类型为未知时,判断接收模块401接收到的获取字符串描述符命令中的获取长度是否为预设字节数,是则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
进一步地,USB设备中还包括:设置模块,用于当接收模块401在USB设备上电后接收到的主机下发的第一条命令为设置地址命令时,设置版本标识为第一预设值;当接收模块401在USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令时,设置版本标识为第二预设值;相应地,标识单元还用于:检查版本标识,若版本标识为第一预设值,则标识主机操作系统的版本为第一预设版本,若版本标识为第二预设值,则标识主机操作系统的版本为第二预设版本。
或者,本实施例所述的USB设备,还包括:复位模块,用于USB设备上电后,复位接收标志;相应地,第一标识模块403具体包括:
判断单元,用于当接收模块401接收到主机下发的获取字符串描述符命令时,判断接收标志是否被置位;
标识单元,用于当判断单元判断接收标志未被置位时,判断接收模块401接收到的获取字符串描述符命令中的获取长度是否为预设字节数,是则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
本实施例中,接收模块401还用于:接收主机下发的获取配置描述符命令;相应地,发送模块402还用于:当接收模块401接收到主机下发的获取配置描述符命令时,向主机发送相应的配置描述符和接口描述符;
进一步地,发送模块402具体用于:当接收模块401接收到主机下发的获取配置描述符命令时,判断主机操作系统的类型,若为MacOS系统则向主机发送预设配置描述符和第一预设接口描述符,若为非MacOS系统则向主机发送预设配置描述符和不同于所述第一预设描述符的第二预设接口描述符;
或者,发送模块402具体用于:当接收模块401接收到主机下发的获取配置描述符命令时,向主机发送预设配置描述符和第三预设接口描述符;相应地,接收模块401还用于:接收主机下发的APDU命令;USB设备还包括:执行模块,用于当接收模块401接收到主机下发的APDU命令时,执行接收模块401接收到的APDU命令,根据执行结果组织应答数据,判断应答数据的长度是否超过与主机操作系统的类型对应的预设最大包长度,是则将应答数据按照预设最大包长度分包发送到主机,否则将应答数据发送到主机。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (16)

1.一种USB设备识别MacOS系统的方法,其特征在于,包括:
步骤B1、USB设备上电;
步骤B2、所述USB设备等待接收主机下发的命令;
当接收到主机下发的获取字符串描述符命令时,向主机发送相应的字符串描述符;
所述方法还包括:当所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统;
所述标识主机操作系统的类型为MacOS系统之后,若所述USB设备上电后接收到主机下发的第一条命令为设置地址命令,则标识主机操作系统的版本为第一预设版本,若所述USB设备上电后接收到主机下发的第一条命令为获取设备描述符命令,则标识主机操作系统的版本为第二预设版本。
2.如权利要求1所述的方法,其特征在于:
所述步骤B1中还包括:所述USB设备标识主机操作系统的类型为未知;
所述当所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统,具体包括:
步骤1-1、当所述USB设备接收到主机下发的获取字符串描述符命令时,检查主机操作系统的类型是否为未知,是则执行步骤1-2,否则向主机发送相应的字符串描述符;
步骤1-2、所述USB设备判断获取字符串描述符命令中的获取长度是否为预设字节数,是则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
3.如权利要求2所述的方法,其特征在于,还包括:
当所述USB设备上电后接收到的主机下发的第一条命令为设置地址命令时,设置版本标识为第一预设值;
当所述USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令时,设置版本标识为第二预设值;
所述标识主机操作系统的类型为MacOS系统之后还包括:所述USB设备检查所述版本标识,若所述版本标识为所述第一预设值则标识主机操作系统的版本为第一预设版本,若所述版本标识为所述第二预设值则标识主机操作系统的版本为第二预设版本。
4.如权利要求1所述的方法,其特征在于:
所述步骤B1中还包括:所述USB设备复位接收标志;
所述当所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统,具体包括:
步骤2-1、当所述USB设备接收到主机下发的获取字符串描述符命令时,检查所述接收标志是否已被置位,是则向主机发送相应的字符串描述符,否则执行步骤2-2;
步骤2-2、所述USB设备判断获取字符串描述符命令中的获取长度是否为预设字节数,是则标识主机操作系统为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
5.如权利要求1所述的方法,其特征在于,所述步骤B2中还包括:当所述USB设备接收到主机下发的获取配置描述符命令时,向主机发送相应的配置描述符和接口描述符。
6.如权利要求5所述的方法,其特征在于,所述向主机发送相应的配置描述符和接口描述符,具体包括:判断主机操作系统的类型,若为MacOS系统则向主机发送预设配置描述符和第一预设接口描述符,若为非MacOS系统则向主机发送预设配置描述符和第二预设接口描述符;所述第一预设接口描述符不同于所述第二预设接口描述符。
7.如权利要求5所述的方法,其特征在于,所述向主机返回相应的配置描述符和接口描述符,具体包括:向主机发送预设配置描述符和第三预设接口描述符。
8.如权利要求7所述的方法,其特征在于,所述步骤B2中还包括:当所述USB设备接收到主机下发的APDU命令时,执行所述APDU命令,根据执行结果组织应答数据,判断所述应答数据的长度是否超过与主机操作系统的类型对应的预设最大包长度,是则将所述应答数据按照所述预设最大包长度分包发送到主机,否则将所述应答数据发送到主机。
9.一种USB设备,其特征在于,包括:
接收模块,用于所述USB设备上电后,接收主机下发的获取字符串描述符命令;
发送模块,用于所述接收模块接收到主机下发的获取字符串描述符命令后,向主机发送相应的字符串描述符;
第一标识模块,用于当所述接收模块在所述USB设备上电后首次接收到获取字符串描述符命令时,若所述获取字符串描述符命令中的获取长度为预设字节数则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统;
第二标识模块,用于所述第一标识模块标识主机操作系统的类型为MacOS系统之后,若所述接收模块在所述USB设备上电后接收到的主机下发的第一条命令为设置地址命令,则标识主机操作系统的版本为第一预设版本;
第三标识模块,用于所述第一标识模块标识主机操作系统的类型为MacOS系统之后,若所述接收模块在所述USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令,则标识主机操作系统的版本为第二预设版本。
10.如权利要求9所述的USB设备,其特征在于,还包括:第四标识模块,用于所述USB设备上电后,标识主机操作系统的类型为未知;
所述第一标识模块具体包括:
判断单元,用于当所述接收模块接收到主机下发的获取字符串描述符命令时,判断主机操作系统的类型是否为未知;
标识单元,用于当所述判断单元判断主机操作系统的类型为未知时,判断所述接收模块接收到的获取字符串描述符命令中的获取长度是否为预设字节数,是则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
11.如权利要求10所述的USB设备,其特征在于,还包括:
设置模块,用于当所述接收模块在所述USB设备上电后接收到的主机下发的第一条命令为设置地址命令时,设置版本标识为第一预设值;当所述接收模块在所述USB设备上电后接收到的主机下发的第一条命令为获取设备描述符命令时,设置版本标识为第二预设值;
所述标识单元还用于:检查版本标识,若所述版本标识为所述第一预设值,则标识主机操作系统的版本为第一预设版本,若所述版本标识为所述第二预设值,则标识主机操作系统的版本为第二预设版本。
12.如权利要求9所述的USB设备,其特征在于,还包括:复位模块,用于所述USB设备上电后,复位接收标志;
所述第一标识模块具体包括:
判断单元,用于当所述接收模块接收到主机下发的获取字符串描述符命令时,判断所述接收标志是否被置位;
标识单元,用于当所述判断单元判断所述接收标志未被置位时,判断所述接收模块接收到的获取字符串描述符命令中的获取长度是否为预设字节数,是则标识主机操作系统的类型为MacOS系统,否则标识主机操作系统的类型为非MacOS系统。
13.如权利要求9所述的USB设备,其特征在于:
所述接收模块还用于:接收主机下发的获取配置描述符命令;
所述发送模块还用于:当所述接收模块接收到主机下发的获取配置描述符命令时,向主机发送相应的配置描述符和接口描述符。
14.如权利要求13所述的USB设备,其特征在于,所述发送模块具体用于:当所述接收模块接收到主机下发的获取配置描述符命令时,判断主机操作系统的类型,若为MacOS系统则向主机发送预设配置描述符和第一预设接口描述符,若为非MacOS系统则向主机发送预设配置描述符和不同于所述第一预设接口描述符的第二预设接口描述符。
15.如权利要求13所述的USB设备,其特征在于,所述发送模块具体用于:当所述接收模块接收到主机下发的获取配置描述符命令时,向主机发送预设配置描述符和第三预设接口描述符。
16.如权利要求15所述的USB设备,其特征在于:
所述接收模块还用于:接收主机下发的APDU命令;
所述USB设备还包括:执行模块,用于当所述接收模块接收到主机下发的APDU命令时,执行所述接收模块接收到的APDU命令,根据执行结果组织应答数据,判断所述应答数据的长度是否超过与主机操作系统的类型对应的预设最大包长度,是则将所述应答数据按照所述预设最大包长度分包发送到主机,否则将所述应答数据发送到主机。
CN201811305607.5A 2016-06-22 2016-06-22 一种USB设备及其识别MacOS系统的方法 Active CN109446120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811305607.5A CN109446120B (zh) 2016-06-22 2016-06-22 一种USB设备及其识别MacOS系统的方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811305607.5A CN109446120B (zh) 2016-06-22 2016-06-22 一种USB设备及其识别MacOS系统的方法
CN201610457589.7A CN106126446B (zh) 2016-06-22 2016-06-22 一种USB设备及其识别MacOS系统的方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201610457589.7A Division CN106126446B (zh) 2016-06-22 2016-06-22 一种USB设备及其识别MacOS系统的方法

Publications (2)

Publication Number Publication Date
CN109446120A CN109446120A (zh) 2019-03-08
CN109446120B true CN109446120B (zh) 2020-05-15

Family

ID=57269148

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811305607.5A Active CN109446120B (zh) 2016-06-22 2016-06-22 一种USB设备及其识别MacOS系统的方法
CN201610457589.7A Active CN106126446B (zh) 2016-06-22 2016-06-22 一种USB设备及其识别MacOS系统的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610457589.7A Active CN106126446B (zh) 2016-06-22 2016-06-22 一种USB设备及其识别MacOS系统的方法

Country Status (1)

Country Link
CN (2) CN109446120B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108629175B (zh) 2018-05-14 2020-07-17 深圳市江波龙电子股份有限公司 Usb大容量存储设备的访问控制方法及访问控制装置
CN109173239A (zh) * 2018-08-29 2019-01-11 深圳市七熊科技有限公司 游戏主机识别方法、装置、计算机设备及存储介质
CN112068893B (zh) * 2020-11-12 2021-03-16 飞天诚信科技股份有限公司 一种usb设备及其区分移动设备操作系统的方法
CN112100103B (zh) * 2020-11-19 2021-03-16 飞天诚信科技股份有限公司 一种基于苹果操作系统的通信方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916238A (zh) * 2010-08-26 2010-12-15 华为终端有限公司 数据卡识别操作系统的方法、装置及通信系统
CN101957807A (zh) * 2010-09-16 2011-01-26 北京飞天诚信科技有限公司 USB设备识别主机Windows操作系统版本类型的方法
CN102253904A (zh) * 2011-06-08 2011-11-23 广州视睿电子科技有限公司 一种usb设备识别计算机操作系统的方法及装置
CN103092799A (zh) * 2012-12-28 2013-05-08 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作系统的方法
CN104516842A (zh) * 2013-09-29 2015-04-15 中兴通讯股份有限公司 一种usb设备快速适配操作系统的方法及usb设备
CN105279110A (zh) * 2014-07-25 2016-01-27 中兴通讯股份有限公司 一种usb设备识别主机系统的方法及usb设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040203296A1 (en) * 2002-11-15 2004-10-14 Globespan Virata Inc. Method and system for attaching a USB network adapter supporting both RNDIS and non-RNDIS capable operating systems
CN102375786B (zh) * 2011-10-18 2014-09-10 中兴通讯股份有限公司 Usb设备自动识别操作系统的方法及系统
CN102890662B (zh) * 2012-10-19 2016-10-05 无锡海森诺科技有限公司 通过对usb hid设备进行二次枚举以识别主机操作系统的方法
US20180060260A1 (en) * 2016-08-24 2018-03-01 Prolific Technology Inc. Method and device capable of automatically identifying host operating systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916238A (zh) * 2010-08-26 2010-12-15 华为终端有限公司 数据卡识别操作系统的方法、装置及通信系统
CN101957807A (zh) * 2010-09-16 2011-01-26 北京飞天诚信科技有限公司 USB设备识别主机Windows操作系统版本类型的方法
CN102253904A (zh) * 2011-06-08 2011-11-23 广州视睿电子科技有限公司 一种usb设备识别计算机操作系统的方法及装置
CN103092799A (zh) * 2012-12-28 2013-05-08 飞天诚信科技股份有限公司 一种usb设备及其识别主机操作系统的方法
CN104516842A (zh) * 2013-09-29 2015-04-15 中兴通讯股份有限公司 一种usb设备快速适配操作系统的方法及usb设备
CN105279110A (zh) * 2014-07-25 2016-01-27 中兴通讯股份有限公司 一种usb设备识别主机系统的方法及usb设备

Also Published As

Publication number Publication date
CN106126446A (zh) 2016-11-16
CN109446120A (zh) 2019-03-08
CN106126446B (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109446120B (zh) 一种USB设备及其识别MacOS系统的方法
CN101957807B (zh) USB设备识别主机Windows操作系统版本类型的方法
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
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
US8166220B2 (en) Device for connection with a storage device and a host
US8898349B1 (en) IPMI over USB data transfer between host computer and baseboard management controller (BMC)
CN102375786B (zh) Usb设备自动识别操作系统的方法及系统
EP2990956B1 (en) Usb device and method thereof for automatically recognizing microsoft windowing operating system version
CN105279110B (zh) 一种usb设备识别主机系统的方法及usb设备
CN109144586A (zh) 一种驱动适配方法、装置、计算机设备及存储介质
US8327036B2 (en) Method of passing instructions between a host station and a portable electronic device, and device for implementation
US20070198753A1 (en) Method and protocol for transmitting extended commands to USB devices
WO2022100251A1 (zh) 一种usb设备及其区分移动设备操作系统的方法
US7930458B2 (en) USB memory card reader having memory card identification
US20100287309A1 (en) Data communication systems and bridges
EP2477120B1 (en) Method for processing device connection, combination device and host device
CN110187685A (zh) 一种数据传输方法、装置、电子设备及存储介质
KR101570662B1 (ko) 비휘발성 메모리 저장 장치와 통신하기 위한 방법과 시스템
CN108257333B (zh) 一种税控设备与Android平台进行通讯的方法和系统
TWI416133B (zh) 讀卡器測試治具及讀卡器測試方法
CN104778062A (zh) 星上可擦写芯片地面烧写的硬件结构及其应用方法
CN115543755A (zh) 一种性能监管方法、装置、系统、设备和介质
CN108733519A (zh) 一种usb设备的配置方法及主机

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant