CN102737003B - 一种模拟usb设备的方法及装置 - Google Patents
一种模拟usb设备的方法及装置 Download PDFInfo
- Publication number
- CN102737003B CN102737003B CN201110082228.6A CN201110082228A CN102737003B CN 102737003 B CN102737003 B CN 102737003B CN 201110082228 A CN201110082228 A CN 201110082228A CN 102737003 B CN102737003 B CN 102737003B
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- usb
- end side
- descriptor
- interface
- 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.)
- Expired - Fee Related
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/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
- G06F13/107—Terminal emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal 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设备的方法,用于实现对复合USB设备的模拟。所述方法包括:终端侧通过USB接口接收个人计算机PC侧发送的USB设备枚举指令;终端侧根据USB设备枚举指令查询本地的设备描述符和配置描述符,其中,设备描述符和配置描述符是依据蓝牙特征设置的;终端侧通过USB接口向PC侧返回查询到的设备描述符和配置描述符。本发明还公开了用于实现所述方法的装置。
Description
技术领域
本发明涉及通信及计算机领域,特别是涉及模拟USB设备的方法及装置。
背景技术
随着无线通信技术的高速发展,第三代无线通信网络技术的逐渐普及,移动终端所提供的功能越来越多样化。移动终端一般采用USB(Universal SerialBus,通用串行总线)复合设备实现功能接口。所谓USB复合设备是指在一个USB主设备下挂有多个USB子设备,每个USB子设备使用几个USB端点分别与PC(个人计算机)侧进行通信。通常这些USB子设备包括Modem(调制解调)设备、多个虚拟串口和NDIS(网络设备接口规范)网卡设备。
然而,USB端点属于硬件资源,其个数是有限的。USB协议规定了一个USB控制器最多有一个双向控制端点和15对数据传输端点。且一般的USB设备控制器由于成本上的原因,所实现的USB端点都比最多端点数少很多。因此硬件资源的限制造成了USB复合设备子设备个数的限制,无法进一步扩展USB子设备个数和增加USB子设备的功能。
另外,USB复合设备在PC侧的驱动程序非常复杂,且主流的操作系统对其支持并不好。一般来说USB复合设备及其子设备驱动程序均需要USB设备的提供者自行开发。USB设备驱动的开发复杂,成本较高,延长了产品的开发周期。
发明内容
本发明实施例提供一种模拟USB设备的方法及装置,用于实现对USB复合设备的模拟。
一种模拟USB设备的方法,应用于终端侧,包括以下步骤:
终端侧通过USB接口接收个人计算机PC侧发送的USB设备枚举指令;
终端侧根据USB设备枚举指令查询本地的设备描述符和配置描述符,其中,设备描述符和配置描述符是依据蓝牙特征设置的;
终端侧通过USB接口向PC侧返回查询到的设备描述符和配置描述符。
一种模拟USB设备的方法,应用于PC侧,包括以下步骤:
PC侧向终端侧发送USB设备枚举指令;
PC侧接收USB设备返回的设备描述符和配置描述符;
PC侧通过设备描述符和配置描述符对虚拟蓝牙控制器进行枚举和识别。
一种终端设备,包括:
包括USB接口的接口模块,用于通过USB接口接收个人计算机PC侧发送的USB设备枚举指令;
虚拟蓝牙主机模块,用于根据USB设备枚举指令查询本地的设备描述符和配置描述符,其中,设备描述符和配置描述符是依据蓝牙特征设置的;以及,指示接口模块通过USB接口向PC侧返回查询到的设备描述符和配置描述符。
一种计算机设备,包括:
接口模块,用于向终端侧发送USB设备枚举指令;以及接收USB设备返回的设备描述符和配置描述符;
蓝牙控制模块,用于通过设备描述符和配置描述符对虚拟蓝牙控制器进行枚举和识别。
本发明实施例中预先依据蓝牙特征对设备描述符和配置描述符进行设置,使得PC(个人计算机)侧在需要对USB设备进行枚举时,将USB设备识别为蓝牙设备,并对蓝牙设备进行枚举。从而实现了用蓝牙设备模拟USB设备,因此在后续通信时可依据蓝牙协议,不受USB端点个数的限制,可支持更多的USB子设备。并且,由于是采用蓝牙协议通信,所以加载的是蓝牙驱动,不需要加载USB驱动,避免了USB驱动所带来的问题。
附图说明
图1为本发明实施例中模拟USB设备在终端侧的主要方法流程图;
图2为本发明实施例中模拟USB设备在PC侧的主要方法流程图;
图3为本发明实施例中模拟USB设备的详细方法流程图;
图4为本发明实施例中蓝牙设备配对的方法流程图;
图5为本发明实施例中服务发现的方法流程图;
图6为本发明实施例中终端设备的主要结构图;
图7为本发明实施例中终端设备的详细结构图
图8为本发明实施例中个人计算机的结构图;
图9为本发明实施例中虚拟蓝牙控制器模块的结构图示意图。
具体实施方式
本发明实施例中预先依据蓝牙特征对设备描述符和配置描述符进行设置,使得PC(个人计算机)侧在需要对USB设备进行枚举时,将USB设备识别为蓝牙设备,并对蓝牙设备进行枚举。从而实现了用蓝牙设备模拟USB设备,因此在后续通信时可依据蓝牙协议,不受USB端点个数的限制,可支持更多的USB子设备。并且,由于是采用蓝牙协议通信,所以加载的是蓝牙驱动,不需要加载USB驱动,避免了USB驱动所带来的问题。
参见图1,本实施例中模拟USB设备在终端侧的主要方法流程如下:
终端侧通过USB接口与PC侧连接后执行下面的过程。
步骤101:终端侧通过USB接口接收个人计算机PC侧发送的USB设备枚举指令。
步骤102:终端侧根据USB设备枚举指令查询本地的设备描述符和配置描述符。其中,设备描述符和配置描述符是依据蓝牙特征设置的。设备描述符和配置描述符的取值预先配置在终端侧中。
步骤103:终端侧通过USB接口向PC侧返回查询到的设备描述符和配置描述符。
终端侧将设备描述符和配置描述符发给PC侧后,PC侧便可将其识别成蓝牙设备,后续便可通过蓝牙协议进行通信,实现对USB设备的模拟。
参见图2,本实施例中模拟USB设备在PC侧的主要方法流程如下:
步骤201:PC侧向终端侧发送USB设备枚举指令。
步骤202:PC侧接收USB设备返回的设备描述符和配置描述符。
步骤203:PC侧通过设备描述符和配置描述符对虚拟蓝牙控制器进行枚举和识别。
现有技术中终端与PC是通过蓝牙硬件设备通信,本实施例中是为了通过蓝牙来模拟USB设备,因此虚拟蓝牙控制器等虚拟出的与蓝牙有关的设备均由软件实现。
参见图3,本实施例中模拟USB设备的详细方法流程如下:
PC侧获得USB接口的连接触发后开始下面的步骤。
步骤301:PC侧通过USB接口向终端侧发送USB设备枚举指令。
步骤302:终端侧通过USB接口接收PC侧发送的USB类型的USB设备枚举指令。
步骤303:终端侧依据蓝牙协议返回蓝牙控制器类USB设备的枚举数据。
步骤304:终端侧根据USB设备枚举指令查询本地的设备描述符和配置描述符。其中,设备描述符和配置描述符是依据蓝牙特征设置的。
步骤305:终端侧依据USB协议将查询到的蓝牙类型的设备描述符和配置描述符转换为USB类型的设备描述符和配置描述符。本实施例中配置描述符包括字符串描述符、接口描述符和端点描述符。例如,将设备描述符中的设备类字段(bDeviceClass)设置为0xE0,其含义为无线控制器设备类;设备子类字段(bDeviceSubClass)设置为0x01,其含义为蓝牙、UWB、Rmote RNDIS或者蓝牙AMP控制器子类;设备协议字段(bDeviceProtocol)设置为0x01,其含义为蓝牙控制器接口协议。将配置描述下的接口描述符中的接口类字段(bInterfaceClass)设置为0xE0,其含义为无线控制器设备类;接口子类字段(bInterfaceSubClass)设置为0x01,其含义为蓝牙、UWB、Rmote RNDIS或者蓝牙AMP控制器子类;接口协议字段(bInterfaceProtocol)设置为0x01,其含义为蓝牙控制器接口协议。
步骤306:终端侧通过USB接口向PC侧返回USB类型的设备描述符和配置描述符。
步骤307:PC侧通过解析设备描述符和配置描述符获知终端侧为蓝牙设备,并对虚拟蓝牙控制器进行枚举和识别。PC侧还可以为该设备安装蓝牙控制器设备驱动。
PC侧识别出蓝牙设备后,便可以通过蓝牙协议与终端侧通信,后续还需要进行蓝牙设备的配对和服务发现过程,参见下面的流程。
步骤308:PC侧向终端侧发送配对请求,并与终端侧完成配对过程。
步骤309:PC侧向终端侧发送服务发现请求。
步骤310:终端侧返回虚拟蓝牙主机支持的蓝牙规范标识。蓝牙规范至少包括DUN(拨号网络)、串口和PAN(个人局域网)功能之一。
步骤311:PC侧根据DUN、串口和PAN功能标识进行功能枚举。即,PC侧根据DUN标识、串口标识和PAN功能标识枚举出Modem口、虚拟串口和NDIS网卡设备等USB子设备。
PC通过配对过程可获得终端侧内虚拟蓝牙主机的详细信息,以及通过服务发现过程枚举出USB子设备。下面针对这两个过程进行详细介绍。
参见图4,本实施例中蓝牙设备配对的方法流程如下:
步骤401:PC侧通过HCI(Host Controller Interface,主机控制器接口)命令向终端侧发送Inquiry Scan(查询扫描)命令。PC侧以广播方式发送InquiryScan命令,以扫描附近的蓝牙主机,但本实施例中终端侧是通过USB接口与PC侧连接的,因此终端侧通过USB接口接收Inquiry Scan命令。
步骤402:终端侧向PC侧返回携带有虚拟蓝牙主机的媒体接入控制(MAC)地址的Inquiry Result HCI(查询结果HCI)事件。由于终端侧中的蓝牙主机是由软件虚拟出的蓝牙主机,不存在蓝牙硬件设备,因此MAC地址可以是预先配置给终端的默认的MAC地址。
步骤403:终端侧向PC侧返回Inquiry Complete HCI(查询完成HCI)事件。
扫描过程结束。PC侧还可以进一步获得终端侧虚拟蓝牙主机的详细信息,参见下面的流程。
步骤404:PC侧发出Remote Name Request HCI(远程名称请求HCI)命令,请求终端侧返回蓝牙主机的详细信息。
步骤405:终端侧返回带有虚拟蓝牙主机详细信息的Remote Name RequestComplete HCI(远程名称请求完成HCI)事件。虚拟蓝牙主机详细信息包括主机名等信息。
出于安全考虑,PC侧还可以对终端侧的虚拟蓝牙主机进行认证,参见下面的流程。
步骤406:PC侧通过HCI命令发送配对认证密码。
步骤407:终端侧返回认证成功的HCI事件。
参见图5,本实施例中服务发现的方法流程如下:
步骤501:PC侧发出创建ACL(访问控制列表)数据连接请求。
步骤502:终端侧返回创建连接成功HCI事件,并返回新建ACL连接的句柄号。
步骤503:PC侧在ACL连接上发出请求查询设备功能的请求。
步骤504:终端侧在ACL连接上返回设备支持的功能的标识。功能包括DUN(拨号网络),串口功能和PAN(个人局域网)功能等。
步骤505:PC侧根据终端侧返回的功能标识枚举出USB子设备。如枚举出Modem口、虚拟串口和NDIS网卡设备等。
本实施例中ACL数据使用一个端点Bulk(主体)OUT和一个Bulk IN端点传输。HCI命令使用控制端点传输。HCI事件使用Interrupt IN(终端输入)端点传输。
通过以上描述了解了用蓝牙模拟USB设备的实现过程,该过程主要由终端设备和PC来实现,下面对这两个设备的内部结构和功能进行介绍。
参见图6,本实施例中终端设备包括:接口模块601和虚拟蓝牙主机模块602。
包括USB接口的接口模块601用于与PC侧进行各种数据、命令和事件的传输,如通过USB接口接收个人计算机PC侧发送的USB设备枚举指令。
虚拟蓝牙主机模块602用于根据USB设备枚举指令查询本地的设备描述符和配置描述符,其中,设备描述符和配置描述符是依据蓝牙特征设置的;以及,指示接口模块通过USB接口向PC侧返回查询到的设备描述符和配置描述符。虚拟蓝牙主机模块602还用于生成各种消息和事件等。
具体的,接口模块通过USB接口接收PC侧发送的USB类型的USB设备枚举指令。所述终端设备还包括:虚拟蓝牙控制器模块603,参见图7所示,虚拟蓝牙控制器模块603用于依据蓝牙协议返回蓝牙控制器类USB设备的枚举数据;以及,依据USB协议将查询到的蓝牙类型的设备描述符和配置描述符转换为USB类型的设备描述符和配置描述符。接口模块通过USB接口向PC侧返回USB类型的设备描述符和配置描述符。
接口模块601还用于接收PC侧发送的配对请求,并与PC侧完成配对过程。具体的,接口模块601通过HCI命令接收PC侧发送的查询扫描Inquiry Scan命令;向PC侧返回携带有虚拟蓝牙主机的媒体接入控制MAC地址的查询结果HCI Inquiry Result HCI事件;向PC侧返回查询完成HCI Inquiry CompleteHCI事件。
接口模块601还用于接收PC侧发送的服务发现请求,并返回虚拟蓝牙主机支持的DUN、串口和PAN功能标识。
本实施例中虚拟蓝牙主机模块602构成通信系统中的一个蓝牙主机。向终端设备的应用层提供Modem、串口和NIDS网卡数据传输接口。Modem和串口上的数据使用蓝牙的RFCOMM(线缆替代协议)协议实现复用,可以支持63个Modem口或者串口。NDIS网卡数据传输由蓝牙的BENP(BluetoothNetwork Encapsulation Protocol,蓝牙以太网封装协议)协议封装。所有的数据收发最终使用蓝牙L2CAP(Logical link control and adaptation protocol(逻辑链路控制及适配协议)协议封装在ACL数据帧中进行传输。
虚拟蓝牙控制器模块603通过设置USB设备描述符和USB配置描述符,使PC侧为USB设备安装蓝牙设备驱动程序。以及,虚拟蓝牙控制器模块603提供传输HCI命令、HCI事件及ACL数据包的接口。ACL数据使用一个端点Bulk OUT和一个Bulk IN端点传输。HCI命令使用控制端点传输。HCI事件使用Interrupt IN端点传输。
虚拟蓝牙控制器模块603的内部结构参见图9所示。HCI命令处理模块,完成接收PC侧蓝牙主机发出的HCI命令,执行后将命令的执行结果通过HCI事件返回给PC侧蓝牙主机。SDP协议模块,完成对PC侧蓝牙主机SDP协议请求的处理。串口/Modem应用接口,为无线终端的应用层提供访问串口及Modem。上层收发的数据首先通过RFCOMM协议模块对多个串口、Modem口的数据进行复用/解复用处理,然后发送到L2CAP协议实现模块,最后封装在ACL数据包中与PC侧端口进行通信。网卡应用接口,为无线终端的应用层提供收发以太网帧的接口。上层收发的以太网帧首先通过BENP协议模块对以太网帧处理后,发送到然后发送到L2CAP协议实现模块,最后封装在ACL数据包中与PC侧端口进行通信。
参见图8,本实施例中计算机设备包括:
接口模块801用于向终端侧发送USB设备枚举指令;以及接收USB设备返回的设备描述符和配置描述符。
蓝牙控制模块802用于通过设备描述符和配置描述符对虚拟蓝牙控制器进行枚举和识别。蓝牙控制模块802包括蓝牙主机驱动和蓝牙协议栈。
具体的,接口模块801包括USB接口,通过USB接口向终端侧发送USB设备枚举指令;以及,通过USB接口接收USB设备返回的设备描述符和配置描述符。蓝牙控制模块802通过解析设备描述符和配置描述符获知终端侧为蓝牙设备,并对虚拟蓝牙控制器进行枚举和识别。
接口模块801还用于向终端侧发送配对请求,并与终端侧完成配对过程。具体的,接口模块801通过HCI命令向终端侧发送Inquiry Scan命令;接收终端侧返回的携带有虚拟蓝牙主机的MAC地址的HCI Inquiry Result HCI事件;接收终端侧返回的HCI Inquiry Complete HCI事件。
接口模块801还用于向终端侧发送服务发现请求;接收终端侧返回的虚拟蓝牙主机支持的DUN、串口和PAN功能标识。蓝牙控制模块802还用于根据DUN、串口和PAN功能标识进行功能枚举。
本发明实施例中预先依据蓝牙特征对设备描述符和配置描述符进行设置,使得PC(个人计算机)侧在需要对USB设备进行枚举时,将USB设备识别为蓝牙设备,并对蓝牙设备进行枚举。从而实现了用蓝牙设备模拟USB设备,因此在后续通信时可依据蓝牙协议,不受USB端点个数的限制,可支持更多的USB子设备。并且,由于是采用蓝牙协议通信,所以加载的是蓝牙驱动,不需要加载USB驱动,避免了USB驱动所带来的问题。本发明实施例还提供了配对和服务发现的实现方案,实现从连接到服务传输的完整过程。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种模拟通用串行总线USB设备的方法,其特征在于,包括以下步骤:
终端侧通过USB接口接收个人计算机PC侧发送的USB类型的USB设备枚举指令;终端侧依据蓝牙协议返回蓝牙控制器类USB设备的枚举数据;
终端侧根据USB设备枚举指令查询本地的设备描述符和配置描述符,其中,设备描述符和配置描述符是依据蓝牙特征设置的;
终端侧依据USB协议将查询到的蓝牙类型的设备描述符和配置描述符转换为USB类型的设备描述符和配置描述符;
终端侧通过USB接口向PC侧返回查询到的设备描述符和配置描述符,通过蓝牙协议与PC侧进行通信。
2.如权利要求1所述的方法,其特征在于,还包括步骤:在所述终端侧通过USB接口向PC侧返回查询到的设备描述符合配置描述符之后,终端侧接收PC侧发送的配对请求,并与PC侧完成配对过程。
3.如权利要求2所述的方法,其特征在于,终端侧接收PC侧发送的配对请求,并与PC侧完成配对过程的步骤包括:
终端侧通过主机控制器接口HCI命令接收PC侧发送的查询扫描InquiryScan命令;
终端侧向PC侧返回携带有虚拟蓝牙主机的媒体接入控制MAC地址的查询结果HCI事件;
终端侧向PC侧返回查询完成HCI事件。
4.如权利要求2所述的方法,其特征在于,还包括步骤:在所述终端侧接收PC侧发送的配对请求,并与PC侧完成配对过程之后,终端侧接收PC侧发送的服务发现请求,并返回虚拟蓝牙主机支持的蓝牙规范标识。
5.一种模拟USB设备的方法,其特征在于,包括以下步骤:
PC侧通过USB接口向终端侧发送USB设备枚举指令;
PC侧通过USB接口接收USB设备返回的设备描述符和配置描述符;
PC侧通过解析设备描述符和配置描述符获知终端侧为蓝牙设备,并对虚拟蓝牙控制器进行枚举和识别,PC侧识别出蓝牙设备后,便可以通过蓝牙协议与终端侧通信。
6.如权利要求5所述的方法,其特征在于,还包括步骤:在所述PC侧通过USB接口接收USB设备返回的设备描述符和配置描述符之后,PC侧向终端侧发送配对请求,并与终端侧完成配对过程。
7.如权利要求6所述的方法,其特征在于,PC侧向终端侧发送配对请求,并与终端侧完成配对过程的步骤包括:
PC侧通过HCI命令向终端侧发送Inquiry Scan命令;
PC侧接收终端侧返回的携带有虚拟蓝牙主机的MAC地址的Inquiry ResultHCI事件;
PC侧接收终端侧返回的Inquiry Complete HCI事件。
8.如权利要求6所述的方法,其特征在于,还包括步骤:在所述PC侧向终端侧发送配对请求,并与终端侧完成配对过程之后,PC侧向终端侧发送服务发现请求;PC侧接收终端侧返回的虚拟蓝牙主机支持的蓝牙规范标识;PC侧根据蓝牙规范标识进行功能枚举。
9.一种终端设备,其特征在于,包括:
包括USB接口的接口模块,用于通过USB接口接收个人计算机PC侧发送的USB类型的USB设备枚举指令;以及,用于通过USB接口向PC侧返回USB类型的设备描述符和配置描述符;
虚拟蓝牙控制器模块,用于依据蓝牙协议返回蓝牙控制器类USB设备的枚举数据;以及,依据USB协议将查询到的蓝牙类型的设备描述符和配置描述符转换为USB类型的设备描述符和配置描述符;
虚拟蓝牙主机模块,用于根据USB设备枚举指令查询本地的设备描述符和配置描述符,其中,设备描述符和配置描述符是依据蓝牙特征设置的;以及,指示接口模块通过USB接口向PC侧返回查询到的设备描述符和配置描述符,通过蓝牙协议与PC侧进行通信。
10.如权利要求9所述的终端设备,其特征在于,接口模块还用于接收PC侧发送的配对请求,并与PC侧完成配对过程。
11.如权利要求10所述的终端设备,其特征在于,接口模块通过HCI命令接收PC侧发送的查询扫描Inquiry Scan命令;向PC侧返回携带有虚拟蓝牙主机的媒体接入控制MAC地址的查询结果HCI事件;向PC侧返回查询完成HCI事件。
12.如权利要求10所述的终端设备,其特征在于,接口模块还用于接收PC侧发送的服务发现请求,并返回虚拟蓝牙主机支持的蓝牙规范标识。
13.一种计算机设备,其特征在于,包括:
接口模块,包括USB接口,通过USB接口,用于通过USB接口向终端侧发送USB设备枚举指令;以及,通过USB接口接收USB设备返回的设备描述符和配置描述符;
蓝牙控制模块,用于通过解析设备描述符和配置描述符获知终端侧为蓝牙设备,并对虚拟蓝牙控制器进行枚举和识别,识别出蓝牙设备后,便可以通过蓝牙协议与终端侧通信。
14.如权利要求13所述的计算机设备,其特征在于,接口模块还用于向终端侧发送配对请求,并与终端侧完成配对过程。
15.如权利要求14所述的计算机设备,其特征在于,接口模块通过HCI命令向终端侧发送Inquiry Scan命令;接收终端侧返回的携带有虚拟蓝牙主机的MAC地址的Inquiry Result HCI事件;接收终端侧返回的Inquiry CompleteHCI事件。
16.如权利要求14所述的计算机设备,其特征在于,接口模块还用于向终端侧发送服务发现请求;接收终端侧返回的虚拟蓝牙主机支持的蓝牙规范标识;
蓝牙控制模块还用于根据DUN、串口和PAN功能标识进行功能枚举。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110082228.6A CN102737003B (zh) | 2011-04-01 | 2011-04-01 | 一种模拟usb设备的方法及装置 |
PCT/CN2011/075829 WO2012129848A1 (zh) | 2011-04-01 | 2011-06-16 | 一种模拟通用串行总线设备的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110082228.6A CN102737003B (zh) | 2011-04-01 | 2011-04-01 | 一种模拟usb设备的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102737003A CN102737003A (zh) | 2012-10-17 |
CN102737003B true CN102737003B (zh) | 2015-09-16 |
Family
ID=46929367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110082228.6A Expired - Fee Related CN102737003B (zh) | 2011-04-01 | 2011-04-01 | 一种模拟usb设备的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102737003B (zh) |
WO (1) | WO2012129848A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281542B (zh) * | 2014-09-26 | 2017-12-05 | 中兴通讯股份有限公司 | 多功能usb终端设备的适配方法、装置及系统 |
CN106452838A (zh) * | 2016-08-31 | 2017-02-22 | 广州视睿电子科技有限公司 | Usb设备模拟装置及方法 |
CN108337209B (zh) * | 2017-01-19 | 2021-05-04 | 深圳兆日科技股份有限公司 | 安全认证方法、装置以及对应的移动终端 |
CN111147476B (zh) * | 2019-12-23 | 2022-04-29 | 上海乐普云智科技股份有限公司 | 一种数据解析方法 |
CN114218138B (zh) * | 2021-11-30 | 2024-05-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种usb设备模拟装置及测试系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004660A (zh) * | 2006-11-30 | 2007-07-25 | 北京飞天诚信科技有限公司 | 一种实现通用串行总线复合设备的方法 |
CN200947207Y (zh) * | 2006-05-11 | 2007-09-12 | 北京飞天诚信科技有限公司 | 复合usb集线器设备 |
CN101170451A (zh) * | 2007-12-03 | 2008-04-30 | 华为技术有限公司 | 一种设备管理方法及一种设备代理系统 |
CN201490492U (zh) * | 2009-08-10 | 2010-05-26 | 上海通用汽车有限公司 | 车载数据传输设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW518502B (en) * | 2001-07-13 | 2003-01-21 | Prolific Technology Inc | USB compound device and the realization method thereof |
-
2011
- 2011-04-01 CN CN201110082228.6A patent/CN102737003B/zh not_active Expired - Fee Related
- 2011-06-16 WO PCT/CN2011/075829 patent/WO2012129848A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200947207Y (zh) * | 2006-05-11 | 2007-09-12 | 北京飞天诚信科技有限公司 | 复合usb集线器设备 |
CN101004660A (zh) * | 2006-11-30 | 2007-07-25 | 北京飞天诚信科技有限公司 | 一种实现通用串行总线复合设备的方法 |
CN101170451A (zh) * | 2007-12-03 | 2008-04-30 | 华为技术有限公司 | 一种设备管理方法及一种设备代理系统 |
CN201490492U (zh) * | 2009-08-10 | 2010-05-26 | 上海通用汽车有限公司 | 车载数据传输设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2012129848A1 (zh) | 2012-10-04 |
CN102737003A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9198040B2 (en) | Deploying wireless docking as a service | |
CN102737003B (zh) | 一种模拟usb设备的方法及装置 | |
US11972247B2 (en) | Software upgrading method, apparatus, and system | |
US7596353B2 (en) | Enhanced bluetooth communication system | |
US8798541B1 (en) | System and method for socket backed host controller interface emulation for virtual bluetooth adapter | |
CN103535054B (zh) | 客户端设备与无线外围单元之间的通信 | |
CN107926075B (zh) | 支持异构环境下的数据通信的系统和方法 | |
JP5624217B2 (ja) | 無線デバイスとの認証およびアソシエーションを行う方法および無線デバイス | |
CN103716903A (zh) | 支持Wi-Fi 直连的图像形成装置及其Wi-Fi 直连连接的方法 | |
RU2015111201A (ru) | Способ и устройства для спаривания внутри группы беспроводных устройств | |
CN104541487B (zh) | 用于多栈蓝牙控制器的方法和布置 | |
CN102325322A (zh) | 支持无线网络的多方式接入网关设备及认证方法 | |
CN102882871A (zh) | 一种移动终端usb虚拟化映射方法 | |
CN101109954A (zh) | 一种基于蓝牙通讯的燃料电池汽车整车控制器监控系统 | |
CN101340459A (zh) | 一种基于蓝牙的远端控制方法 | |
CN106844275A (zh) | 数据传输方法及装置 | |
CN103873592A (zh) | 一种数据传输方法及系统 | |
CN101770436A (zh) | 基于无线连接的pc侧软件实现方法和系统 | |
CN201210248Y (zh) | 一种基于蓝牙通讯的燃料电池汽车整车控制器监控装置 | |
CN101651473B (zh) | 通信装置,制造芯片的方法以及提供无线通信规范的方法 | |
CN102821086A (zh) | 数据传输方法、装置以及数据接收方法、装置 | |
KR100745694B1 (ko) | 복수의 무선 매체를 지원하기 위한 무선 usb호스트/장치 어댑터 및 그 방법 | |
KR100422069B1 (ko) | 무선통신을 이용한 교차 개발 장치 및 그 방법 | |
CN106339348A (zh) | 基于移动终端接口扩展的数据传输方法和装置 | |
WO2012129830A1 (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150916 Termination date: 20180401 |