1. 程式人生 > 其它 >UAC例項分析-USB音響 Android USB之複合裝置(gadget)詳解

UAC例項分析-USB音響 Android USB之複合裝置(gadget)詳解

  在Android USB之複合裝置(gadget)詳解一篇中提到了USB Gadget UACUSB Audio Class)的使用。Rockchip 平臺可以支援 UAC1(相容 USB Audio Class specification 1.0)和 UAC2(相容 USB Audio Class specification 2.0)驅動,這兩個驅動都可以支援基礎的錄音和放音功能。
如果要支援音量調節/靜音功能,需要新增另外 HID 的控制。
一、某款
USB音箱 工作抓包分析(https://www.usbzh.com/article/detail-182.html):

(1)USB音響開啟

Length    Phase  Data                                         
-------- ----- ------------------------------ -------------- CTL 01 0b 01 00 01 00 00 00 SET INTERFACE CTL 22 01 00 01 02 00 03 00 SET CUR 3 OUT 80 bb 00 ...

第一行選擇介面(介面ID=1,轉換介面=1),使用該介面進行資料傳輸。
第二、三行是傳送特定類請求,向端點2(等時傳輸端點)傳送SET_CUR,設定取樣率SAMPLING_FREQ_CONTROL(0x0100)選擇子的請求,資料長度為3,附帶的資料為 80 bb 00,表示取樣率為48000。

    • 22 表示資料傳輸給端點.
    • 01 表示SET_CUR.
    • 00 01:即0x0100,表示選擇子SAMPLING_FREQ_CONTROL(0x00:EP_CONTROL_UNDEFINED    0x02:PITCH_CONTROL-高音控制開啟為TRUE(1),不開始為FALSE(0))
    • 02 00:低位元組表示傳輸的端點。
    • 03 00:表示附帶的資料長度為3位元組。

(2)USB音響關閉

  CTL    01 0b 00 00  01 00 00 00                         SET INTERFACE

關閉比較簡單,直接選擇轉換介面為0的介面即可.

(3)USB音響音量設定

   CTL    21 01 00 02  00
02 02 00 SET CUR 2 OUT 2a 80 *.

向特性單元2傳送特定類請求SET_CUR,選擇子VOLUME_CONTROL(0x0200)設定音量,資料長度為2。單位是DB.

(4)USB音響靜音

     CTL    21 01 00 01  00 02 01 00    SET CUR  
  1  OUT    01                          .

向特性單元2傳送特定類請求SET_CUR,選擇子MUTE_CONTROL(0x0100)設定靜音,資料長度為1,值為1 表示靜音。

靜音並不代表無資料,USB靜音時的資料:

 192  ISOC 
 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
1920  ISOC 
00 00 00 00  01 00 00 00  ff ff 00 00  00 00 ff ff  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
00 00 00 00  00 00 01 00  00 00 00 00  00 00 00 00  ff ff ff ff  00 00 ff ff  00 00 00 00  00 00 ff ff
00 00 00 00  00 00 00 00  01 00 01 00  ff ff 00 00  00 00 ff ff  ff ff 00 00  00 00 ff ff  00 00 00 00
ff ff 00 00  00 00 ff ff  01 00 ff ff  00 00 00 00  ff ff 00 00  00 00 00 00  00 00 00 00  00 00 00 00
01 00 00 00  00 00 ff ff  01 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 01 00
00 00 00 00  00 00 00 00  00 00 00 00  ff ff 00 00  00 00 ff ff  00 00 00 00  01 00 00 00  00 00 01 00
00 00 00 00  00 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00  01 00 ff ff  00 00 00 00  00 00 01 00
00 00 ff ff  00 00 00 00  00 00 00 00  00 00 ff ff  00 00 00 00  00 00 00 00  01 00 00 00  00 00 01 00
00 00 00 00  00 00 01 00  00 00 00 00  00 00 00 00  00 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00
00 00 01 00  00 00 00 00  00 00 00 00  ff ff 00 00  00 00 ff ff  ff ff 00 00  ff ff 00 00  00 00 01 00
01 00 02 00  00 00 01 00  00 00 00 00  01 00 00 00  01 00 00 00  00 00 01 00  00 00 01 00  00 00 00 00
01 00 01 00  00 00 00 00  00 00 00 00  00 00 ff ff  00 00 00 00  00 00 ff ff  00 00 00 00  00 00 00 00
00 00 00 00  00 00 01 00  01 00 01 00  01 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
00 00 00 00  00 00 00 00  01 00 00 00  00 00 00 00  ff ff 00 00  00 00 01 00  00 00 00 00  ff ff 01 00
00 00 00 00  00 00 01 00  ff ff 00 00  00 00 ff ff  00 00 00 00  00 00 01 00  00 00 01 00  00 00 00 00
00 00 00 00  00 00 00 00  ff ff 01 00  01 00 01 00  00 00 01 00  ff ff 00 00  ff ff 00 00  00 00 00 00
00 00 01 00  00 00 01 00  00 00 00 00  ff ff 00 00  ff ff 01 00  00 00 01 00  00 00 00 00  00 00 01 00
00 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 01 00  00 00 02 00  00 00 00 00  00 00 00 00
00 00 ff ff  00 00 00 00  ff ff 01 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 02 00
01 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00  ff ff 00 00  00 00 00 00  00 00 00 00  00 00 ff ff
ff ff 00 00  00 00 00 00  00 00 00 00  01 00 00 00  01 00 ff ff  00 00 00 00  ff ff 00 00  00 00 00 00
01 00 00 00  00 00 00 00  00 00 01 00  00 00 02 00  01 00 01 00  01 00 01 00  00 00 00 00  ff ff ff ff
00 00 00 00  00 00 01 00  01 00 01 00  ff ff 00 00  00 00 00 00  00 00 01 00  00 00 00 00  00 00 01 00
00 00 00 00  00 00 00 00  00 00 00 00  00 00 01 00  00 00 01 00  00 00 00 00  00 00 00 00  01 00 00 00
00 00 00 00  00 00 00 00  00 00 00 00  00 00 01 00  00 00 00 00  00 00 00 00  ff ff ff ff  00 00 00 00
00 00 01 00  00 00 01 00  ff ff 01 00  ff ff 00 00  ff ff 00 00  00 00 00 00  00 00 00 00  01 00 01 00
00 00 00 00  00 00 00 00  ff ff 00 00  ff ff 00 00  00 00 00 00  00 00 00 00  01 00 00 00  00 00 ff ff
01 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 ff ff  01 00 00 00  00 00 ff ff
00 00 00 00  00 00 01 00  00 00 ff ff  00 00 00 00  00 00 00 00  00 00 00 00  00 00 01 00  ff ff 00 00
ff ff ff ff  ff ff ff ff  00 00 00 00  00 00 01 00  00 00 00 00  00 00 00 00  00 00 01 00  00 00 ff ff
ff ff 00 00  00 00 00 00  00 00 ff ff  00 00 ff ff  ff ff 00 00  ff ff 00 00  00 00 00 00  00 00 ff ff
01 00 00 00  01 00 00 00  01 00 01 00  00 00 ff ff  00 00 00 00  01 00 ff ff  01 00 ff ff  02 00 01 00

二、綠聯USB音效卡音量設定抓包分析

 UAC複合裝置(麥克風,揚聲器,HID裝置)在裝置管理器中如下圖所示:

 在BUSHOUND下如下圖所示:

 USB輸入裝置用於音訊的控制,使用的是HID方式,其抓包內容如下:

Bus Hound 6.00 capture on Windows Vista (x64). Complements of www.perisoft.net

1

  Device - Device ID (followed by the endpoint for USB devices)
            (72) USB Audio Device
  Phase  - Phase Type
            CTL   USB control transfer       
            ISOC  Isochronous transfer       
            OUT   Data out transfer          
            RESET bus reset                  
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data


Device  Phase  Data                                                                                                    Description                       Cmd.Phase.Ofs(rep)
------  -----  ------------------------------------------------------------------------------------------------------  --------------------------------  ------------------
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                  1.1.0        
  72.0  OUT    ff f6                                                                                                   ..                                       1.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                  2.1.0        
  72.0  OUT    ff f6                                                                                                   ..                                       2.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                  3.1.0        
  72.0  OUT    3f f7                                                                                                   ?.                                       3.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                  4.1.0        
  72.0  OUT    3f f7                                                                                                   ?.                                       4.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                  5.1.0        
  72.0  OUT    7d f7                                                                                                   ..                                       5.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                  6.1.0        
  72.0  OUT    7d f7                                                                                                   ..                                       6.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                  7.1.0        
  72.0  OUT    bb f7                                                                                                   ..                                       7.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                  8.1.0        
  72.0  OUT    bb f7                                                                                                   ..                                       8.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                  9.1.0        
  72.0  OUT    f8 f7                                                                                                   ..                                       9.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                 10.1.0        
  72.0  OUT    f8 f7                                                                                                   ..                                      10.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                 11.1.0        
  72.0  OUT    33 f8                                                                                                   3.                                      11.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                 12.1.0        
  72.0  OUT    33 f8                                                                                                   3.                                      12.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                 13.1.0        
  72.0  OUT    6e f8                                                                                                   n.                                      13.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                 14.1.0        
  72.0  OUT    6e f8                                                                                                   n.                                      14.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                 15.1.0        
  72.0  OUT    a8 f8                                                                                                   ..                                      15.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                 16.1.0        
  72.0  OUT    a8 f8                                                                                                   ..                                      16.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                 17.1.0        
  72.0  OUT    e1 f8                                                                                                   ..                                      17.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                 18.1.0        
  72.0  OUT    e1 f8                                                                                                   ..                                      18.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                 19.1.0        
  72.0  OUT    1a f9                                                                                                   ..                                      19.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                 20.1.0        
  72.0  OUT    1a f9                                                                                                   ..                                      20.2.0        
  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                 21.1.0        
  72.0  OUT    51 f9                                                                                                   Q.                                      21.2.0        
  72.0  CTL    21 01 02 02  00 09 02 00                                                                                SET CUR                                 22.1.0        
  72.0  OUT    51 f9                                                                                                   Q.                                      22.2.0        
  72.1  RESET                                                                                                                                                  23.1.0        
  72.1  ISOC   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................................        24.1.0(2)     
  72.1  ISOC   00 00 00 00  00 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  01 00 01 00  00 00 01 00  ................................        26.1.0        
  72.1  ISOC   93 f6 93 f6  b5 f6 b6 f6  db f6 db f6  02 f7 02 f7  2b f7 2c f7  58 f7 57 f7  87 f7 87 f7  b9 f7 b9 f7  ................+.,.X.W.........        27.1.0        
  72.1  ISOC   25 ec 25 ec  24 ec 23 ec  23 ec 22 ec  24 ec 24 ec  29 ec 28 ec  2e ec 2e ec  36 ec 37 ec  42 ec 41 ec  %.%.$.#.#.".$.$.).(.....6.7.B.A.        28.1.0        
  72.1  ISOC   64 ed 64 ed  4d ed 4c ed  39 ed 38 ed  26 ed 25 ed  13 ed 15 ed  05 ed 04 ed  f7 ec f7 ec  eb ec eb ec  d.d.M.L.9.8.&.%.................        29.1.0        
  72.1  ISOC   60 ef 61 ef  3b ef 3b ef  17 ef 17 ef  f4 ee f5 ee  d4 ee d4 ee  b5 ee b5 ee  98 ee 98 ee  7d ee 7d ee  `.a.;.;.........................        30.1.0        
  72.1  ISOC   36 f1 36 f1  ff f0 ff f0  cb f0 ca f0  97 f0 97 f0  66 f0 66 f0  37 f0 37 f0  08 f0 09 f0  dd ef dd ef  6.6.............f.f.7.7.........        31.1.0        
  72.1  ISOC   34 f4 35 f4  ec f3 eb f3  a6 f3 a6 f3  61 f3 62 f3  1f f3 1f f3  e0 f2 df f2  a1 f2 a1 f2  65 f2 65 f2  4.5.........a.b.............e.e.        32.1.0        
  72.1  ISOC   88 f7 87 f7  2f f7 2f f7  d8 f6 d8 f6  84 f6 83 f6  31 f6 32 f6  e0 f5 e0 f5  92 f5 91 f5  44 f5 44 f5  ...././.........1.2.........D.D.        33.1.0        
  72.1  ISOC   30 fb 30 fb  c8 fa c8 fa  63 fa 63 fa  ff f9 fe f9  9b f9 9c f9  3a f9 3a f9  db f8 da f8  7b f8 7b f8  0.0.....c.c.........:.:.........        34.1.0        
  72.1  ISOC   15 ff 15 ff  a8 fe a7 fe  3d fe 3c fe  d0 fd d0 fd  64 fd 65 fd  fb fc fb fc  93 fc 91 fc  29 fc 29 fc  ........=.<.....d.e.........).).        35.1.0        
  72.1  ISOC   28 03 27 03  bc 02 bd 02  51 02 51 02  e6 01 e6 01  7a 01 7a 01  0f 01 0f 01  a3 00 a3 00  38 00 39 00  (.'.....Q.Q.....z.z.........8.9.        36.1.0        
  72.1  ISOC   b7 06 b7 06  53 06 52 06  ee 05 ed 05  88 05 88 05  22 05 22 05  bc 04 bc 04  56 04 56 04  f0 03 ef 03  ....S.R.........".".....V.V.....        37.1.0        
  72.1  ISOC   c6 09 c6 09  6b 09 6b 09  0e 09 0f 09  b1 08 b1 08  53 08 54 08  f4 07 f4 07  95 07 96 07  35 07 34 07  ....k.k.........S.T.........5.4.        38.1.0        
 

USB標準請求及描述符線上分析(https://www.usbzh.com/tool/usb.html):

(1)調節音量的USB標準請求內容及解析如下:

  72.0  CTL    21 01 01 02  00 09 02 00                                                                                SET CUR                                  1.1.0        
  72.0  OUT    ff f6                                                                                                   ..                                       1.2.0        
0x21,        // bmRequestType: Dir: H2D, Type: Class, Recipient: Interface
0x01,        // bRequest
0x01, 0x02,  // wValue[0:15] = 0x0201
0x00, 0x09,  // wIndex = 0x0900
0x02, 0x00,  // wLength = 2

// 8 bytes

(2)報告描述符內容及解析如下:

  73.0  IN     05 0c 09 01  a1 01 15 00  25 01 09 e9  09 ea 75 01  95 02 81 02  09 e2 09 00  81 06 05 0b  09 20 95 01  ........%.....u.............. ..        29.2.0        
               81 06 05 0c  09 00 95 03  81 02 26 ff  00 09 00 75  08 95 03 81  02 09 00 95  04 91 02 c0               ..........&....u............            29.2.32       
  73.7  IN     00 00 00 00                                                                                             ....                                    30.1.0        
0x05, 0x0C,        // Usage Page (Consumer)
0x09, 0x01,        // Usage (Consumer Control)
0xA1, 0x01,        // Collection (Application)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x01,        //   Logical Maximum (1)
0x09, 0xE9,        //   Usage (Volume Increment)
0x09, 0xEA,        //   Usage (Volume Decrement)
0x75, 0x01,        //   Report Size (1)
0x95, 0x02,        //   Report Count (2)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xE2,        //   Usage (Mute)
0x09, 0x00,        //   Usage (Unassigned)
0x81, 0x06,        //   Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x0B,        //   Usage Page (Telephony)
0x09, 0x20,        //   Usage (Hook Switch)
0x95, 0x01,        //   Report Count (1)
0x81, 0x06,        //   Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x0C,        //   Usage Page (Consumer)
0x09, 0x00,        //   Usage (Unassigned)
0x95, 0x03,        //   Report Count (3)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x09, 0x00,        //   Usage (Unassigned)
0x75, 0x08,        //   Report Size (8)
0x95, 0x03,        //   Report Count (3)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0x00,        //   Usage (Unassigned)
0x95, 0x04,        //   Report Count (4)
0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0,              // End Collection

// 60 bytes

完整的usb裝置描述符:

    =========================== USB Port4 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 2-1-4

      ========================== Summary =========================
Vendor ID                : 0x0D8C (C-MEDIA ELECTRONICS INC.)
Product ID               : 0x0014
USB Version              : 1.10
Port maximum Speed       : High-Speed
Device maximum Speed     : Full-Speed
Device Connection Speed  : Full-Speed
Self powered             : no
Demanded Current         : 100 mA
Used Endpoints           : 2

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Composite Device
Device Path              : \\?\USB#VID_0D8C&PID_0014#6&7da4f7c&0&4#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Kernel Name              : \Device\USBPDO-9
Device ID                : USB\VID_0D8C&PID_0014\6&7DA4F7C&0&4
Hardware IDs             : USB\VID_0D8C&PID_0014&REV_0100 USB\VID_0D8C&PID_0014
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0040 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.22621.608  Date: 2022-10-12)
Driver Inf               : C:\WINDOWS\inf\usb.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : usbccgp
Enumerator               : USB
Location Info            : Port_#0004.Hub_#0003
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1)#USB(4), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)#USB(4)
Container ID             : {785c39f1-6e2a-11ed-a4ce-8cb87eb37742}
Manufacturer Info        : (標準 USB 主控制器)
Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 4
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D2, D3, wake from D0, wake from D2)
 Child Device 1          : USB Audio Device
  Device Path 1          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 2          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 3          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 4          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 5          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 6          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 7          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 8          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 9          : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 10         : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 11         : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Device Path 12         : \\?\USB#VID_0D8C&PID_0014&MI_00#7&2f7b51ae&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
  Kernel Name            : \Device\00000454
  Device ID              : USB\VID_0D8C&PID_0014&MI_00\7&2F7B51AE&0&0000
  Class                  : MEDIA
  Driver KeyName         : {4d36e96c-e325-11ce-bfc1-08002be10318}\0027 (GUID_DEVCLASS_MEDIA)
  Service                : usbaudio
  Location               : 0000.0014.0000.001.004.000.000.000.000
  LocationPaths          : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1)#USB(4)#USBMI(0)  PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1)#USB(4)#USB(4)  ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)#USB(4)#USBMI(0)  ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)#USB(4)#USB(4)
   Child Device 1        : 揚聲器 (USB Audio Device) (音訊端點)
    Device ID            : SWD\MMDEVAPI\{0.0.0.00000000}.{87FF8E0D-21EE-4057-971D-3182F257AF34}
    Class                : AudioEndpoint
    Driver KeyName       : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0072 (AUDIOENDPOINT_CLASS_UUID)
   Child Device 2        : 麥克風 (USB Audio Device) (音訊端點)
    Device ID            : SWD\MMDEVAPI\{0.0.1.00000000}.{62244A14-B910-4942-9BFB-50D623AC91A1}
    Class                : AudioEndpoint
    Driver KeyName       : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0073 (AUDIOENDPOINT_CLASS_UUID)
 Child Device 2          : USB 輸入裝置
  Device ID              : USB\VID_0D8C&PID_0014&MI_03\7&2F7B51AE&0&0003
  Class                  : HIDClass
  Driver KeyName         : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}\0080 (GUID_DEVCLASS_HIDCLASS)
  Service                : HidUsb
  Location               : 0000.0014.0000.001.004.000.000.000.000
  LocationPaths          : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1)#USB(4)#USBMI(3)  ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)#USB(4)#USBMI(3)
   Child Device 1        : 符合 HID 標準的使用者控制裝置
    Device Path          : \\?\HID#VID_0D8C&PID_0014&MI_03#8&32eba1a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} (GUID_DEVINTERFACE_HID)
    Kernel Name          : \Device\00000457
    Device ID            : HID\VID_0D8C&PID_0014&MI_03\8&32EBA1A5&0&0000
    Class                : HIDClass
    Driver KeyName       : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}\0081 (GUID_DEVCLASS_HIDCLASS)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags
 GlobalDisableSerNumGen  : REG_BINARY 00

        ---------------- Connection Information ---------------
Connection Index         : 0x04 (Port 4)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x36 (54)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x01 (Full-Speed)
Number Of Open Pipes     : 0x01 (1 pipe to data endpoints)
Pipe[0]                  : EndpointID=7  Direction=IN   ScheduleOffset=0  Type=Interrupt
Data (HexDump)           : 04 00 00 00 12 01 10 01 00 00 00 08 8C 0D 14 00   ................
                           00 01 01 02 00 01 01 01 00 36 00 01 00 00 00 01   .........6......
                           00 00 00 07 05 87 03 04 00 02 00 00 00 00         ..............

        --------------- Connection Information V2 -------------
Connection Index         : 0x04 (4)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x03
 Usb110                  : 1 (yes, port supports USB 1.1)
 Usb200                  : 1 (yes, port supports USB 2.0)
 Usb300                  : 0 (no, port not supports USB 3.0)
 ReservedMBZ             : 0x00
Flags                    : 0x00
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 0 (Device is not SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 04 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x110 (USB Version 1.10)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x08 (8 bytes)
idVendor                 : 0x0D8C (C-MEDIA ELECTRONICS INC.)
idProduct                : 0x0014
bcdDevice                : 0x0100
iManufacturer            : 0x01 (String Descriptor 1)
 Language 0x0409         : "C-Media Electronics Inc."
iProduct                 : 0x02 (String Descriptor 2)
 Language 0x0409         : "USB Audio Device"
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 01 00 00 00 08 8C 0D 14 00 00 01 01 02   ................
                           00 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x00FD (253 bytes)
bNumInterfaces           : 0x04 (4 Interfaces)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0x80
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x00 (no)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x32 (100 mA)
Data (HexDump)           : 09 02 FD 00 04 01 00 80 32 09 04 00 00 00 01 01   ........2.......
                           00 00 0A 24 01 00 01 64 00 02 01 02 0C 24 02 01   ...$...d.....$..
                           01 01 00 02 03 00 00 00 0C 24 02 02 01 02 00 01   .........$......
                           01 00 00 00 09 24 03 06 01 03 00 09 00 09 24 03   .....$........$.
                           07 01 01 00 08 00 07 24 05 08 01 0A 00 0A 24 06   .......$......$.
                           09 0F 01 01 02 02 00 09 24 06 0A 02 01 43 00 00   ........$....C..
                           09 24 06 0D 02 01 03 00 00 0D 24 04 0F 02 01 0D   .$........$.....
                           02 03 00 00 00 00 09 04 01 00 00 01 02 00 00 09   ................
                           04 01 01 01 01 02 00 00 07 24 01 01 01 01 00 0E   .........$......
                           24 02 01 02 02 10 02 80 BB 00 44 AC 00 09 05 01   $.........D.....
                           09 C8 00 01 00 00 07 25 01 01 01 01 00 09 04 02   .......%........
                           00 00 01 02 00 00 09 04 02 01 01 01 02 00 00 07   ................
                           24 01 07 01 01 00 0E 24 02 01 01 02 10 02 80 BB   $......$........
                           00 44 AC 00 09 05 82 0D 64 00 01 00 00 07 25 01   .D......d.....%.
                           01 00 00 00 09 04 03 00 01 03 00 00 00 09 21 00   ..............!.
                           01 00 01 22 3C 00 07 05 87 03 04 00 02            ..."<........

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00
bAlternateSetting        : 0x00
bNumEndpoints            : 0x00 (Default Control Pipe only)
bInterfaceClass          : 0x01 (Audio)
bInterfaceSubClass       : 0x01 (Audio Control)
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 00 00 00 01 01 00 00                        .........

        ------ Audio Control Interface Header Descriptor ------
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x01 (Header)
bcdADC                   : 0x0100
wTotalLength             : 0x0064 (100 bytes)
bInCollection            : 0x02
baInterfaceNr[1]         : 0x01
baInterfaceNr[2]         : 0x02
Data (HexDump)           : 0A 24 01 00 01 64 00 02 01 02                     .$...d....

        ------- Audio Control Input Terminal Descriptor -------
bLength                  : 0x0C (12 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x02 (Input Terminal)
bTerminalID              : 0x01
wTerminalType            : 0x0101 (USB streaming)
bAssocTerminal           : 0x00
bNrChannels              : 0x02 (2 channels)
wChannelConfig           : 0x0003 (L, R)
iChannelNames            : 0x00 (No String Descriptor)
iTerminal                : 0x00 (No String Descriptor)
Data (HexDump)           : 0C 24 02 01 01 01 00 02 03 00 00 00               .$..........

        ------- Audio Control Input Terminal Descriptor -------
bLength                  : 0x0C (12 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x02 (Input Terminal)
bTerminalID              : 0x02
wTerminalType            : 0x0201 (Microphone)
bAssocTerminal           : 0x00
bNrChannels              : 0x01 (1 channel)
wChannelConfig           : 0x0001 (L)
iChannelNames            : 0x00 (No String Descriptor)
iTerminal                : 0x00 (No String Descriptor)
Data (HexDump)           : 0C 24 02 02 01 02 00 01 01 00 00 00               .$..........

        ------- Audio Control Output Terminal Descriptor ------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x03 (Output Terminal)
bTerminalID              : 0x06
wTerminalType            : 0x0301 (Speaker)
bAssocTerminal           : 0x00 (0)
bSourceID                : 0x09 (9)
iTerminal                : 0x00 (No String Descriptor)
Data (HexDump)           : 09 24 03 06 01 03 00 09 00                        .$.......

        ------- Audio Control Output Terminal Descriptor ------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x03 (Output Terminal)
bTerminalID              : 0x07
wTerminalType            : 0x0101 (USB streaming)
bAssocTerminal           : 0x00 (0)
bSourceID                : 0x08 (8)
iTerminal                : 0x00 (No String Descriptor)
Data (HexDump)           : 09 24 03 07 01 01 00 08 00                        .$.......

        ------- Audio Control Selector Unit Descriptor --------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x05 (Selector Unit)
bUnitID                  : 0x08
bNrInPins                : 0x01 (1 pins)
baSourceID[1]            : 0x0A
iSelector                : 0x00 (No String Descriptor)
Data (HexDump)           : 07 24 05 08 01 0A 00                              .$.....

        -------- Audio Control Feature Unit Descriptor --------
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x06 (Feature Unit)
bUnitID                  : 0x09 (9)
bSourceID                : 0x0F (15)
bControlSize             : 0x01 (1 byte per control)
bmaControls[0]           : 0x01
 D0: Mute                : 1
 D1: Volume              : 0
 D2: Bass                : 0
 D3: Mid                 : 0
 D4: Treble              : 0
 D5: Graphic Equalizer   : 0
 D6: Automatic Gain      : 0
 D7: Delay               : 0
bmaControls[1]           : 0x02
 D0: Mute                : 0
 D1: Volume              : 1
 D2: Bass                : 0
 D3: Mid                 : 0
 D4: Treble              : 0
 D5: Graphic Equalizer   : 0
 D6: Automatic Gain      : 0
 D7: Delay               : 0
bmaControls[2]           : 0x02
 D0: Mute                : 0
 D1: Volume              : 1
 D2: Bass                : 0
 D3: Mid                 : 0
 D4: Treble              : 0
 D5: Graphic Equalizer   : 0
 D6: Automatic Gain      : 0
 D7: Delay               : 0
iFeature                 : 0x00 (No String Descriptor)
Data (HexDump)           : 0A 24 06 09 0F 01 01 02 02 00                     .$........

        -------- Audio Control Feature Unit Descriptor --------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x06 (Feature Unit)
bUnitID                  : 0x0A (10)
bSourceID                : 0x02 (2)
bControlSize             : 0x01 (1 byte per control)
bmaControls[0]           : 0x43
 D0: Mute                : 1
 D1: Volume              : 1
 D2: Bass                : 0
 D3: Mid                 : 0
 D4: Treble              : 0
 D5: Graphic Equalizer   : 0
 D6: Automatic Gain      : 1
 D7: Delay               : 0
bmaControls[1]           : 0x00
 D0: Mute                : 0
 D1: Volume              : 0
 D2: Bass                : 0
 D3: Mid                 : 0
 D4: Treble              : 0
 D5: Graphic Equalizer   : 0
 D6: Automatic Gain      : 0
 D7: Delay               : 0
iFeature                 : 0x00 (No String Descriptor)
Data (HexDump)           : 09 24 06 0A 02 01 43 00 00                        .$....C..

        -------- Audio Control Feature Unit Descriptor --------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x06 (Feature Unit)
bUnitID                  : 0x0D (13)
bSourceID                : 0x02 (2)
bControlSize             : 0x01 (1 byte per control)
bmaControls[0]           : 0x03
 D0: Mute                : 1
 D1: Volume              : 1
 D2: Bass                : 0
 D3: Mid                 : 0
 D4: Treble              : 0
 D5: Graphic Equalizer   : 0
 D6: Automatic Gain      : 0
 D7: Delay               : 0
bmaControls[1]           : 0x00
 D0: Mute                : 0
 D1: Volume              : 0
 D2: Bass                : 0
 D3: Mid                 : 0
 D4: Treble              : 0
 D5: Graphic Equalizer   : 0
 D6: Automatic Gain      : 0
 D7: Delay               : 0
iFeature                 : 0x00 (No String Descriptor)
Data (HexDump)           : 09 24 06 0D 02 01 03 00 00                        .$.......

        --------- Audio Control Mixer Unit Descriptor ---------
bLength                  : 0x0D (13 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x04 (Mixer Unit)
bUnitID                  : 0x0F
bNrInPins                : 0x02 (2 pins)
baSourceID[1]            : 0x01
baSourceID[2]            : 0x0D
bNrChannels              : 0x02 (2 channels)
wChannelConfig           : 0x0003 (R)
iChannelNames            : 0x00 (No String Descriptor)
bmControls (HexDump)     : 00                                                .
iMixer                   : 0x00 (No String Descriptor)
Data (HexDump)           : 0D 24 04 0F 02 01 0D 02 03 00 00 00 00            .$...........

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x01
bAlternateSetting        : 0x00
bNumEndpoints            : 0x00 (Default Control Pipe only)
bInterfaceClass          : 0x01 (Audio)
bInterfaceSubClass       : 0x02 (Audio Streaming)
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 01 00 00 01 02 00 00                        .........

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x01
bAlternateSetting        : 0x01
bNumEndpoints            : 0x01 (1 Endpoint)
bInterfaceClass          : 0x01 (Audio)
bInterfaceSubClass       : 0x02 (Audio Streaming)
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 01 01 01 01 02 00 00                        .........

        -------- Audio Streaming Interface Descriptor ---------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x01
bTerminalLink            : 0x01
bDelay                   : 0x01
wFormatTag               : 0x0001 (PCM)
Data (HexDump)           : 07 24 01 01 01 01 00                              .$.....

        ------- Audio Streaming Format Type Descriptor --------
bLength                  : 0x0E (14 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x02 (Format Type)
bFormatType              : 0x01 (FORMAT_TYPE_I)
bNrChannels              : 0x02 (2 channels)
bSubframeSize            : 0x02 (2 bytes per subframe)
bBitResolution           : 0x10 (16 bits per sample)
bSamFreqType             : 0x02 (supports 2 sample frequencies)
tSamFreq[1]              : 0x0BB80 (48000 Hz)
tSamFreq[2]              : 0x0AC44 (44100 Hz)
Data (HexDump)           : 0E 24 02 01 02 02 10 02 80 BB 00 44 AC 00         .$.........D..

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x01 (Direction=OUT EndpointID=1)
bmAttributes             : 0x09 (TransferType=Isochronous  SyncType=Adaptive  EndpointType=Data)
wMaxPacketSize           : 0x00C8 (200 bytes)
bInterval                : 0x01 (1 ms)
bRefresh                 : 0x00
bSynchAddress            : 0x00
Data (HexDump)           : 09 05 01 09 C8 00 01 00 00                        .........

        ----------- Audio Data Endpoint Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x25 (Audio Endpoint Descriptor)
bDescriptorSubtype       : 0x01 (General)
bmAttributes             : 0x01
 D0   : Sampling Freq    : 0x01 (supported)
 D1   : Pitch            : 0x00 (not supported)
 D6..2: Reserved         : 0x00
 D7   : MaxPacketsOnly   : 0x00 (no)
bLockDelayUnits          : 0x01 (Milliseconds)
wLockDelay               : 0x0001 (1 ms)
Data (HexDump)           : 07 25 01 01 01 01 00                              .%.....

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x02
bAlternateSetting        : 0x00
bNumEndpoints            : 0x00 (Default Control Pipe only)
bInterfaceClass          : 0x01 (Audio)
bInterfaceSubClass       : 0x02 (Audio Streaming)
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 02 00 00 01 02 00 00                        .........

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x02
bAlternateSetting        : 0x01
bNumEndpoints            : 0x01 (1 Endpoint)
bInterfaceClass          : 0x01 (Audio)
bInterfaceSubClass       : 0x02 (Audio Streaming)
bInterfaceProtocol       : 0x00
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 02 01 01 01 02 00 00                        .........

        -------- Audio Streaming Interface Descriptor ---------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x01
bTerminalLink            : 0x07
bDelay                   : 0x01
wFormatTag               : 0x0001 (PCM)
Data (HexDump)           : 07 24 01 07 01 01 00                              .$.....

        ------- Audio Streaming Format Type Descriptor --------
bLength                  : 0x0E (14 bytes)
bDescriptorType          : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype       : 0x02 (Format Type)
bFormatType              : 0x01 (FORMAT_TYPE_I)
bNrChannels              : 0x01 (1 channel)
bSubframeSize            : 0x02 (2 bytes per subframe)
bBitResolution           : 0x10 (16 bits per sample)
bSamFreqType             : 0x02 (supports 2 sample frequencies)
tSamFreq[1]              : 0x0BB80 (48000 Hz)
tSamFreq[2]              : 0x0AC44 (44100 Hz)
Data (HexDump)           : 0E 24 02 01 01 02 10 02 80 BB 00 44 AC 00         .$.........D..

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x82 (Direction=IN EndpointID=2)
bmAttributes             : 0x0D (TransferType=Isochronous  SyncType=Synchronous  EndpointType=Data)
wMaxPacketSize           : 0x0064 (100 bytes)
bInterval                : 0x01 (1 ms)
bRefresh                 : 0x00
bSynchAddress            : 0x00
Data (HexDump)           : 09 05 82 0D 64 00 01 00 00                        ....d....

        ----------- Audio Data Endpoint Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x25 (Audio Endpoint Descriptor)
bDescriptorSubtype       : 0x01 (General)
bmAttributes             : 0x01
 D0   : Sampling Freq    : 0x01 (supported)
 D1   : Pitch            : 0x00 (not supported)
 D6..2: Reserved         : 0x00
 D7   : MaxPacketsOnly   : 0x00 (no)
bLockDelayUnits          : 0x00 (Undefined)
wLockDelay               : 0x0000
Data (HexDump)           : 07 25 01 01 00 00 00                              .%.....

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x03
bAlternateSetting        : 0x00
bNumEndpoints            : 0x01 (1 Endpoint)
bInterfaceClass          : 0x03 (HID - Human Interface Device)
bInterfaceSubClass       : 0x00 (None)
bInterfaceProtocol       : 0x00 (None)
iInterface               : 0x00 (No String Descriptor)
Data (HexDump)           : 09 04 03 00 01 03 00 00 00                        .........

        ------------------- HID Descriptor --------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x21 (HID Descriptor)
bcdHID                   : 0x0100 (HID Version 1.00)
bCountryCode             : 0x00 (00 = not localized)
bNumDescriptors          : 0x01
Data (HexDump)           : 09 21 00 01 00 01 22 3C 00                        .!...."<.
Descriptor 1:
bDescriptorType          : 0x22 (Class=Report)
wDescriptorLength        : 0x003C (60 bytes)
Error reading descriptor : ERROR_INVALID_PARAMETER (due to a obscure limitation of the Win32 USB API, see UsbTreeView.txt)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x87 (Direction=IN EndpointID=7)
bmAttributes             : 0x03 (TransferType=Interrupt)
wMaxPacketSize           : 0x0004 (4 bytes)
bInterval                : 0x02 (2 ms)
Data (HexDump)           : 07 05 87 03 04 00 02                              .......

      -------------------- String Descriptors -------------------
             ------ String Descriptor 0 ------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language ID[0]           : 0x0409 (English - United States)
Data (HexDump)           : 04 03 09 04                                       ....
             ------ String Descriptor 1 ------
bLength                  : 0x3E (62 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "C-Media Electronics Inc.°°°°°°"  *!*ERROR  contains 6 NULL characters
Data (HexDump)           : 3E 03 43 00 2D 00 4D 00 65 00 64 00 69 00 61 00   >.C.-.M.e.d.i.a.
                           20 00 45 00 6C 00 65 00 63 00 74 00 72 00 6F 00    .E.l.e.c.t.r.o.
                           6E 00 69 00 63 00 73 00 20 00 49 00 6E 00 63 00   n.i.c.s. .I.n.c.
                           2E 00 00 00 00 00 00 00 00 00 00 00 00 00         ..............
             ------ String Descriptor 2 ------
bLength                  : 0x3E (62 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "USB Audio Device°°°°°°°°°°°°°°"  *!*ERROR  contains 14 NULL characters
Data (HexDump)           : 3E 03 55 00 53 00 42 00 20 00 41 00 75 00 64 00   >.U.S.B. .A.u.d.
                           69 00 6F 00 20 00 44 00 65 00 76 00 69 00 63 00   i.o. .D.e.v.i.c.
                           65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   e...............
                           00 00 00 00 00 00 00 00 00 00 00 00 00 00         ..............