Linux UAC2 功能的设备描述符

可能内核有所更新,描述符有些细节会不一样,但总体不会有太多区别,放在这里方便查询

UAC2 descriptor

Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x2207 
  idProduct          0x0019 
  bcdDevice            2.00
  iManufacturer           1 rockchip
  iProduct                2 USB Audio Device
  iSerial                 3 0123456789ABCDEF
  bNumConfigurations      1
  Configuration Descriptor:       //配置描述符,置描述符之后紧接着就是接口描述符,接口描述符指明了接口的类型,对应的端点的数量
    bLength                 9
    bDescriptorType         2
    wTotalLength          219
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          4 audio
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:     USB复合设备一般用Interface Association Descriptor(IAD)实现,就是在要合并的接口前加上IAD描述符
      bLength                 8   
      bDescriptorType        11               //IAD描述符类型
      bFirstInterface         0               //起始接口
      bInterfaceCount         3               //接口数
      bFunctionClass          1 Audio         //类型代码
      bFunctionSubClass       0               //子类型代码
      bFunctionProtocol      32               //协议代码
      iFunction               5 Source/Sink   //描述符字符串索引
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4               //描述符类型
      bInterfaceNumber        0               //接口数
      bAlternateSetting       0               //bAlternateSetting用于在同一个接口中的多个描述符中进行切换
      bNumEndpoints           0               //端点数
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol     32 
      iInterface              6 Topology Control
      AudioControl Interface Descriptor:      //音频设备接口标题中要包含类特定的AC接口头描述符,用于定义接口的其他功能端口。类特定的AC接口头描述符(AC接口头)
        bLength                 9
        bDescriptorType        36             //恒定配置法定类型 USB_DTYPE_CS_INTERFACE
        bDescriptorSubtype      1 (HEADER)    //数字AC接口头
        bcdADC               2.00             //数字音频设备发行码
        bCategory               8              
        wTotalLength           83             //数字连接长度总长度,包括标准接口长度
        bmControl            0x00
      AudioControl Interface Descriptor:          //音频设备频率描述/* Clock source for IN traffic */
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype     10 (CLOCK_SOURCE)
        bClockID                6                       //bClockID号
        bmAttributes         0x01 Internal fixed Clock 
        bmControls           0x01
          Clock Frequency Control (read-only)
        bAssocTerminal          0                       //恒定对应输出端口ID
        iClockSource            7 48000Hz 
      AudioControl Interface Descriptor:         //音频设备频率描述 Clock source for OUT traffic
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype     10 (CLOCK_SOURCE)
        bClockID                5                       //bClockID号
        bmAttributes         0x01 Internal fixed Clock 
        bmControls           0x01
          Clock Frequency Control (read-only)
        bAssocTerminal          0
        iClockSource            8 64000Hz
      AudioControl Interface Descriptor:            //音频设备的输入端口描述符,  Input Terminal for USB_OUT 
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL) 
        bTerminalID             1                   //端口号ID
        wTerminalType      0x0101 USB Streaming     
        bAssocTerminal          0                   //恒定对应输出端口ID
        bCSourceID              5
        bNrChannels             2                   //通道数
        bmChannelConfig   0x00000003                //数字通道配置
          Front Left (FL)
          Front Right (FR)
        bmControls    0x0003                         
          Copy Protect Control (read/write)
        iChannelNames           0 
        iTerminal               9 USBH Out
      AudioControl Interface Descriptor:            //Input Terminal for I/O-In
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bCSourceID              6
        bNrChannels             2
        bmChannelConfig   0x00000003
          Front Left (FL)
          Front Right (FR)
        bmControls    0x0003
          Copy Protect Control (read/write)
        iChannelNames           0 
        iTerminal              10 USBD Out
      AudioControl Interface Descriptor:            //Ouput Terminal for USB_IN
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             4
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               2
        bCSourceID              6
        bmControls         0x0003
          Copy Protect Control (read/write)
        iTerminal              11 USBH In
      AudioControl Interface Descriptor:           //Ouput Terminal for I/O-Out
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0301 Speaker
        bAssocTerminal          0
        bSourceID               1
        bCSourceID              5
        bmControls         0x0003
          Copy Protect Control (read/write)
        iTerminal              12 USBD In
    Interface Descriptor:                         //Audio Streaming OUT Interface - Alt0
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface             13 Playback Inactive
    Interface Descriptor:                        //Audio Streaming OUT Interface - Alt1
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface             14 Playback Active
      AudioStreaming Interface Descriptor:      //Audio Stream OUT Intface Desc 
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           1
        bmControls           0x00
        bFormatType             1
        bmFormats         0x00000001
          PCM
        bNrChannels             2
        bmChannelConfig   0x00000003
          Front Left (FL)
          Front Right (FR)
        iChannelNames           0 
      AudioStreaming Interface Descriptor:      /* Audio USB_OUT Format */
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bSubslotSize            2
        bBitResolution         16
      Endpoint Descriptor:                      /* STD AS ISO OUT Endpoint */
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x00  EP 2 OUT
        bmAttributes            9
          Transfer Type            Isochronous
          Synch Type               Adaptive
          Usage Type               Data
        wMaxPacketSize     0x0100  1x 256 bytes
        bInterval               1
        AudioControl Endpoint Descriptor:       /* CS AS ISO OUT Endpoint */
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         0 Undefined
          wLockDelay              0
    Interface Descriptor:                       /* Audio Streaming IN Interface - Alt0 */
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface             15 Capture Inactive
    Interface Descriptor:                       /* Audio Streaming IN Interface - Alt1 */
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface             16 Capture Active
      AudioStreaming Interface Descriptor:      /* Audio Stream IN Intface Desc */
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           4
        bmControls           0x00
        bFormatType             1
        bmFormats         0x00000001
          PCM
        bNrChannels             2
        bmChannelConfig   0x00000003
          Front Left (FL)
          Front Right (FR)
        iChannelNames           0 
      AudioStreaming Interface Descriptor:    /* Audio USB_IN Format */
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bSubslotSize            2
        bBitResolution         16
      Endpoint Descriptor:                    /* STD AS ISO IN Endpoint */
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x80  EP 1 IN
        bmAttributes           13
          Transfer Type            Isochronous
          Synch Type               Synchronous
          Usage Type               Data
        wMaxPacketSize     0x00c0  1x 192 bytes
        bInterval               1
        AudioControl Endpoint Descriptor:     /* CS AS ISO IN Endpoint */
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         0 Undefined
          wLockDelay              0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

你可能感兴趣的:(Linux UAC2 功能的设备描述符)