UAC例項分析-USB音響 Android USB之複合裝置(gadget)詳解
在Android USB之複合裝置(gadget)詳解一篇中提到了USB Gadget UAC(USB 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 0002 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 ..............