USB的VID和PID,以及分类(Class,SubClass,Protocol)

原文地址:http://blog.csdn.net/gaojinshan/article/details/7878330

USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)。VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请。每个供应商的VID是唯一的,PID由供应商自行决定。主机通过VID和PID来识别不同设备,根据它们(以及设备的版本号),可以给设备加载或安装相应的驱动程序。VID和PID的长度都是两个字节的。

常见的各大供应商的VID和PID,可以在这里查询到:http://www.linux-usb.org/usb.ids

USB定义了种类代码信息,它被用来识别设备的功能,根据这些功能,以加载设备驱动。这种信息包含在名为基类,子类和协议的3个字节里(注意:“基类”在本文中,用来标识三个字节的种类代码的的首字节;在USB规范中没有使用这个术语)。设备中有两个地方可以存放种类代码信息,一个是设备描述符,另一个是接口描述符。已经定义的种类代码,有些只能用在设备描述符里,有些只能用在接口描述符里,有些两种描述符里都可用。下表给出现在已经定了的基类的值的集合,通常用法是什么,基类用在什么场合(设备描述符或接口描述符)。

其具体定义参见USB官方网址:http://www.usb.org/developers/defined_class

各种类的定义参见:http://www.usb.org/developers/devclass_docs

Base Class Descriptor Usage Description
00H Device Use class information in the Interface Descriptors 种类信息定义在接口描述符中
01H Interface Audio 音频设备
02H Both Communications & CDC 通信设备(手机,Class_02&SubClass_02&Prot_01)
03H Interface HID (Human Interface Device) 人机接口设备
05H Interface Physical 物理设备
06H Interface Image 图像设备(可能是IPhone手机,Class_06&SubClass_01&Prot_01
07H Interface Printer 打印机
08H Interface Mass Storage 大容量存储(可能是手机,Class_08&SubClass_06&Prot_50)
09H Device Hub 集线器
0AH Interface CDC-Data 通信设备(手机,Class_0A&SubClass_00&Prot_00)
0BH Interface Smart Card 智能卡
0DH Interface Content Security 内容安全设备
0EH Interface Video 视频设备(摄像头,Class_0e&SubClass_03&Prot_00)
0FH Interface Personal Healthcare 个人健康设备
10H Interface Audio/Video Devices 音频/视频设备
DCH Both Diagnostic Device 诊断设备(USB2兼容设备)
E0H Interface Wireless Controller 无线控制器(蓝牙设备等)
EFH Both Miscellaneous 杂项(ActiveSync,PalmSync,各种协会等)
FEH Interface Application Specific 应用专有规范(固件升级,红外,USB测试与测量等)
FFH Both Vendor Specific 供应商自定义规范(手机,Class_FF&SubClass_FF&Prot_FF)

(转)USB的VID和PID,以及分类(Class,SubClass,Protocol)的更多相关文章

  1. 去确认CP210x UART Bridge的USB的VID和PID

    [背景] 之前买的USB口的HART猫: [记录]为USB接口的HART猫ExSaf ESH232U安装对应的USB转RS232驱动 其中内部是USB转RS232. 然后打算去看看之前的自己此处的某个 ...

  2. USB的VID和PID,以及分类(Class,SubClass,Protocol)

    USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码).VID由供应商向U ...

  3. 浅谈USB设备的VID和PID

    根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向U ...

  4. 通过串口设备vid,pid自动获得该设备所对应的串口号

    用C#做串口通讯很方便,因为dotfx2.0已经集成了Serial Port控件,此控件使用上比MSComm控件更简单,当然它也有一个小bug (RecievedBytesThreshold设置有时候 ...

  5. VID和PID

    今天很在一份datasheet上突然看到 VID 和 PID 很奇怪!!还不是很懂!!! 参考:https://blog.csdn.net/gaojinshan/article/details/787 ...

  6. 获取输入设备的vid和pid

    一.获取/dev/input/event16设备的vid和pid testhid.c #include <linux/types.h> #include <linux/input.h ...

  7. Linux下查看USB设备的VID、PID命令

    Linux下查看PID命令 cat /proc/bus/usb/devices 或 lsusb 方法一:在/etc/init.d/rcS中添加mount -t usbfs none /proc/bus ...

  8. USB的包结构及包分类

    USB的传输总是低位在前,高位在后. USB的传输方向:从设备到主机的数据为输入:从主机到设备的数据叫做输出. 1. 包结构 以同步域开始,紧跟着一个包标识符PID(Packet Identifier ...

  9. 如何查看U盘的VID和PID

    1.将USB插入电脑 2.右键单击[此电脑],选择[管理] 3.在弹出的对话框中选择[设备管理器],选择[USB大容量存储设备] 4.右键单击[USB大容量存储设备],选择[属性],在弹出的对话框中选 ...

随机推荐

  1. [LC] 253. Meeting Rooms II

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  2. Android开发之《安全防护》

    逆向 java混淆 so加固 网络传输安全

  3. spring+mybatis+shiro入门实例

    sql: 1 /* 2 SQLyog Ultimate v11.33 (64 bit) 3 MySQL - 5.1.49-community : Database - db_shiro 4 ***** ...

  4. mybatis generator 使用教程(生成带注释的实体类)

    引言: 最近的一个项目,由于数据库表巨多,导致需要创建N多个java实体.dao.mapper.xml映射文件,如果均使用纯手工编写,无疑需要耗费大量时间和精力.于是上网学习了mybatis gene ...

  5. Java日期时间API系列12-----Jdk8中java.time包中的...

    package com.xkzhangsan.time.test; import java.time.LocalDateTime;import java.util.Date; import com.x ...

  6. Docker企业级镜像仓库harbor(vmware 中国团队)

    第一步:安装docker和docker-compose 第二步:下载harbor-offline-installer-v1.3.0.tgz 第三步:上传到/opt,并解压 第四步:修改harbor.c ...

  7. Python实现线程交替打印字符串

    import threading con = threading.Condition() word = u"12345上山打老虎" def work(): global word ...

  8. python中使用xlrd读excel使用xlwt写excel

    原文地址 :http://www.bugingcode.com/blog/python_xlrd_read_excel_xlwt_write_excel.html 在数据分析和运营的过程中,有非常多的 ...

  9. Java學習筆記(基本語法)

    本文件是以學習筆記的概念為基礎,用於自我的複習紀錄,不過也開放各位的概念指證.畢竟學習過程中難免會出現觀念錯誤的問題.也感謝各位的觀念指證. 安裝JDK 在Oracle網站中找自己系統的JDK下載位置 ...

  10. Mac 安装Android Studio 及环境变量配置

    我翻开历史一查,这历史没有年代.歪歪斜斜的每页上都写着"仁义道德"几个字,我横竖睡不着,仔细看了半夜,才从字缝里看出来,满本上都写着两个字"吃人"! –鲁迅&l ...