USBHost_T36, hosting USB MIDI devices with virtual cables (ports)?

insolace

Active member
I'm trying to confirm if Teensy 3.6 can host USB Midi devices that have more than one virtual MIDI cable, and if so how to tell how many ports a given device has. I believe this bolded modification to the 16x16 example code will return the virtual cable:

Code:
  // Next read messages arriving from the (up to) 10 USB devices plugged into the USB Host port
  for (int port=0; port < 10; port++) {
    if (midilist[port]->read()) {
      uint8_t type =       midilist[port]->getType();
      uint8_t data1 =      midilist[port]->getData1();
      uint8_t data2 =      midilist[port]->getData2();
      uint8_t channel =    midilist[port]->getChannel();
      const uint8_t *sys = midilist[port]->getSysExArray();
      sendToComputer(type, data1, data2, channel, sys, 6 + port);
      [b]uint8_t cable =      midilist[port]->getCable();   // should return the virtual cable of this device[/b]
      activity = true;
    }
  }

Is there a limitation to the number of virtual cables that a hosted USB MIDI device can have? 16? And how can I identify how many virtual cables a device has when it is connected?

Also, in the 16x16 example there are 10 hosted USB MIDI devices. Is this the max number or could you host more? If I connected (16) Teensy 3.6 devices, all set to 16x16 Midi mode, to a master Teensy 3.6 with USB hubs, would I have a 64x64 matrix?

And finally, I've found some manufacturer's don't assign serial numbers to their MIDI devices. For instance the Akai LPK25 keyboard controller. If I had two of these, and connected them to the host port on a teensy 3.6, would there be a way to differentiate between the two and recognize which is which when they are disconnected and reconnected?

Very impressed and grateful for all the hard work and open source code provided by Paul for this product.
 
Wow, so many questions. Here's quick answers...


I'm trying to confirm if Teensy 3.6 can host USB Midi devices that have more than one virtual MIDI cable,

Yes, confirmed.

and if so how to tell how many ports a given device has.

You don't.


Is there a limitation to the number of virtual cables that a hosted USB MIDI device can have? 16?

Yes, 16.

This limit comes from the USB MIDI spec which dedicates 4 bits to the virtual cable number, so it really can not be increased beyond 16.


And how can I identify how many virtual cables a device has when it is connected?

Ideally there should be a way to ask for this info, but it's currently not supported by the library. Unless you add code to parse the descriptors, you can't find out from the library how many virtual cables each device claims it supports. Nor can you query any of the other parameters from the audio class descriptors. The library just don't (yet) give you any way to ask for that info.


Also, in the 16x16 example there are 10 hosted USB MIDI devices. Is this the max number or could you host more?

USBHost_t36 is designed around the idea that you put instances in your program for each device that might connect. So if you put more than 10 instances of the MIDIDevice object, you could have more than 10.

At some point of course there are practical limits, memory, bandwidth, CPU time to keep up with so many messages. Almost no work has been done so far to really explore or test those limits, so I really don't have any solid guidance on how far you can push this.


If I connected (16) Teensy 3.6 devices, all set to 16x16 Midi mode, to a master Teensy 3.6 with USB hubs, would I have a 64x64 matrix?

Don't know what's meant by "matrix" in this question.

As a USB device, Teensy 3.x offers "MIDIx16" meaning 16 virtual cables. There isn't any mode called "16x16" (though there are examples using this name), so again I don't quite understand your question.

Theoretically, you could connect 16 Teensy 3.6 boards, each running MIDIx16, of course using USB hubs. Don't forget to include enough USBHub objects. Remember that most large hubs on the market are actually 2-tier networks of 4 port hubs, so for example you would probably need 3 of those USBHub objects in your code to support a typical 10 port hub.

If you do build this and make it actually do something with so many virtual cables, I hope you'll share photos!


And finally, I've found some manufacturer's don't assign serial numbers to their MIDI devices. For instance the Akai LPK25 keyboard controller. If I had two of these, and connected them to the host port on a teensy 3.6, would there be a way to differentiate between the two and recognize which is which when they are disconnected and reconnected?

Sadly, no. Regular computers face exactly the same issue with identical USB devices.
 
One further point, regarding USB bandwidth. USB has 4 transfer types, called "control", "bulk", "interrupt" and "isochronous", which have different ways of the USB host allocating the USB bandwidth. The device chooses which transfer type, the host is responsible for actually managing the bandwidth.

USB MIDI allows use of either "bulk" or "interrupt". Almost all USB MIDI devices are designed with bulk protocol endpoints.. When you choose any of the MIDI device options in Tools > USB Type, Teensy always uses USB bulk protocol for USB MIDI.

However, some devices on the market do use "interrupt" type. Novation Launchpad is the one which comes to mind.

With interrupt type, a portion of the USB bandwidth is reserved. As you connect more of these devices, the reservation grows. USBHost_t36 uses a fairly simple strategy for reserved bandwidth, which is only able to reserve a little over half of all the bandwidth for interrupt protocol pipes. EHCI has a feature calls frame span traversal nodes which allows reserving more, but USBHost_t36 does not support that feature. It's very complicated, but allows 80% instead of ~50% of the bandwidth to be allocated. If you connect a very large number of devices needing interrupt pipes, eventually (around 50%) there won't be any more guaranteed bandwidth.

The interrupt bandwidth guarantee is a theoretical calculation based on the worst possible case. But if the guarantee can't be made for the very worst case, USBHost_t36 will not recognize the device if it uses interrupt protocol pipes and all the guarantee-able bandwidth has already been promised to other devices. It doesn't matter if all the devices would still be able to work under that actual bandwidth usage scenario... the interrupt pipe bandwidth gaurantee is an absolute hard promise for certain bandwidth under the very worse possible scenario. If the promise can't be made, the device doesn't finish enumeration and can't be used.

With bulk protocol, there are not promises on bandwidth. All bulk devices share all the available bandwidth, after the reserved devices have their option to use (or leave used) their guaranteed bandwidth. You can keep plugging in more bulk devices without worrying if they'll be rejected because bandwidth can't be promised.

With both bulk and interrupt, if the device doesn't actually transmit or receive data, the rest of the pipes are able to use that bandwidth. But how well a large number of slower-than-480 USB devices share all the bandwidth depends on the type of hubs you use. USB 2.0 hubs (and the USB2 portion of USB3 hubs) come in 2 types: (cheap) Single-TT and (good) Multi-TT. Only the Multi-TT type hubs allow all their downstream 12 Mbit/sec devices to truly share the upstream 480 Mbit/sec connection. Most people never notice the difference, but if you really are connecting a very large number of 12 Mbit/sec USB devices and you expect many of them to push bandwidth limits, you really do need the better quality Mulit-TT type hubs to avoid bandwidth bottleneck problems.
 
Last edited:
Fantastic response, thank you.

Apologies for confusion, when I said 16x16 I meant MIDIx16.

I’ve never seen a hub advertised as single or multi TT, do you know of some on the market? Is there a way to query this from the library when you create the USB Hub objects? Can you read from the library if a device is bulk or interrupt, and is there any way to monitor the feedback reservations?

If I create a HID Keyboard instance will it play nicely with the MIDI instances?

The USB Host port on my teensy 3.6 is reading 3.6v (coincidence?) on the 5V supply pin, not sure what I did as it was working for a while but I’ll need to order a new one before I can begin testing the new USB Host code. I’ll be sure to share pictures and code for the project as it develops, and of course questions.

Thanks again Paul, your fast and thorough response is much appreciated.
 
I’ve never seen a hub advertised as single or multi TT, do you know of some on the market?

Here's a photo of some I tested.

https://twitter.com/PaulStoffregen/status/917870079055761408

More info on this page.

https://www.pjrc.com/teensy/td_flightsim.html

Scroll down to "Large System Guidelines".

Yes, it is very sad that the most meaningful non-power technical spec about USB hubs is almost never mentioned in the sales info for hardly any hubs. Consumer electronics is bizarre like that.


Is there a way to query this from the library when you create the USB Hub objects?

No.

Can you read from the library if a device is bulk or interrupt, and is there any way to monitor the feedback reservations?

No, there's no API for that either.


If I create a HID Keyboard instance will it play nicely with the MIDI instances?

Yes.


The USB Host port on my teensy 3.6 is reading 3.6v (coincidence?) on the 5V supply pin,

Is USBHost_t36 actually running?

Something may be wrong if it is. But if the TPD3S014 switch is turned off, it's default state, then you would see little or no voltage.
 
Simplest is to just plug hubs into Linux or Windows 10 and check. Usually in any batch of random hubs of different make/model, some will turn out to be Multi-TT protocol.

Edit: that little 2-port one which led to the discovery of a bug deep in the USB stack was also a Multi-TT type. Here's an article I wrote about that adventure in bug hunting.

https://www.pjrc.com/usb-hub-bug-hunting-lessons-learned/

Here's the forum thread about that hub

https://www.pjrc.com/usb-hub-bug-hunting-lessons-learned/

Sadly, clicking in the link to Amazon on that thread shows it's no longer available.
 
How do you check a hub in Linux? If it’s a terminal command I can try it in OSX.

Here’s another question, it would seem that usb midi devices with multiple virtual cables can report a name for each cable. Here’s a screenshot from Ableton Live (ignore the highlights that aren’t mine), notice Virus TI, Akai MPK49, and microlite are all single devices reporting multiple virtual cables, each with a unique name (ie Virus MIDI and Virus Synth)

http://ultimateoutsider.com/blogimages/blofeldvirtualeditor/blofeldlive02.png

Is it possible to get these virtual cable names from the library? When using a teensy running MIDIx16, could we name the virtual cables that the computer sees?
 
I’ll do this tonight when I’m back in the studio and share the results here. Maybe this will shed some light on the virtual cable names as well, I’ll leave all the synths and midi devices connected.
 
On Macintosh, the similar command line utility is "ioreg -l", but it's output is all devices not nearly as easy to use as the Linux one.

Apple has a utility called "USB Prober". It used to come with X-Code. I'm not sure how to get it now. But here's a screenshot of how it shows the hub protocol.

screen.jpg
 
Looks like it comes with the developer packages, I’ll try to dig it up, or I could use my windows laptop if that’s easier.
 
Well after following the instructions here I was able to download USB Prober. Raw output is too big for this post, so I'll post it separately.

Here's a screenshot:
VvBlnA4.jpg

I have 3 usb hubs, the one that came up as MTT is the cheapest of the bunch! You can find them at newegg for $8 here.

The two listed as "Genesys Logic" are actually a single 7 port D-Link hub.

Drilling down into the names of the virtual cables. The "Virus TI" has two virtual cables that show up in Ableton live, one is "MIDI" which goes connects to the DIN ports, and one is "SYNTH" which controls the synth. Here's what it looks like in audio midi setup:

sMfzwr4.jpg

I'm searching the output of USB Prober for "Synth" in hex and it's nowhere to be found. The synth is also an USB audio interface with hardware inputs and outputs, as well as audio into the vocoder. Looking at the listed interfaces, #3 and #4 are likely the virtual MIDI Cables. I don't see where the labels are coming from though.

Any ideas?
 
Output:

Code:
Super Speed device @ 0 (0x14000000): .............................................   Hub device from Apple Inc.
    Port Information:   0x061d
           Built-in Root Hub
           Captive
           Internal Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (unconfigured):   1
    Device Descriptor   
        Descriptor Version Number:   0x0100
        Device Class:   9   (Hub)
        Device Subclass:   255
        Device Protocol:   3   (SuperSpeed)
        Device MaxPacketSize:   8
        Device VendorID/ProductID:   0x05AC/0x8007   (Apple Inc.)
        Device Version Number:   0x0198
        Number of Configurations:   1
        Manufacturer String:   0 (none)
        Product String:   0 (none)
        Serial Number String:   0 (none)
    Current configuration:   0 (unconfigured)
    Configuration Descriptor   
        Length (and contents):   9
            Raw Descriptor (hex)   0000: 09 02 09 00 00 01 00 60  00 
        Number of Interfaces:   0
        Configuration Value:   1
        Attributes:   0x60 (self-powered, remote wakeup)
        MaxPower:   0 mA
Super Speed device @ 0 (0x00000000): .............................................   Hub device from Apple Inc.
    Port Information:   0x061d
           Built-in Root Hub
           Captive
           Internal Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (unconfigured):   1
    Device Descriptor   
        Descriptor Version Number:   0x0100
        Device Class:   9   (Hub)
        Device Subclass:   255
        Device Protocol:   3   (SuperSpeed)
        Device MaxPacketSize:   8
        Device VendorID/ProductID:   0x05AC/0x8007   (Apple Inc.)
        Device Version Number:   0x0198
        Number of Configurations:   1
        Manufacturer String:   0 (none)
        Product String:   0 (none)
        Serial Number String:   0 (none)
    Current configuration:   0 (unconfigured)
    Configuration Descriptor   
        Length (and contents):   9
            Raw Descriptor (hex)   0000: 09 02 09 00 00 01 00 60  00 
        Number of Interfaces:   0
        Configuration Value:   1
        Attributes:   0x60 (self-powered, remote wakeup)
        MaxPower:   0 mA
Super Speed device @ 0 (0x01000000): .............................................   Hub device from Apple Inc.
    Port Information:   0x061d
           Built-in Root Hub
           Captive
           Internal Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (unconfigured):   1
    Device Descriptor   
        Descriptor Version Number:   0x0100
        Device Class:   9   (Hub)
        Device Subclass:   255
        Device Protocol:   3   (SuperSpeed)
        Device MaxPacketSize:   8
        Device VendorID/ProductID:   0x05AC/0x8007   (Apple Inc.)
        Device Version Number:   0x0198
        Number of Configurations:   1
        Manufacturer String:   0 (none)
        Product String:   0 (none)
        Serial Number String:   0 (none)
    Current configuration:   0 (unconfigured)
    Configuration Descriptor   
        Length (and contents):   9
            Raw Descriptor (hex)   0000: 09 02 09 00 00 01 00 60  00 
        Number of Interfaces:   0
        Configuration Value:   1
        Attributes:   0x60 (self-powered, remote wakeup)
        MaxPower:   0 mA
High Speed device @ 1 (0x14100000): .............................................   Miscellaneous/Common Class device: "iBridge"
    Port Information:   0x001e
           Not Captive
           Attached to Root Hub
           Internal Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 :   4
        Total Endpoints for Configuration 2 (current):   10
        Total Endpoints for Configuration 3 :   6
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   239   (Miscellaneous)
        Device Subclass:   2   (Common Class)
        Device Protocol:   1   (Interface Association)
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x05AC/0x8600   (Apple Inc.)
        Device Version Number:   0x0101
        Number of Configurations:   3
        Manufacturer String:   1 "Apple Inc."
        Product String:   2 "iBridge"
        Serial Number String:   0 (none)
    Configuration Descriptor: .......................................   "Default iBridge Interfaces"
        Length (and contents):   469
            Raw Descriptor (hex)    0000: 09 02 D5 01 04 01 03 E0  00 08 0B 00 02 0E 01 00  
            Raw Descriptor (hex)    0010: 04 09 04 00 00 00 0E 01  00 0D 0D 24 01 50 01 36  
            Raw Descriptor (hex)    0020: 00 40 42 0F 00 01 01 12  24 02 01 01 02 00 00 00  
            Raw Descriptor (hex)    0030: 00 00 00 00 00 03 00 00  00 09 24 03 02 01 01 00  
            Raw Descriptor (hex)    0040: 01 00 0E 24 05 03 01 00  00 04 1F 00 00 00 00 00  
            Raw Descriptor (hex)    0050: 09 04 01 00 01 0E 02 00  00 0E 24 01 01 43 01 81  
            Raw Descriptor (hex)    0060: 00 02 00 00 00 01 00 0B  24 06 01 02 00 02 00 00  
            Raw Descriptor (hex)    0070: 00 00 92 24 07 01 00 00  05 D0 02 00 38 04 00 00  
            Raw Descriptor (hex)    0080: 90 7E 00 00 38 04 00 15  16 05 00 1E 15 16 05 00  
            Raw Descriptor (hex)    0090: FB 42 05 00 16 73 05 00  C2 A6 05 00 67 DE 05 00  
            Raw Descriptor (hex)    00a0: 80 1A 06 00 9A 5B 06 00  5E A2 06 00 91 EF 06 00  
            Raw Descriptor (hex)    00b0: 1E 44 07 00 20 A1 07 00  EB 07 08 00 23 7A 08 00  
            Raw Descriptor (hex)    00c0: CB F9 08 00 68 89 09 00  2A 2C 0A 00 2D E6 0A 00  
            Raw Descriptor (hex)    00d0: CE BC 0B 00 35 B7 0C 00  22 DF 0D 00 40 42 0F 00  
            Raw Descriptor (hex)    00e0: 47 F4 10 00 D0 12 13 00  5B CC 15 00 6A 6E 19 00  
            Raw Descriptor (hex)    00f0: 80 84 1E 00 A0 25 26 00  D5 DC 32 00 40 4B 4C 00  
            Raw Descriptor (hex)    0100: 80 96 98 00 92 24 07 02  00 80 02 E0 01 00 68 01  
            Raw Descriptor (hex)    0110: 00 00 30 2A 00 00 68 01  00 15 16 05 00 1E 15 16  
            Raw Descriptor (hex)    0120: 05 00 FB 42 05 00 16 73  05 00 C2 A6 05 00 67 DE  
            Raw Descriptor (hex)    0130: 05 00 80 1A 06 00 9A 5B  06 00 5E A2 06 00 91 EF  
            Raw Descriptor (hex)    0140: 06 00 1E 44 07 00 20 A1  07 00 EB 07 08 00 23 7A  
            Raw Descriptor (hex)    0150: 08 00 CB F9 08 00 68 89  09 00 2A 2C 0A 00 2D E6  
            Raw Descriptor (hex)    0160: 0A 00 CE BC 0B 00 35 B7  0C 00 22 DF 0D 00 40 42  
            Raw Descriptor (hex)    0170: 0F 00 47 F4 10 00 D0 12  13 00 5B CC 15 00 6A 6E  
            Raw Descriptor (hex)    0180: 19 00 80 84 1E 00 A0 25  26 00 D5 DC 32 00 40 4B  
            Raw Descriptor (hex)    0190: 4C 00 80 96 98 00 06 24  0D 01 01 04 07 05 81 02  
            Raw Descriptor (hex)    01a0: 00 02 00 09 04 02 00 01  03 01 01 00 09 21 01 01  
            Raw Descriptor (hex)    01b0: 00 01 22 53 00 07 05 83  03 40 00 07 09 04 03 00  
            Raw Descriptor (hex)    01c0: 01 03 00 01 00 09 21 01  01 00 01 22 7A 02 07 05  
            Raw Descriptor (hex)    01d0: 85 03 00 04 07 
        Number of Interfaces:   4
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   0 mA
        Interface Association   Video/Control
            First Interface   0
            Interface Count   2
            Function Class   14   (Video)
            Function Subclass   1   (Control)
            Interface Protocol   0
            Function String   4 "FaceTime HD Camera (Build-in)"
        Interface #0 - Video/Control ..............................................   "FaceTime HD Camera (Build-in, SN:CC27445PA9CGJJM1L)"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   14   (Video)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            VDC (Control) Header   
                Length (and contents):   13
                    Raw Descriptor (hex)   0000: 0D 24 01 50 01 36 00 40  42 0F 00 01 01 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                Specification Version Number:   01.5
                Device Clock Frequency (Hz):   1000000
                Number of Video Streaming Interfaces:   1
                Video Interface Number:   1
            VDC (Control) Input Terminal   
                Length (and contents):   18
                    Raw Descriptor (hex)    0000: 12 24 02 01 01 02 00 00  00 00 00 00 00 00 03 00  
                    Raw Descriptor (hex)    0010: 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x2
                Terminal ID   1
                Input Terminal Type:   0x201 (Camera Sensor)
                Input Terminal ID:   0 [NONE]
                Input Terminal String Index:   0 [NONE]
                Minimum Focal Length   0
                Maximum Focal Length   0
                Ocular Focal Length   0
                Controls Supported   Description
            VDC (Control) Output Terminal   
                Length (and contents):   9
                    Raw Descriptor (hex)   0000: 09 24 03 02 01 01 00 01  00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x3
                Terminal ID:   2
                Output Terminal Type:   0x101 (USB streaming)
                Output Terminal ID:   0 [NONE]
                Output Terminal String Index:   0 [NONE]
            VDC (Control) Processing Unit   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 05 03 01 00 00 04  1F 00 00 00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x5
                Unit ID:   3
                Source ID:   1
                Digital Multiplier (100X):   0
                Controls Supported   Description
                       Brightness
                       Contrast
                       Hue
                       Saturation
                       Sharpness
                Processing Unit String Index:   0 [NONE]
        Interface #1 - Video/Streaming   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   14   (Video)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            VDC (Streaming) Input Header   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 01 01 43 01 81 00  02 00 00 00 01 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                bNumFormats:   1
                wTotalLength:   0x143 (323)
                bEndpointAddress:   0x81
                Capabilities (0x0)   bmInfo
                bTerminalLink:   2
                bStillCaptureMethod:   0 (None)
                bTriggerSupport   0 (Not Supported)
                bTriggerUsage   Ignored because bTriggerSupport is 0
                bControlSize:   0x1
                bmaControls( Format 1):   0x0
            VDC (Streaming) MJPEG Format Descriptor   
                Length (and contents):   11
                    Raw Descriptor (hex)   0000: 0B 24 06 01 02 00 02 00  00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x6
                bFormatIndex:   0x1
                bNumFrameDescriptors:   0x2
                bmFlags   (0x0)
                bDefaultFrameIndex:   0x2
                bAspectRatioX:   0x0
                bAspectRatioY:   0x0
                bmInterlaceFlags   (0x0)
                    Interlaced Stream or Variable   No
                    Fields per frame   1
                    Field 1 first   No
                    Field Pattern   Field 1 only
                    Display Mode   Bob only
                bCopyProtect   No Restriction
            VDC (Streaming) MJPEG Frame Descriptor   
                Length (and contents):   146
                    Raw Descriptor (hex)    0000: 92 24 07 01 00 00 05 D0  02 00 38 04 00 00 90 7E  
                    Raw Descriptor (hex)    0010: 00 00 38 04 00 15 16 05  00 1E 15 16 05 00 FB 42  
                    Raw Descriptor (hex)    0020: 05 00 16 73 05 00 C2 A6  05 00 67 DE 05 00 80 1A  
                    Raw Descriptor (hex)    0030: 06 00 9A 5B 06 00 5E A2  06 00 91 EF 06 00 1E 44  
                    Raw Descriptor (hex)    0040: 07 00 20 A1 07 00 EB 07  08 00 23 7A 08 00 CB F9  
                    Raw Descriptor (hex)    0050: 08 00 68 89 09 00 2A 2C  0A 00 2D E6 0A 00 CE BC  
                    Raw Descriptor (hex)    0060: 0B 00 35 B7 0C 00 22 DF  0D 00 40 42 0F 00 47 F4  
                    Raw Descriptor (hex)    0070: 10 00 D0 12 13 00 5B CC  15 00 6A 6E 19 00 80 84  
                    Raw Descriptor (hex)    0080: 1E 00 A0 25 26 00 D5 DC  32 00 40 4B 4C 00 80 96  
                    Raw Descriptor (hex)    0090: 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x7
                bFrameIndex:   1
                bmCapabilities    (0x0)
                wWidth:   0x500 (1280)
                wHeight:   0x2d0 (720)
                dwMinBitRate (bps):   0x43800 (276480)
                dwMaxBitRate (bps):   0x7e9000 (8294400)
                dwMaxVideoFrameBufferSize (bytes):   0x43800 (276480)
                dwDefaultFrameInterval:   0x51615 (  33.000 ms)
                Discrete Frame Intervals supported   30
                    dwFrameInterval[1] (100 ns)   0x51615 (  33.000 ms)
                    dwFrameInterval[2] (100 ns)   0x542fb (  34.000 ms)
                    dwFrameInterval[3] (100 ns)   0x57316 (  35.000 ms)
                    dwFrameInterval[4] (100 ns)   0x5a6c2 (  37.000 ms)
                    dwFrameInterval[5] (100 ns)   0x5de67 (  38.000 ms)
                    dwFrameInterval[6] (100 ns)   0x61a80 (  40.000 ms)
                    dwFrameInterval[7] (100 ns)   0x65b9a (  41.000 ms)
                    dwFrameInterval[8] (100 ns)   0x6a25e (  43.000 ms)
                    dwFrameInterval[9] (100 ns)   0x6ef91 (  45.000 ms)
                    dwFrameInterval[10] (100 ns)   0x7441e (  47.000 ms)
                    dwFrameInterval[11] (100 ns)   0x7a120 (  50.000 ms)
                    dwFrameInterval[12] (100 ns)   0x807eb (  52.000 ms)
                    dwFrameInterval[13] (100 ns)   0x87a23 (  55.000 ms)
                    dwFrameInterval[14] (100 ns)   0x8f9cb (  58.000 ms)
                    dwFrameInterval[15] (100 ns)   0x98968 (  62.000 ms)
                    dwFrameInterval[16] (100 ns)   0xa2c2a (  66.000 ms)
                    dwFrameInterval[17] (100 ns)   0xae62d (  71.000 ms)
                    dwFrameInterval[18] (100 ns)   0xbbcce (  76.000 ms)
                    dwFrameInterval[19] (100 ns)   0xcb735 (  83.000 ms)
                    dwFrameInterval[20] (100 ns)   0xddf22 (  90.000 ms)
                    dwFrameInterval[21] (100 ns)   0xf4240 ( 100.000 ms)
                    dwFrameInterval[22] (100 ns)   0x10f447 ( 111.000 ms)
                    dwFrameInterval[23] (100 ns)   0x1312d0 ( 125.000 ms)
                    dwFrameInterval[24] (100 ns)   0x15cc5b ( 142.000 ms)
                    dwFrameInterval[25] (100 ns)   0x196e6a ( 166.000 ms)
                    dwFrameInterval[26] (100 ns)   0x1e8480 ( 200.000 ms)
                    dwFrameInterval[27] (100 ns)   0x2625a0 ( 250.000 ms)
                    dwFrameInterval[28] (100 ns)   0x32dcd5 ( 333.000 ms)
                    dwFrameInterval[29] (100 ns)   0x4c4b40 ( 500.000 ms)
                    dwFrameInterval[30] (100 ns)   0x989680 (1000.000 ms)
            VDC (Streaming) MJPEG Frame Descriptor   
                Length (and contents):   146
                    Raw Descriptor (hex)    0000: 92 24 07 02 00 80 02 E0  01 00 68 01 00 00 30 2A  
                    Raw Descriptor (hex)    0010: 00 00 68 01 00 15 16 05  00 1E 15 16 05 00 FB 42  
                    Raw Descriptor (hex)    0020: 05 00 16 73 05 00 C2 A6  05 00 67 DE 05 00 80 1A  
                    Raw Descriptor (hex)    0030: 06 00 9A 5B 06 00 5E A2  06 00 91 EF 06 00 1E 44  
                    Raw Descriptor (hex)    0040: 07 00 20 A1 07 00 EB 07  08 00 23 7A 08 00 CB F9  
                    Raw Descriptor (hex)    0050: 08 00 68 89 09 00 2A 2C  0A 00 2D E6 0A 00 CE BC  
                    Raw Descriptor (hex)    0060: 0B 00 35 B7 0C 00 22 DF  0D 00 40 42 0F 00 47 F4  
                    Raw Descriptor (hex)    0070: 10 00 D0 12 13 00 5B CC  15 00 6A 6E 19 00 80 84  
                    Raw Descriptor (hex)    0080: 1E 00 A0 25 26 00 D5 DC  32 00 40 4B 4C 00 80 96  
                    Raw Descriptor (hex)    0090: 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x7
                bFrameIndex:   2
                bmCapabilities    (0x0)
                wWidth:   0x280 (640)
                wHeight:   0x1e0 (480)
                dwMinBitRate (bps):   0x16800 (92160)
                dwMaxBitRate (bps):   0x2a3000 (2764800)
                dwMaxVideoFrameBufferSize (bytes):   0x16800 (92160)
                dwDefaultFrameInterval:   0x51615 (  33.000 ms)
                Discrete Frame Intervals supported   30
                    dwFrameInterval[1] (100 ns)   0x51615 (  33.000 ms)
                    dwFrameInterval[2] (100 ns)   0x542fb (  34.000 ms)
                    dwFrameInterval[3] (100 ns)   0x57316 (  35.000 ms)
                    dwFrameInterval[4] (100 ns)   0x5a6c2 (  37.000 ms)
                    dwFrameInterval[5] (100 ns)   0x5de67 (  38.000 ms)
                    dwFrameInterval[6] (100 ns)   0x61a80 (  40.000 ms)
                    dwFrameInterval[7] (100 ns)   0x65b9a (  41.000 ms)
                    dwFrameInterval[8] (100 ns)   0x6a25e (  43.000 ms)
                    dwFrameInterval[9] (100 ns)   0x6ef91 (  45.000 ms)
                    dwFrameInterval[10] (100 ns)   0x7441e (  47.000 ms)
                    dwFrameInterval[11] (100 ns)   0x7a120 (  50.000 ms)
                    dwFrameInterval[12] (100 ns)   0x807eb (  52.000 ms)
                    dwFrameInterval[13] (100 ns)   0x87a23 (  55.000 ms)
                    dwFrameInterval[14] (100 ns)   0x8f9cb (  58.000 ms)
                    dwFrameInterval[15] (100 ns)   0x98968 (  62.000 ms)
                    dwFrameInterval[16] (100 ns)   0xa2c2a (  66.000 ms)
                    dwFrameInterval[17] (100 ns)   0xae62d (  71.000 ms)
                    dwFrameInterval[18] (100 ns)   0xbbcce (  76.000 ms)
                    dwFrameInterval[19] (100 ns)   0xcb735 (  83.000 ms)
                    dwFrameInterval[20] (100 ns)   0xddf22 (  90.000 ms)
                    dwFrameInterval[21] (100 ns)   0xf4240 ( 100.000 ms)
                    dwFrameInterval[22] (100 ns)   0x10f447 ( 111.000 ms)
                    dwFrameInterval[23] (100 ns)   0x1312d0 ( 125.000 ms)
                    dwFrameInterval[24] (100 ns)   0x15cc5b ( 142.000 ms)
                    dwFrameInterval[25] (100 ns)   0x196e6a ( 166.000 ms)
                    dwFrameInterval[26] (100 ns)   0x1e8480 ( 200.000 ms)
                    dwFrameInterval[27] (100 ns)   0x2625a0 ( 250.000 ms)
                    dwFrameInterval[28] (100 ns)   0x32dcd5 ( 333.000 ms)
                    dwFrameInterval[29] (100 ns)   0x4c4b40 ( 500.000 ms)
                    dwFrameInterval[30] (100 ns)   0x989680 (1000.000 ms)
            VDC (Streaming) Color Format Descriptor   
                Length (and contents):   6
                    Raw Descriptor (hex)   0000: 06 24 0D 01 01 04 
                bDescriptorType:   0x24
                bDescriptorSubType:   0xd
                Color Primaries:   1 ( BT.709, sRGB (default) )
                Transfer Characteristics:   1 ( BT.709 (default) )
                Matrix Coefficients:   4 ( SMPTE 170M (BT.601, default) )
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
        Interface #2 - HID/Boot Interface   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   1   (Boot Interface)
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   83
            Endpoint 0x83 - Interrupt Input   
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0040  (64 x 1  transactions opportunities per microframe)
                Polling Interval:   7 (64 microframes (8 msecs) )
        Interface #3 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   634
            Endpoint 0x85 - Interrupt Input   
                Address:   0x85  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0400  (1024 x 1  transactions opportunities per microframe)
                Polling Interval:   7 (64 microframes (8 msecs) )
    Configuration Descriptor (current config): ......................   "Default iBridge Interfaces(OS X)"
        Length (and contents):   662
            Raw Descriptor (hex)    0000: 09 02 96 02 08 02 05 E0  00 08 0B 00 02 0E 01 00  
            Raw Descriptor (hex)    0010: 06 09 04 00 00 00 0E 01  00 0E 0D 24 01 50 01 36  
            Raw Descriptor (hex)    0020: 00 40 42 0F 00 01 01 12  24 02 01 01 02 00 00 00  
            Raw Descriptor (hex)    0030: 00 00 00 00 00 03 00 00  00 09 24 03 02 01 01 00  
            Raw Descriptor (hex)    0040: 01 00 0E 24 05 03 01 00  00 04 1F 00 00 00 00 00  
            Raw Descriptor (hex)    0050: 09 04 01 00 01 0E 02 00  00 0E 24 01 01 90 01 81  
            Raw Descriptor (hex)    0060: 00 02 00 00 00 01 00 34  24 13 01 02 02 00 00 00  
            Raw Descriptor (hex)    0070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
            Raw Descriptor (hex)    0080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
            Raw Descriptor (hex)    0090: 00 00 00 00 00 00 00 00  00 00 00 A4 24 14 01 00  
            Raw Descriptor (hex)    00a0: 05 D0 02 01 00 01 00 00  4D 33 00 00 00 00 01 00  
            Raw Descriptor (hex)    00b0: 02 00 00 00 00 00 00 00  00 00 00 2D 31 01 00 2D  
            Raw Descriptor (hex)    00c0: 31 01 15 16 05 00 1E 15  16 05 00 FB 42 05 00 16  
            Raw Descriptor (hex)    00d0: 73 05 00 C2 A6 05 00 67  DE 05 00 80 1A 06 00 9A  
            Raw Descriptor (hex)    00e0: 5B 06 00 5E A2 06 00 91  EF 06 00 1E 44 07 00 20  
            Raw Descriptor (hex)    00f0: A1 07 00 EB 07 08 00 23  7A 08 00 CB F9 08 00 68  
            Raw Descriptor (hex)    0100: 89 09 00 2A 2C 0A 00 2D  E6 0A 00 CE BC 0B 00 35  
            Raw Descriptor (hex)    0110: B7 0C 00 22 DF 0D 00 40  42 0F 00 47 F4 10 00 D0  
            Raw Descriptor (hex)    0120: 12 13 00 5B CC 15 00 6A  6E 19 00 80 84 1E 00 A0  
            Raw Descriptor (hex)    0130: 25 26 00 D5 DC 32 00 40  4B 4C 00 80 96 98 00 A4  
            Raw Descriptor (hex)    0140: 24 14 02 80 02 E0 01 01  00 01 00 00 4D 33 00 00  
            Raw Descriptor (hex)    0150: 00 00 01 00 02 00 00 00  00 00 00 00 00 00 00 2D  
            Raw Descriptor (hex)    0160: 31 01 00 2D 31 01 15 16  05 00 1E 15 16 05 00 FB  
            Raw Descriptor (hex)    0170: 42 05 00 16 73 05 00 C2  A6 05 00 67 DE 05 00 80  
            Raw Descriptor (hex)    0180: 1A 06 00 9A 5B 06 00 5E  A2 06 00 91 EF 06 00 1E  
            Raw Descriptor (hex)    0190: 44 07 00 20 A1 07 00 EB  07 08 00 23 7A 08 00 CB  
            Raw Descriptor (hex)    01a0: F9 08 00 68 89 09 00 2A  2C 0A 00 2D E6 0A 00 CE  
            Raw Descriptor (hex)    01b0: BC 0B 00 35 B7 0C 00 22  DF 0D 00 40 42 0F 00 47  
            Raw Descriptor (hex)    01c0: F4 10 00 D0 12 13 00 5B  CC 15 00 6A 6E 19 00 80  
            Raw Descriptor (hex)    01d0: 84 1E 00 A0 25 26 00 D5  DC 32 00 40 4B 4C 00 80  
            Raw Descriptor (hex)    01e0: 96 98 00 06 24 0D 01 01  04 07 05 81 02 00 02 00  
            Raw Descriptor (hex)    01f0: 09 04 02 00 01 03 00 01  00 09 21 01 01 00 01 22  
            Raw Descriptor (hex)    0200: 0E 03 07 05 83 03 40 00  05 09 04 03 00 02 10 00  
            Raw Descriptor (hex)    0210: 00 00 07 05 85 02 00 02  0A 07 05 02 02 00 02 0A  
            Raw Descriptor (hex)    0220: 09 04 04 00 00 02 0D 00  0B 05 24 00 10 01 05 24  
            Raw Descriptor (hex)    0230: 06 04 05 0D 24 0F 0A 00  00 00 00 EA 05 00 00 00  
            Raw Descriptor (hex)    0240: 06 24 1A 00 01 33 09 04  05 00 00 0A 00 01 0C 09  
            Raw Descriptor (hex)    0250: 04 05 01 02 0A 00 01 0C  07 05 86 02 00 02 00 07  
            Raw Descriptor (hex)    0260: 05 04 02 00 02 00 09 04  06 00 01 03 00 01 00 09  
            Raw Descriptor (hex)    0270: 21 01 01 00 01 22 7A 02  07 05 87 03 00 04 07 09  
            Raw Descriptor (hex)    0280: 04 07 00 02 FF F9 11 09  07 05 05 02 00 02 00 07  
            Raw Descriptor (hex)    0290: 05 88 02 00 02 00 
        Number of Interfaces:   8
        Configuration Value:   2
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   0 mA
        Interface Association   Video/Control
            First Interface   0
            Interface Count   2
            Function Class   14   (Video)
            Function Subclass   1   (Control)
            Interface Protocol   0
            Function String   6 "FaceTime HD Camera (Build-in)"
        Interface #0 - Video/Control ..............................................   "FaceTime HD Camera (Build-in, SN:CC27445PA9CGJJM1L)"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   14   (Video)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            VDC (Control) Header   
                Length (and contents):   13
                    Raw Descriptor (hex)   0000: 0D 24 01 50 01 36 00 40  42 0F 00 01 01 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                Specification Version Number:   01.5
                Device Clock Frequency (Hz):   1000000
                Number of Video Streaming Interfaces:   1
                Video Interface Number:   1
            VDC (Control) Input Terminal   
                Length (and contents):   18
                    Raw Descriptor (hex)    0000: 12 24 02 01 01 02 00 00  00 00 00 00 00 00 03 00  
                    Raw Descriptor (hex)    0010: 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x2
                Terminal ID   1
                Input Terminal Type:   0x201 (Camera Sensor)
                Input Terminal ID:   0 [NONE]
                Input Terminal String Index:   0 [NONE]
                Minimum Focal Length   0
                Maximum Focal Length   0
                Ocular Focal Length   0
                Controls Supported   Description
            VDC (Control) Output Terminal   
                Length (and contents):   9
                    Raw Descriptor (hex)   0000: 09 24 03 02 01 01 00 01  00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x3
                Terminal ID:   2
                Output Terminal Type:   0x101 (USB streaming)
                Output Terminal ID:   0 [NONE]
                Output Terminal String Index:   0 [NONE]
            VDC (Control) Processing Unit   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 05 03 01 00 00 04  1F 00 00 00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x5
                Unit ID:   3
                Source ID:   1
                Digital Multiplier (100X):   0
                Controls Supported   Description
                       Brightness
                       Contrast
                       Hue
                       Saturation
                       Sharpness
                Processing Unit String Index:   0 [NONE]
        Interface #1 - Video/Streaming   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   14   (Video)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            VDC (Streaming) Input Header   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 01 01 90 01 81 00  02 00 00 00 01 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                bNumFormats:   1
                wTotalLength:   0x190 (400)
                bEndpointAddress:   0x81
                Capabilities (0x0)   bmInfo
                bTerminalLink:   2
                bStillCaptureMethod:   0 (None)
                bTriggerSupport   0 (Not Supported)
                bTriggerUsage   Ignored because bTriggerSupport is 0
                bControlSize:   0x1
                bmaControls( Format 1):   0x0
            Unknown SC_VIDEOSTREAMING SubType Descriptor   
                Length (and contents):   52
                    Raw Descriptor (hex)    0000: 34 24 13 01 02 02 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0030: 00 00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x13
            Unknown SC_VIDEOSTREAMING SubType Descriptor   
                Length (and contents):   164
                    Raw Descriptor (hex)    0000: A4 24 14 01 00 05 D0 02  01 00 01 00 00 4D 33 00  
                    Raw Descriptor (hex)    0010: 00 00 00 01 00 02 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0020: 2D 31 01 00 2D 31 01 15  16 05 00 1E 15 16 05 00  
                    Raw Descriptor (hex)    0030: FB 42 05 00 16 73 05 00  C2 A6 05 00 67 DE 05 00  
                    Raw Descriptor (hex)    0040: 80 1A 06 00 9A 5B 06 00  5E A2 06 00 91 EF 06 00  
                    Raw Descriptor (hex)    0050: 1E 44 07 00 20 A1 07 00  EB 07 08 00 23 7A 08 00  
                    Raw Descriptor (hex)    0060: CB F9 08 00 68 89 09 00  2A 2C 0A 00 2D E6 0A 00  
                    Raw Descriptor (hex)    0070: CE BC 0B 00 35 B7 0C 00  22 DF 0D 00 40 42 0F 00  
                    Raw Descriptor (hex)    0080: 47 F4 10 00 D0 12 13 00  5B CC 15 00 6A 6E 19 00  
                    Raw Descriptor (hex)    0090: 80 84 1E 00 A0 25 26 00  D5 DC 32 00 40 4B 4C 00  
                    Raw Descriptor (hex)    00a0: 80 96 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x14
            Unknown SC_VIDEOSTREAMING SubType Descriptor   
                Length (and contents):   164
                    Raw Descriptor (hex)    0000: A4 24 14 02 80 02 E0 01  01 00 01 00 00 4D 33 00  
                    Raw Descriptor (hex)    0010: 00 00 00 01 00 02 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0020: 2D 31 01 00 2D 31 01 15  16 05 00 1E 15 16 05 00  
                    Raw Descriptor (hex)    0030: FB 42 05 00 16 73 05 00  C2 A6 05 00 67 DE 05 00  
                    Raw Descriptor (hex)    0040: 80 1A 06 00 9A 5B 06 00  5E A2 06 00 91 EF 06 00  
                    Raw Descriptor (hex)    0050: 1E 44 07 00 20 A1 07 00  EB 07 08 00 23 7A 08 00  
                    Raw Descriptor (hex)    0060: CB F9 08 00 68 89 09 00  2A 2C 0A 00 2D E6 0A 00  
                    Raw Descriptor (hex)    0070: CE BC 0B 00 35 B7 0C 00  22 DF 0D 00 40 42 0F 00  
                    Raw Descriptor (hex)    0080: 47 F4 10 00 D0 12 13 00  5B CC 15 00 6A 6E 19 00  
                    Raw Descriptor (hex)    0090: 80 84 1E 00 A0 25 26 00  D5 DC 32 00 40 4B 4C 00  
                    Raw Descriptor (hex)    00a0: 80 96 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x14
            VDC (Streaming) Color Format Descriptor   
                Length (and contents):   6
                    Raw Descriptor (hex)   0000: 06 24 0D 01 01 04 
                bDescriptorType:   0x24
                bDescriptorSubType:   0xd
                Color Primaries:   1 ( BT.709, sRGB (default) )
                Transfer Characteristics:   1 ( BT.709 (default) )
                Matrix Coefficients:   4 ( SMPTE 170M (BT.601, default) )
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
        Interface #2 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   782
                        Raw Descriptor (hex)    0000: 05 0D 09 05 A1 01 05 0D  09 22 A1 02 05 0D 09 38  
                        Raw Descriptor (hex)    0010: 75 04 95 01 81 02 09 33  15 00 25 01 75 01 95 01  
                        Raw Descriptor (hex)    0020: 81 02 09 32 15 00 25 01  75 01 95 01 81 02 75 02  
                        Raw Descriptor (hex)    0030: 95 01 81 01 05 01 09 30  15 00 26 FF 7F 75 10 95  
                        Raw Descriptor (hex)    0040: 01 81 02 09 31 15 00 25  7F 75 08 95 01 81 02 C0  
                        Raw Descriptor (hex)    0050: 05 0D 09 22 A1 02 05 0D  09 38 75 04 95 01 81 02  
                        Raw Descriptor (hex)    0060: 09 33 15 00 25 01 75 01  95 01 81 02 09 32 15 00  
                        Raw Descriptor (hex)    0070: 25 01 75 01 95 01 81 02  75 02 95 01 81 01 05 01  
                        Raw Descriptor (hex)    0080: 09 30 15 00 26 FF 7F 75  10 95 01 81 02 09 31 15  
                        Raw Descriptor (hex)    0090: 00 25 7F 75 08 95 01 81  02 C0 05 0D 09 22 A1 02  
                        Raw Descriptor (hex)    00a0: 05 0D 09 38 75 04 95 01  81 02 09 33 15 00 25 01  
                        Raw Descriptor (hex)    00b0: 75 01 95 01 81 02 09 32  15 00 25 01 75 01 95 01  
                        Raw Descriptor (hex)    00c0: 81 02 75 02 95 01 81 01  05 01 09 30 15 00 26 FF  
                        Raw Descriptor (hex)    00d0: 7F 75 10 95 01 81 02 09  31 15 00 25 7F 75 08 95  
                        Raw Descriptor (hex)    00e0: 01 81 02 C0 05 0D 09 22  A1 02 05 0D 09 38 75 04  
                        Raw Descriptor (hex)    00f0: 95 01 81 02 09 33 15 00  25 01 75 01 95 01 81 02  
                        Raw Descriptor (hex)    0100: 09 32 15 00 25 01 75 01  95 01 81 02 75 02 95 01  
                        Raw Descriptor (hex)    0110: 81 01 05 01 09 30 15 00  26 FF 7F 75 10 95 01 81  
                        Raw Descriptor (hex)    0120: 02 09 31 15 00 25 7F 75  08 95 01 81 02 C0 05 0D  
                        Raw Descriptor (hex)    0130: 09 22 A1 02 05 0D 09 38  75 04 95 01 81 02 09 33  
                        Raw Descriptor (hex)    0140: 15 00 25 01 75 01 95 01  81 02 09 32 15 00 25 01  
                        Raw Descriptor (hex)    0150: 75 01 95 01 81 02 75 02  95 01 81 01 05 01 09 30  
                        Raw Descriptor (hex)    0160: 15 00 26 FF 7F 75 10 95  01 81 02 09 31 15 00 25  
                        Raw Descriptor (hex)    0170: 7F 75 08 95 01 81 02 C0  05 0D 09 22 A1 02 05 0D  
                        Raw Descriptor (hex)    0180: 09 38 75 04 95 01 81 02  09 33 15 00 25 01 75 01  
                        Raw Descriptor (hex)    0190: 95 01 81 02 09 32 15 00  25 01 75 01 95 01 81 02  
                        Raw Descriptor (hex)    01a0: 75 02 95 01 81 01 05 01  09 30 15 00 26 FF 7F 75  
                        Raw Descriptor (hex)    01b0: 10 95 01 81 02 09 31 15  00 25 7F 75 08 95 01 81  
                        Raw Descriptor (hex)    01c0: 02 C0 05 0D 09 22 A1 02  05 0D 09 38 75 04 95 01  
                        Raw Descriptor (hex)    01d0: 81 02 09 33 15 00 25 01  75 01 95 01 81 02 09 32  
                        Raw Descriptor (hex)    01e0: 15 00 25 01 75 01 95 01  81 02 75 02 95 01 81 01  
                        Raw Descriptor (hex)    01f0: 05 01 09 30 15 00 26 FF  7F 75 10 95 01 81 02 09  
                        Raw Descriptor (hex)    0200: 31 15 00 25 7F 75 08 95  01 81 02 C0 05 0D 09 22  
                        Raw Descriptor (hex)    0210: A1 02 05 0D 09 38 75 04  95 01 81 02 09 33 15 00  
                        Raw Descriptor (hex)    0220: 25 01 75 01 95 01 81 02  09 32 15 00 25 01 75 01  
                        Raw Descriptor (hex)    0230: 95 01 81 02 75 02 95 01  81 01 05 01 09 30 15 00  
                        Raw Descriptor (hex)    0240: 26 FF 7F 75 10 95 01 81  02 09 31 15 00 25 7F 75  
                        Raw Descriptor (hex)    0250: 08 95 01 81 02 C0 05 0D  09 22 A1 02 05 0D 09 38  
                        Raw Descriptor (hex)    0260: 75 04 95 01 81 02 09 33  15 00 25 01 75 01 95 01  
                        Raw Descriptor (hex)    0270: 81 02 09 32 15 00 25 01  75 01 95 01 81 02 75 02  
                        Raw Descriptor (hex)    0280: 95 01 81 01 05 01 09 30  15 00 26 FF 7F 75 10 95  
                        Raw Descriptor (hex)    0290: 01 81 02 09 31 15 00 25  7F 75 08 95 01 81 02 C0  
                        Raw Descriptor (hex)    02a0: 05 0D 09 22 A1 02 05 0D  09 38 75 04 95 01 81 02  
                        Raw Descriptor (hex)    02b0: 09 33 15 00 25 01 75 01  95 01 81 02 09 32 15 00  
                        Raw Descriptor (hex)    02c0: 25 01 75 01 95 01 81 02  75 02 95 01 81 01 05 01  
                        Raw Descriptor (hex)    02d0: 09 30 15 00 26 FF 7F 75  10 95 01 81 02 09 31 15  
                        Raw Descriptor (hex)    02e0: 00 25 7F 75 08 95 01 81  02 C0 06 00 FF 09 23 A1  
                        Raw Descriptor (hex)    02f0: 00 06 11 FF 09 01 95 01  75 40 81 02 09 02 75 20  
                        Raw Descriptor (hex)    0300: 95 01 81 02 C0 06 00 FF  09 16 A1 01 C0 C0 
                    Parsed Report Descriptor:   
                          Usage Page    (Digitizer) 
                          Usage 5 (0x5)    
                              Collection (Application)    
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Digitizer) 
                                Usage 34 (0x22)    
                                    Collection (Logical)    
                                      Usage Page    (Digitizer) 
                                      Usage 56 (0x38)    
                                      Report Size.............    (4)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 51 (0x33)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 50 (0x32)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Size.............    (1)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Report Size.............    (2)  
                                      Report Count............    (1)  
                                      Input...................   (Constant, Array, Absolute) 
                                      Usage Page    (Generic Desktop) 
                                      Usage (X)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (32767)  
                                      Report Size.............    (16)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage (Y)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Vendor defined 0) 
                                Usage 35 (0x23)    
                                    Collection (Physical)    
                                      Usage Page    (Vendor defined 17) 
                                      Usage 1 (0x1)    
                                      Report Count............    (1)  
                                      Report Size.............    (64)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage 2 (0x2)    
                                      Report Size.............    (32)  
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                                Usage Page    (Vendor defined 0) 
                                Usage 22 (0x16)    
                                    Collection (Application)    
                                    End Collection     
                              End Collection     
            Endpoint 0x83 - Interrupt Input   
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0040  (64 x 1  transactions opportunities per microframe)
                Polling Interval:   5 (16 microframes (2 msecs) )
        Interface #3 - Unknown   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   16   (Unknown)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x85 - Bulk Input   
                Address:   0x85  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   10 ( At most 1 NAK every 10 microframe(s) )
            Endpoint 0x02 - Bulk Output   
                Address:   0x02  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   10 ( At most 1 NAK every 10 microframe(s) )
        Interface #4 - Communications-Control ..............................................   "NCM Control"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   2   (Communications-Control)
            Interface Subclass;   13
            Interface Protocol:   0
            Comm Class Header Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 00 10 01 
            Comm Class Union Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 06 04 05 
            Comm Class Ethernet Networking Functional Descriptor   
                Raw Descriptor (hex)   0000: 0D 24 0F 0A 00 00 00 00  EA 05 00 00 00 
            Comm Class Reserved Functional Descriptor (26)   
                Raw Descriptor (hex)   0000: 06 24 1A 00 01 33 
        Interface #5 - Communications-Data/Unknown Comm Class Model ..............................................   "NCM Data"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   1
        Interface #5 - Communications-Data/Unknown Comm Class Model (#1) ..............................................   "NCM Data"
            Alternate Setting   1
            Number of Endpoints   2
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   1
            Endpoint 0x86 - Bulk Input   
                Address:   0x86  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
            Endpoint 0x04 - Bulk Output   
                Address:   0x04  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
        Interface #6 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   634
                        Raw Descriptor (hex)    0000: 05 20 09 41 A1 01 85 01  05 20 0A 16 03 15 01 25  
                        Raw Descriptor (hex)    0010: 02 75 08 95 01 A1 02 0A  40 08 0A 41 08 B1 00 C0  
                        Raw Descriptor (hex)    0020: 0A 0E 03 16 C8 00 26 10  27 75 10 95 01 B1 02 0A  
                        Raw Descriptor (hex)    0030: 09 03 15 01 25 01 75 08  95 01 A1 02 0A 30 08 B1  
                        Raw Descriptor (hex)    0040: 00 C0 0A 19 03 15 01 25  04 75 08 95 01 A1 02 0A  
                        Raw Descriptor (hex)    0050: 50 08 0A 51 08 0A 52 08  0A 55 08 B1 00 C0 0A 18  
                        Raw Descriptor (hex)    0060: 03 16 01 80 26 FF 7F 75  10 95 0A 55 00 B1 02 0A  
                        Raw Descriptor (hex)    0070: 01 02 15 01 25 07 75 08  95 01 A1 02 0A 00 08 0A  
                        Raw Descriptor (hex)    0080: 01 08 0A 02 08 0A 03 08  0A 04 08 0A 05 08 0A 06  
                        Raw Descriptor (hex)    0090: 08 B1 00 C0 0A D1 14 15  00 26 88 13 75 20 95 01  
                        Raw Descriptor (hex)    00a0: B1 02 0A 04 03 75 10 95  01 B1 02 05 20 0A 02 02  
                        Raw Descriptor (hex)    00b0: 15 01 25 01 75 08 95 01  A1 02 0A 11 08 0A 13 08  
                        Raw Descriptor (hex)    00c0: 81 00 C0 05 20 0A D1 04  15 00 26 88 13 75 20 95  
                        Raw Descriptor (hex)    00d0: 01 81 02 C0 06 12 FF 09  01 A1 01 85 04 09 10 15  
                        Raw Descriptor (hex)    00e0: 01 25 02 35 01 45 02 75  08 95 01 B1 02 09 11 15  
                        Raw Descriptor (hex)    00f0: 00 27 80 84 1E 00 35 00  46 D0 07 75 20 95 01 B1  
                        Raw Descriptor (hex)    0100: 02 09 12 15 00 26 E8 03  35 00 45 01 75 20 95 01  
                        Raw Descriptor (hex)    0110: B1 02 09 13 15 00 27 A0  86 01 00 35 00 45 64 75  
                        Raw Descriptor (hex)    0120: 20 95 01 B1 02 85 02 09  20 15 01 25 04 35 01 45  
                        Raw Descriptor (hex)    0130: 04 75 08 95 01 B1 02 09  21 15 01 25 04 35 01 45  
                        Raw Descriptor (hex)    0140: 04 75 08 95 01 B1 02 09  22 15 00 27 A0 86 01 00  
                        Raw Descriptor (hex)    0150: 35 00 45 64 75 20 95 01  B1 02 09 23 15 00 26 E8  
                        Raw Descriptor (hex)    0160: 03 35 00 45 01 75 20 95  01 B1 02 85 03 09 31 15  
                        Raw Descriptor (hex)    0170: 01 25 02 35 01 45 02 75  08 95 01 B1 02 09 32 15  
                        Raw Descriptor (hex)    0180: 00 27 A0 86 01 00 35 00  45 64 75 20 95 01 B1 02  
                        Raw Descriptor (hex)    0190: 09 50 15 01 25 01 35 01  45 01 75 08 95 01 B1 02  
                        Raw Descriptor (hex)    01a0: 09 51 15 00 27 FF FF FF  FF 35 00 47 FF FF FF FF  
                        Raw Descriptor (hex)    01b0: 75 40 95 01 B1 02 85 05  09 40 15 01 25 01 35 01  
                        Raw Descriptor (hex)    01c0: 45 01 75 10 95 01 B1 02  09 41 15 01 25 02 35 01  
                        Raw Descriptor (hex)    01d0: 45 02 75 08 95 01 B1 02  09 42 15 00 27 80 84 1E  
                        Raw Descriptor (hex)    01e0: 00 35 00 46 D0 07 75 20  95 01 B1 02 09 43 75 20  
                        Raw Descriptor (hex)    01f0: 95 01 B1 02 09 44 15 00  25 0A 35 01 45 0A 75 10  
                        Raw Descriptor (hex)    0200: 95 01 B1 02 09 45 15 01  25 0B 35 01 45 0B 75 10  
                        Raw Descriptor (hex)    0210: 95 01 B1 02 09 46 15 00  27 A0 86 01 00 35 00 45  
                        Raw Descriptor (hex)    0220: 64 75 20 95 01 B1 02 09  47 15 00 27 00 E1 F5 05  
                        Raw Descriptor (hex)    0230: 35 00 47 A0 86 01 00 75  20 95 0C B1 02 09 48 15  
                        Raw Descriptor (hex)    0240: 00 27 80 84 1E 00 35 00  46 D0 07 75 20 95 0C B1  
                        Raw Descriptor (hex)    0250: 02 85 06 09 31 15 01 25  02 35 01 45 02 75 08 95  
                        Raw Descriptor (hex)    0260: 01 81 02 09 51 15 00 27  FF FF FF FF 35 00 47 FF  
                        Raw Descriptor (hex)    0270: FF FF FF 75 40 95 01 81  02 C0 
                    Parsed Report Descriptor:   
                          Usage Page    (32) 
                          Usage 65 (0x41)    
                              Collection (Application)    
                                ReportID................    (1)  
                                Usage Page    (32) 
                                Usage 790 (0x316)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (2)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                    Collection (Logical)    
                                      Usage 2112 (0x840)    
                                      Usage 2113 (0x841)    
                                      Feature.................   (Data, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                    End Collection     
                                Usage 782 (0x30e)    
                                Logical Minimum.........    (200)  
                                Logical Maximum.........    (10000)  
                                Report Size.............    (16)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 777 (0x309)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                    Collection (Logical)    
                                      Usage 2096 (0x830)    
                                      Feature.................   (Data, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                    End Collection     
                                Usage 793 (0x319)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (4)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                    Collection (Logical)    
                                      Usage 2128 (0x850)    
                                      Usage 2129 (0x851)    
                                      Usage 2130 (0x852)    
                                      Usage 2133 (0x855)    
                                      Feature.................   (Data, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                    End Collection     
                                Usage 792 (0x318)    
                                Logical Minimum.........    (-32767)  
                                Logical Maximum.........    (32767)  
                                Report Size.............    (16)  
                                Report Count............    (10)  
                                Unit Exponent...........    (0)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 513 (0x201)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (7)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                    Collection (Logical)    
                                      Usage 2048 (0x800)    
                                      Usage 2049 (0x801)    
                                      Usage 2050 (0x802)    
                                      Usage 2051 (0x803)    
                                      Usage 2052 (0x804)    
                                      Usage 2053 (0x805)    
                                      Usage 2054 (0x806)    
                                      Feature.................   (Data, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                    End Collection     
                                Usage 5329 (0x14d1)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (5000)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 772 (0x304)    
                                Report Size.............    (16)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage Page    (32) 
                                Usage 514 (0x202)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                    Collection (Logical)    
                                      Usage 2065 (0x811)    
                                      Usage 2067 (0x813)    
                                      Input...................   (Data, Array, Absolute) 
                                    End Collection     
                                Usage Page    (32) 
                                Usage 1233 (0x4d1)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (5000)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                              End Collection     
                          Usage Page    (Vendor defined 18) 
                          Usage 1 (0x1)    
                              Collection (Application)    
                                ReportID................    (4)  
                                Usage 16 (0x10)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (2)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (2)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 17 (0x11)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (2000000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (2000)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 18 (0x12)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (1)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 19 (0x13)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (100000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (100)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (2)  
                                Usage 32 (0x20)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (4)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (4)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 33 (0x21)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (4)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (4)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 34 (0x22)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (100000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (100)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 35 (0x23)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (1)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (3)  
                                Usage 49 (0x31)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (2)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (2)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 50 (0x32)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (100000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (100)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 80 (0x50)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (1)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (1)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 81 (0x51)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (4294967295)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (4294967295)  
                                Report Size.............    (64)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (5)  
                                Usage 64 (0x40)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (1)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (1)  
                                Report Size.............    (16)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 65 (0x41)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (2)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (2)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 66 (0x42)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (2000000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (2000)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 67 (0x43)    
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 68 (0x44)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (10)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (10)  
                                Report Size.............    (16)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 69 (0x45)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (11)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (11)  
                                Report Size.............    (16)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 70 (0x46)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (100000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (100)  
                                Report Size.............    (32)  
                                Report Count............    (1)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 71 (0x47)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (100000000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (100000)  
                                Report Size.............    (32)  
                                Report Count............    (12)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 72 (0x48)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (2000000)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (2000)  
                                Report Size.............    (32)  
                                Report Count............    (12)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (6)  
                                Usage 49 (0x31)    
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (2)  
                                Physical Minimum........    (1)  
                                Physical Maximum........    (2)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Usage 81 (0x51)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (4294967295)  
                                Physical Minimum........    (0)  
                                Physical Maximum........    (4294967295)  
                                Report Size.............    (64)  
                                Report Count............    (1)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                              End Collection     
            Endpoint 0x87 - Interrupt Input   
                Address:   0x87  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0400  (1024 x 1  transactions opportunities per microframe)
                Polling Interval:   7 (64 microframes (8 msecs) )
        Interface #7 - Vendor-specific ..............................................   "Apple USB SEP Interface"
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   249   (Vendor-specific)
            Interface Protocol:   17
            Endpoint 0x05 - Bulk Output   
                Address:   0x05  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
            Endpoint 0x88 - Bulk Input   
                Address:   0x88  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
    Configuration Descriptor: .......................................   "Default iBridge Interfaces(Recovery)"
        Length (and contents):   539
            Raw Descriptor (hex)    0000: 09 02 1B 02 06 03 07 E0  00 08 0B 00 02 0E 01 00  
            Raw Descriptor (hex)    0010: 08 09 04 00 00 00 0E 01  00 0D 0D 24 01 50 01 36  
            Raw Descriptor (hex)    0020: 00 40 42 0F 00 01 01 12  24 02 01 01 02 00 00 00  
            Raw Descriptor (hex)    0030: 00 00 00 00 00 03 00 00  00 09 24 03 02 01 01 00  
            Raw Descriptor (hex)    0040: 01 00 0E 24 05 03 01 00  00 04 1F 00 00 00 00 00  
            Raw Descriptor (hex)    0050: 09 04 01 00 01 0E 02 00  00 0E 24 01 01 43 01 81  
            Raw Descriptor (hex)    0060: 00 02 00 00 00 01 00 0B  24 06 01 02 00 02 00 00  
            Raw Descriptor (hex)    0070: 00 00 92 24 07 01 00 00  05 D0 02 00 38 04 00 00  
            Raw Descriptor (hex)    0080: 90 7E 00 00 38 04 00 15  16 05 00 1E 15 16 05 00  
            Raw Descriptor (hex)    0090: FB 42 05 00 16 73 05 00  C2 A6 05 00 67 DE 05 00  
            Raw Descriptor (hex)    00a0: 80 1A 06 00 9A 5B 06 00  5E A2 06 00 91 EF 06 00  
            Raw Descriptor (hex)    00b0: 1E 44 07 00 20 A1 07 00  EB 07 08 00 23 7A 08 00  
            Raw Descriptor (hex)    00c0: CB F9 08 00 68 89 09 00  2A 2C 0A 00 2D E6 0A 00  
            Raw Descriptor (hex)    00d0: CE BC 0B 00 35 B7 0C 00  22 DF 0D 00 40 42 0F 00  
            Raw Descriptor (hex)    00e0: 47 F4 10 00 D0 12 13 00  5B CC 15 00 6A 6E 19 00  
            Raw Descriptor (hex)    00f0: 80 84 1E 00 A0 25 26 00  D5 DC 32 00 40 4B 4C 00  
            Raw Descriptor (hex)    0100: 80 96 98 00 92 24 07 02  00 80 02 E0 01 00 68 01  
            Raw Descriptor (hex)    0110: 00 00 30 2A 00 00 68 01  00 15 16 05 00 1E 15 16  
            Raw Descriptor (hex)    0120: 05 00 FB 42 05 00 16 73  05 00 C2 A6 05 00 67 DE  
            Raw Descriptor (hex)    0130: 05 00 80 1A 06 00 9A 5B  06 00 5E A2 06 00 91 EF  
            Raw Descriptor (hex)    0140: 06 00 1E 44 07 00 20 A1  07 00 EB 07 08 00 23 7A  
            Raw Descriptor (hex)    0150: 08 00 CB F9 08 00 68 89  09 00 2A 2C 0A 00 2D E6  
            Raw Descriptor (hex)    0160: 0A 00 CE BC 0B 00 35 B7  0C 00 22 DF 0D 00 40 42  
            Raw Descriptor (hex)    0170: 0F 00 47 F4 10 00 D0 12  13 00 5B CC 15 00 6A 6E  
            Raw Descriptor (hex)    0180: 19 00 80 84 1E 00 A0 25  26 00 D5 DC 32 00 40 4B  
            Raw Descriptor (hex)    0190: 4C 00 80 96 98 00 06 24  0D 01 01 04 07 05 81 02  
            Raw Descriptor (hex)    01a0: 00 02 00 09 04 02 00 01  03 01 01 00 09 21 01 01  
            Raw Descriptor (hex)    01b0: 00 01 22 53 00 07 05 83  03 40 00 07 09 04 03 00  
            Raw Descriptor (hex)    01c0: 01 03 00 01 00 09 21 01  01 00 01 22 7A 02 07 05  
            Raw Descriptor (hex)    01d0: 85 03 00 04 07 09 04 04  00 00 02 0D 00 0B 05 24  
            Raw Descriptor (hex)    01e0: 00 10 01 05 24 06 04 05  0D 24 0F 0A 00 00 00 00  
            Raw Descriptor (hex)    01f0: EA 05 00 00 00 06 24 1A  00 01 33 09 04 05 00 00  
            Raw Descriptor (hex)    0200: 0A 00 01 0C 09 04 05 01  02 0A 00 01 0C 07 05 86  
            Raw Descriptor (hex)    0210: 02 00 02 00 07 05 02 02  00 02 00 
        Number of Interfaces:   6
        Configuration Value:   3
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   0 mA
        Interface Association   Video/Control
            First Interface   0
            Interface Count   2
            Function Class   14   (Video)
            Function Subclass   1   (Control)
            Interface Protocol   0
            Function String   8 "FaceTime HD Camera (Build-in)"
        Interface #0 - Video/Control ..............................................   "FaceTime HD Camera (Build-in, SN:CC27445PA9CGJJM1L)"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   14   (Video)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            VDC (Control) Header   
                Length (and contents):   13
                    Raw Descriptor (hex)   0000: 0D 24 01 50 01 36 00 40  42 0F 00 01 01 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                Specification Version Number:   01.5
                Device Clock Frequency (Hz):   1000000
                Number of Video Streaming Interfaces:   1
                Video Interface Number:   1
            VDC (Control) Input Terminal   
                Length (and contents):   18
                    Raw Descriptor (hex)    0000: 12 24 02 01 01 02 00 00  00 00 00 00 00 00 03 00  
                    Raw Descriptor (hex)    0010: 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x2
                Terminal ID   1
                Input Terminal Type:   0x201 (Camera Sensor)
                Input Terminal ID:   0 [NONE]
                Input Terminal String Index:   0 [NONE]
                Minimum Focal Length   0
                Maximum Focal Length   0
                Ocular Focal Length   0
                Controls Supported   Description
            VDC (Control) Output Terminal   
                Length (and contents):   9
                    Raw Descriptor (hex)   0000: 09 24 03 02 01 01 00 01  00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x3
                Terminal ID:   2
                Output Terminal Type:   0x101 (USB streaming)
                Output Terminal ID:   0 [NONE]
                Output Terminal String Index:   0 [NONE]
            VDC (Control) Processing Unit   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 05 03 01 00 00 04  1F 00 00 00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x5
                Unit ID:   3
                Source ID:   1
                Digital Multiplier (100X):   0
                Controls Supported   Description
                       Brightness
                       Contrast
                       Hue
                       Saturation
                       Sharpness
                Processing Unit String Index:   0 [NONE]
        Interface #1 - Video/Streaming   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   14   (Video)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            VDC (Streaming) Input Header   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 01 01 43 01 81 00  02 00 00 00 01 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                bNumFormats:   1
                wTotalLength:   0x143 (323)
                bEndpointAddress:   0x81
                Capabilities (0x0)   bmInfo
                bTerminalLink:   2
                bStillCaptureMethod:   0 (None)
                bTriggerSupport   0 (Not Supported)
                bTriggerUsage   Ignored because bTriggerSupport is 0
                bControlSize:   0x1
                bmaControls( Format 1):   0x0
            VDC (Streaming) MJPEG Format Descriptor   
                Length (and contents):   11
                    Raw Descriptor (hex)   0000: 0B 24 06 01 02 00 02 00  00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x6
                bFormatIndex:   0x1
                bNumFrameDescriptors:   0x2
                bmFlags   (0x0)
                bDefaultFrameIndex:   0x2
                bAspectRatioX:   0x0
                bAspectRatioY:   0x0
                bmInterlaceFlags   (0x0)
                    Interlaced Stream or Variable   No
                    Fields per frame   1
                    Field 1 first   No
                    Field Pattern   Field 1 only
                    Display Mode   Bob only
                bCopyProtect   No Restriction
            VDC (Streaming) MJPEG Frame Descriptor   
                Length (and contents):   146
                    Raw Descriptor (hex)    0000: 92 24 07 01 00 00 05 D0  02 00 38 04 00 00 90 7E  
                    Raw Descriptor (hex)    0010: 00 00 38 04 00 15 16 05  00 1E 15 16 05 00 FB 42  
                    Raw Descriptor (hex)    0020: 05 00 16 73 05 00 C2 A6  05 00 67 DE 05 00 80 1A  
                    Raw Descriptor (hex)    0030: 06 00 9A 5B 06 00 5E A2  06 00 91 EF 06 00 1E 44  
                    Raw Descriptor (hex)    0040: 07 00 20 A1 07 00 EB 07  08 00 23 7A 08 00 CB F9  
                    Raw Descriptor (hex)    0050: 08 00 68 89 09 00 2A 2C  0A 00 2D E6 0A 00 CE BC  
                    Raw Descriptor (hex)    0060: 0B 00 35 B7 0C 00 22 DF  0D 00 40 42 0F 00 47 F4  
                    Raw Descriptor (hex)    0070: 10 00 D0 12 13 00 5B CC  15 00 6A 6E 19 00 80 84  
                    Raw Descriptor (hex)    0080: 1E 00 A0 25 26 00 D5 DC  32 00 40 4B 4C 00 80 96  
                    Raw Descriptor (hex)    0090: 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x7
                bFrameIndex:   1
                bmCapabilities    (0x0)
                wWidth:   0x500 (1280)
                wHeight:   0x2d0 (720)
                dwMinBitRate (bps):   0x43800 (276480)
                dwMaxBitRate (bps):   0x7e9000 (8294400)
                dwMaxVideoFrameBufferSize (bytes):   0x43800 (276480)
                dwDefaultFrameInterval:   0x51615 (  33.000 ms)
                Discrete Frame Intervals supported   30
                    dwFrameInterval[1] (100 ns)   0x51615 (  33.000 ms)
                    dwFrameInterval[2] (100 ns)   0x542fb (  34.000 ms)
                    dwFrameInterval[3] (100 ns)   0x57316 (  35.000 ms)
                    dwFrameInterval[4] (100 ns)   0x5a6c2 (  37.000 ms)
                    dwFrameInterval[5] (100 ns)   0x5de67 (  38.000 ms)
                    dwFrameInterval[6] (100 ns)   0x61a80 (  40.000 ms)
                    dwFrameInterval[7] (100 ns)   0x65b9a (  41.000 ms)
                    dwFrameInterval[8] (100 ns)   0x6a25e (  43.000 ms)
                    dwFrameInterval[9] (100 ns)   0x6ef91 (  45.000 ms)
                    dwFrameInterval[10] (100 ns)   0x7441e (  47.000 ms)
                    dwFrameInterval[11] (100 ns)   0x7a120 (  50.000 ms)
                    dwFrameInterval[12] (100 ns)   0x807eb (  52.000 ms)
                    dwFrameInterval[13] (100 ns)   0x87a23 (  55.000 ms)
                    dwFrameInterval[14] (100 ns)   0x8f9cb (  58.000 ms)
                    dwFrameInterval[15] (100 ns)   0x98968 (  62.000 ms)
                    dwFrameInterval[16] (100 ns)   0xa2c2a (  66.000 ms)
                    dwFrameInterval[17] (100 ns)   0xae62d (  71.000 ms)
                    dwFrameInterval[18] (100 ns)   0xbbcce (  76.000 ms)
                    dwFrameInterval[19] (100 ns)   0xcb735 (  83.000 ms)
                    dwFrameInterval[20] (100 ns)   0xddf22 (  90.000 ms)
                    dwFrameInterval[21] (100 ns)   0xf4240 ( 100.000 ms)
                    dwFrameInterval[22] (100 ns)   0x10f447 ( 111.000 ms)
                    dwFrameInterval[23] (100 ns)   0x1312d0 ( 125.000 ms)
                    dwFrameInterval[24] (100 ns)   0x15cc5b ( 142.000 ms)
                    dwFrameInterval[25] (100 ns)   0x196e6a ( 166.000 ms)
                    dwFrameInterval[26] (100 ns)   0x1e8480 ( 200.000 ms)
                    dwFrameInterval[27] (100 ns)   0x2625a0 ( 250.000 ms)
                    dwFrameInterval[28] (100 ns)   0x32dcd5 ( 333.000 ms)
                    dwFrameInterval[29] (100 ns)   0x4c4b40 ( 500.000 ms)
                    dwFrameInterval[30] (100 ns)   0x989680 (1000.000 ms)
            VDC (Streaming) MJPEG Frame Descriptor   
                Length (and contents):   146
                    Raw Descriptor (hex)    0000: 92 24 07 02 00 80 02 E0  01 00 68 01 00 00 30 2A  
                    Raw Descriptor (hex)    0010: 00 00 68 01 00 15 16 05  00 1E 15 16 05 00 FB 42  
                    Raw Descriptor (hex)    0020: 05 00 16 73 05 00 C2 A6  05 00 67 DE 05 00 80 1A  
                    Raw Descriptor (hex)    0030: 06 00 9A 5B 06 00 5E A2  06 00 91 EF 06 00 1E 44  
                    Raw Descriptor (hex)    0040: 07 00 20 A1 07 00 EB 07  08 00 23 7A 08 00 CB F9  
                    Raw Descriptor (hex)    0050: 08 00 68 89 09 00 2A 2C  0A 00 2D E6 0A 00 CE BC  
                    Raw Descriptor (hex)    0060: 0B 00 35 B7 0C 00 22 DF  0D 00 40 42 0F 00 47 F4  
                    Raw Descriptor (hex)    0070: 10 00 D0 12 13 00 5B CC  15 00 6A 6E 19 00 80 84  
                    Raw Descriptor (hex)    0080: 1E 00 A0 25 26 00 D5 DC  32 00 40 4B 4C 00 80 96  
                    Raw Descriptor (hex)    0090: 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x7
                bFrameIndex:   2
                bmCapabilities    (0x0)
                wWidth:   0x280 (640)
                wHeight:   0x1e0 (480)
                dwMinBitRate (bps):   0x16800 (92160)
                dwMaxBitRate (bps):   0x2a3000 (2764800)
                dwMaxVideoFrameBufferSize (bytes):   0x16800 (92160)
                dwDefaultFrameInterval:   0x51615 (  33.000 ms)
                Discrete Frame Intervals supported   30
                    dwFrameInterval[1] (100 ns)   0x51615 (  33.000 ms)
                    dwFrameInterval[2] (100 ns)   0x542fb (  34.000 ms)
                    dwFrameInterval[3] (100 ns)   0x57316 (  35.000 ms)
                    dwFrameInterval[4] (100 ns)   0x5a6c2 (  37.000 ms)
                    dwFrameInterval[5] (100 ns)   0x5de67 (  38.000 ms)
                    dwFrameInterval[6] (100 ns)   0x61a80 (  40.000 ms)
                    dwFrameInterval[7] (100 ns)   0x65b9a (  41.000 ms)
                    dwFrameInterval[8] (100 ns)   0x6a25e (  43.000 ms)
                    dwFrameInterval[9] (100 ns)   0x6ef91 (  45.000 ms)
                    dwFrameInterval[10] (100 ns)   0x7441e (  47.000 ms)
                    dwFrameInterval[11] (100 ns)   0x7a120 (  50.000 ms)
                    dwFrameInterval[12] (100 ns)   0x807eb (  52.000 ms)
                    dwFrameInterval[13] (100 ns)   0x87a23 (  55.000 ms)
                    dwFrameInterval[14] (100 ns)   0x8f9cb (  58.000 ms)
                    dwFrameInterval[15] (100 ns)   0x98968 (  62.000 ms)
                    dwFrameInterval[16] (100 ns)   0xa2c2a (  66.000 ms)
                    dwFrameInterval[17] (100 ns)   0xae62d (  71.000 ms)
                    dwFrameInterval[18] (100 ns)   0xbbcce (  76.000 ms)
                    dwFrameInterval[19] (100 ns)   0xcb735 (  83.000 ms)
                    dwFrameInterval[20] (100 ns)   0xddf22 (  90.000 ms)
                    dwFrameInterval[21] (100 ns)   0xf4240 ( 100.000 ms)
                    dwFrameInterval[22] (100 ns)   0x10f447 ( 111.000 ms)
                    dwFrameInterval[23] (100 ns)   0x1312d0 ( 125.000 ms)
                    dwFrameInterval[24] (100 ns)   0x15cc5b ( 142.000 ms)
                    dwFrameInterval[25] (100 ns)   0x196e6a ( 166.000 ms)
                    dwFrameInterval[26] (100 ns)   0x1e8480 ( 200.000 ms)
                    dwFrameInterval[27] (100 ns)   0x2625a0 ( 250.000 ms)
                    dwFrameInterval[28] (100 ns)   0x32dcd5 ( 333.000 ms)
                    dwFrameInterval[29] (100 ns)   0x4c4b40 ( 500.000 ms)
                    dwFrameInterval[30] (100 ns)   0x989680 (1000.000 ms)
            VDC (Streaming) Color Format Descriptor   
                Length (and contents):   6
                    Raw Descriptor (hex)   0000: 06 24 0D 01 01 04 
                bDescriptorType:   0x24
                bDescriptorSubType:   0xd
                Color Primaries:   1 ( BT.709, sRGB (default) )
                Transfer Characteristics:   1 ( BT.709 (default) )
                Matrix Coefficients:   4 ( SMPTE 170M (BT.601, default) )
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
        Interface #2 - HID/Boot Interface   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   1   (Boot Interface)
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   83
            Endpoint 0x83 - Interrupt Input   
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0040  (64 x 1  transactions opportunities per microframe)
                Polling Interval:   7 (64 microframes (8 msecs) )
        Interface #3 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   634
            Endpoint 0x85 - Interrupt Input   
                Address:   0x85  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0400  (1024 x 1  transactions opportunities per microframe)
                Polling Interval:   7 (64 microframes (8 msecs) )
        Interface #4 - Communications-Control ..............................................   "NCM Control"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   2   (Communications-Control)
            Interface Subclass;   13
            Interface Protocol:   0
            Comm Class Header Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 00 10 01 
            Comm Class Union Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 06 04 05 
            Comm Class Ethernet Networking Functional Descriptor   
                Raw Descriptor (hex)   0000: 0D 24 0F 0A 00 00 00 00  EA 05 00 00 00 
            Comm Class Reserved Functional Descriptor (26)   
                Raw Descriptor (hex)   0000: 06 24 1A 00 01 33 
        Interface #5 - Communications-Data/Unknown Comm Class Model ..............................................   "NCM Data"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   1
        Interface #5 - Communications-Data/Unknown Comm Class Model (#1) ..............................................   "NCM Data"
            Alternate Setting   1
            Number of Endpoints   2
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   1
            Endpoint 0x86 - Bulk Input   
                Address:   0x86  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
            Endpoint 0x02 - Bulk Output   
                Address:   0x02  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
    Device Qualifier Descriptor   
        Descriptor Version Number:   0x0200
        Device Class   239   (Miscellaneous)
        Device Subclass   2   (Common Class)
        Device Protocol   1   (Interface Association)
        Device MaxPacketSize:   64
        Number of Configurations:   3
        bReserved:   0

second half to follow...
 
Code:
    Other Speed Configuration Descriptor: .......................................   "Default iBridge Interfaces"
        Length (and contents):   469
            Raw Descriptor (hex)    0000: 09 07 D5 01 04 01 03 E0  00 08 0B 00 02 0E 01 00  
            Raw Descriptor (hex)    0010: 04 09 04 00 00 00 0E 01  00 0D 0D 24 01 50 01 36  
            Raw Descriptor (hex)    0020: 00 40 42 0F 00 01 01 12  24 02 01 01 02 00 00 00  
            Raw Descriptor (hex)    0030: 00 00 00 00 00 03 00 00  00 09 24 03 02 01 01 00  
            Raw Descriptor (hex)    0040: 01 00 0E 24 05 03 01 00  00 04 1F 00 00 00 00 00  
            Raw Descriptor (hex)    0050: 09 04 01 00 01 0E 02 00  00 0E 24 01 01 43 01 81  
            Raw Descriptor (hex)    0060: 00 02 00 00 00 01 00 0B  24 06 01 02 00 02 00 00  
            Raw Descriptor (hex)    0070: 00 00 92 24 07 01 00 00  05 D0 02 00 38 04 00 00  
            Raw Descriptor (hex)    0080: 90 7E 00 00 38 04 00 15  16 05 00 1E 15 16 05 00  
            Raw Descriptor (hex)    0090: FB 42 05 00 16 73 05 00  C2 A6 05 00 67 DE 05 00  
            Raw Descriptor (hex)    00a0: 80 1A 06 00 9A 5B 06 00  5E A2 06 00 91 EF 06 00  
            Raw Descriptor (hex)    00b0: 1E 44 07 00 20 A1 07 00  EB 07 08 00 23 7A 08 00  
            Raw Descriptor (hex)    00c0: CB F9 08 00 68 89 09 00  2A 2C 0A 00 2D E6 0A 00  
            Raw Descriptor (hex)    00d0: CE BC 0B 00 35 B7 0C 00  22 DF 0D 00 40 42 0F 00  
            Raw Descriptor (hex)    00e0: 47 F4 10 00 D0 12 13 00  5B CC 15 00 6A 6E 19 00  
            Raw Descriptor (hex)    00f0: 80 84 1E 00 A0 25 26 00  D5 DC 32 00 40 4B 4C 00  
            Raw Descriptor (hex)    0100: 80 96 98 00 92 24 07 02  00 80 02 E0 01 00 68 01  
            Raw Descriptor (hex)    0110: 00 00 30 2A 00 00 68 01  00 15 16 05 00 1E 15 16  
            Raw Descriptor (hex)    0120: 05 00 FB 42 05 00 16 73  05 00 C2 A6 05 00 67 DE  
            Raw Descriptor (hex)    0130: 05 00 80 1A 06 00 9A 5B  06 00 5E A2 06 00 91 EF  
            Raw Descriptor (hex)    0140: 06 00 1E 44 07 00 20 A1  07 00 EB 07 08 00 23 7A  
            Raw Descriptor (hex)    0150: 08 00 CB F9 08 00 68 89  09 00 2A 2C 0A 00 2D E6  
            Raw Descriptor (hex)    0160: 0A 00 CE BC 0B 00 35 B7  0C 00 22 DF 0D 00 40 42  
            Raw Descriptor (hex)    0170: 0F 00 47 F4 10 00 D0 12  13 00 5B CC 15 00 6A 6E  
            Raw Descriptor (hex)    0180: 19 00 80 84 1E 00 A0 25  26 00 D5 DC 32 00 40 4B  
            Raw Descriptor (hex)    0190: 4C 00 80 96 98 00 06 24  0D 01 01 04 07 05 81 02  
            Raw Descriptor (hex)    01a0: 40 00 00 09 04 02 00 01  03 01 01 00 09 21 01 01  
            Raw Descriptor (hex)    01b0: 00 01 22 53 00 07 05 83  03 40 00 08 09 04 03 00  
            Raw Descriptor (hex)    01c0: 01 03 00 01 00 09 21 01  01 00 01 22 7A 02 07 05  
            Raw Descriptor (hex)    01d0: 85 03 40 00 08 
        Number of Interfaces:   4
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   0 mA
        Interface Association   Video/Control
            First Interface   0
            Interface Count   2
            Function Class   14   (Video)
            Function Subclass   1   (Control)
            Interface Protocol   0
            Function String   4 "FaceTime HD Camera (Build-in)"
        Interface #0 - Video/Control ..............................................   "FaceTime HD Camera (Build-in, SN:CC27445PA9CGJJM1L)"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   14   (Video)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            VDC (Control) Header   
                Length (and contents):   13
                    Raw Descriptor (hex)   0000: 0D 24 01 50 01 36 00 40  42 0F 00 01 01 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                Specification Version Number:   01.5
                Device Clock Frequency (Hz):   1000000
                Number of Video Streaming Interfaces:   1
                Video Interface Number:   1
            VDC (Control) Input Terminal   
                Length (and contents):   18
                    Raw Descriptor (hex)    0000: 12 24 02 01 01 02 00 00  00 00 00 00 00 00 03 00  
                    Raw Descriptor (hex)    0010: 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x2
                Terminal ID   1
                Input Terminal Type:   0x201 (Camera Sensor)
                Input Terminal ID:   0 [NONE]
                Input Terminal String Index:   0 [NONE]
                Minimum Focal Length   0
                Maximum Focal Length   0
                Ocular Focal Length   0
                Controls Supported   Description
            VDC (Control) Output Terminal   
                Length (and contents):   9
                    Raw Descriptor (hex)   0000: 09 24 03 02 01 01 00 01  00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x3
                Terminal ID:   2
                Output Terminal Type:   0x101 (USB streaming)
                Output Terminal ID:   0 [NONE]
                Output Terminal String Index:   0 [NONE]
            VDC (Control) Processing Unit   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 05 03 01 00 00 04  1F 00 00 00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x5
                Unit ID:   3
                Source ID:   1
                Digital Multiplier (100X):   0
                Controls Supported   Description
                       Brightness
                       Contrast
                       Hue
                       Saturation
                       Sharpness
                Processing Unit String Index:   0 [NONE]
        Interface #1 - Video/Streaming   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   14   (Video)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            VDC (Streaming) Input Header   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 01 01 43 01 81 00  02 00 00 00 01 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                bNumFormats:   1
                wTotalLength:   0x143 (323)
                bEndpointAddress:   0x81
                Capabilities (0x0)   bmInfo
                bTerminalLink:   2
                bStillCaptureMethod:   0 (None)
                bTriggerSupport   0 (Not Supported)
                bTriggerUsage   Ignored because bTriggerSupport is 0
                bControlSize:   0x1
                bmaControls( Format 1):   0x0
            VDC (Streaming) MJPEG Format Descriptor   
                Length (and contents):   11
                    Raw Descriptor (hex)   0000: 0B 24 06 01 02 00 02 00  00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x6
                bFormatIndex:   0x1
                bNumFrameDescriptors:   0x2
                bmFlags   (0x0)
                bDefaultFrameIndex:   0x2
                bAspectRatioX:   0x0
                bAspectRatioY:   0x0
                bmInterlaceFlags   (0x0)
                    Interlaced Stream or Variable   No
                    Fields per frame   1
                    Field 1 first   No
                    Field Pattern   Field 1 only
                    Display Mode   Bob only
                bCopyProtect   No Restriction
            VDC (Streaming) MJPEG Frame Descriptor   
                Length (and contents):   146
                    Raw Descriptor (hex)    0000: 92 24 07 01 00 00 05 D0  02 00 38 04 00 00 90 7E  
                    Raw Descriptor (hex)    0010: 00 00 38 04 00 15 16 05  00 1E 15 16 05 00 FB 42  
                    Raw Descriptor (hex)    0020: 05 00 16 73 05 00 C2 A6  05 00 67 DE 05 00 80 1A  
                    Raw Descriptor (hex)    0030: 06 00 9A 5B 06 00 5E A2  06 00 91 EF 06 00 1E 44  
                    Raw Descriptor (hex)    0040: 07 00 20 A1 07 00 EB 07  08 00 23 7A 08 00 CB F9  
                    Raw Descriptor (hex)    0050: 08 00 68 89 09 00 2A 2C  0A 00 2D E6 0A 00 CE BC  
                    Raw Descriptor (hex)    0060: 0B 00 35 B7 0C 00 22 DF  0D 00 40 42 0F 00 47 F4  
                    Raw Descriptor (hex)    0070: 10 00 D0 12 13 00 5B CC  15 00 6A 6E 19 00 80 84  
                    Raw Descriptor (hex)    0080: 1E 00 A0 25 26 00 D5 DC  32 00 40 4B 4C 00 80 96  
                    Raw Descriptor (hex)    0090: 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x7
                bFrameIndex:   1
                bmCapabilities    (0x0)
                wWidth:   0x500 (1280)
                wHeight:   0x2d0 (720)
                dwMinBitRate (bps):   0x43800 (276480)
                dwMaxBitRate (bps):   0x7e9000 (8294400)
                dwMaxVideoFrameBufferSize (bytes):   0x43800 (276480)
                dwDefaultFrameInterval:   0x51615 (  33.000 ms)
                Discrete Frame Intervals supported   30
                    dwFrameInterval[1] (100 ns)   0x51615 (  33.000 ms)
                    dwFrameInterval[2] (100 ns)   0x542fb (  34.000 ms)
                    dwFrameInterval[3] (100 ns)   0x57316 (  35.000 ms)
                    dwFrameInterval[4] (100 ns)   0x5a6c2 (  37.000 ms)
                    dwFrameInterval[5] (100 ns)   0x5de67 (  38.000 ms)
                    dwFrameInterval[6] (100 ns)   0x61a80 (  40.000 ms)
                    dwFrameInterval[7] (100 ns)   0x65b9a (  41.000 ms)
                    dwFrameInterval[8] (100 ns)   0x6a25e (  43.000 ms)
                    dwFrameInterval[9] (100 ns)   0x6ef91 (  45.000 ms)
                    dwFrameInterval[10] (100 ns)   0x7441e (  47.000 ms)
                    dwFrameInterval[11] (100 ns)   0x7a120 (  50.000 ms)
                    dwFrameInterval[12] (100 ns)   0x807eb (  52.000 ms)
                    dwFrameInterval[13] (100 ns)   0x87a23 (  55.000 ms)
                    dwFrameInterval[14] (100 ns)   0x8f9cb (  58.000 ms)
                    dwFrameInterval[15] (100 ns)   0x98968 (  62.000 ms)
                    dwFrameInterval[16] (100 ns)   0xa2c2a (  66.000 ms)
                    dwFrameInterval[17] (100 ns)   0xae62d (  71.000 ms)
                    dwFrameInterval[18] (100 ns)   0xbbcce (  76.000 ms)
                    dwFrameInterval[19] (100 ns)   0xcb735 (  83.000 ms)
                    dwFrameInterval[20] (100 ns)   0xddf22 (  90.000 ms)
                    dwFrameInterval[21] (100 ns)   0xf4240 ( 100.000 ms)
                    dwFrameInterval[22] (100 ns)   0x10f447 ( 111.000 ms)
                    dwFrameInterval[23] (100 ns)   0x1312d0 ( 125.000 ms)
                    dwFrameInterval[24] (100 ns)   0x15cc5b ( 142.000 ms)
                    dwFrameInterval[25] (100 ns)   0x196e6a ( 166.000 ms)
                    dwFrameInterval[26] (100 ns)   0x1e8480 ( 200.000 ms)
                    dwFrameInterval[27] (100 ns)   0x2625a0 ( 250.000 ms)
                    dwFrameInterval[28] (100 ns)   0x32dcd5 ( 333.000 ms)
                    dwFrameInterval[29] (100 ns)   0x4c4b40 ( 500.000 ms)
                    dwFrameInterval[30] (100 ns)   0x989680 (1000.000 ms)
            VDC (Streaming) MJPEG Frame Descriptor   
                Length (and contents):   146
                    Raw Descriptor (hex)    0000: 92 24 07 02 00 80 02 E0  01 00 68 01 00 00 30 2A  
                    Raw Descriptor (hex)    0010: 00 00 68 01 00 15 16 05  00 1E 15 16 05 00 FB 42  
                    Raw Descriptor (hex)    0020: 05 00 16 73 05 00 C2 A6  05 00 67 DE 05 00 80 1A  
                    Raw Descriptor (hex)    0030: 06 00 9A 5B 06 00 5E A2  06 00 91 EF 06 00 1E 44  
                    Raw Descriptor (hex)    0040: 07 00 20 A1 07 00 EB 07  08 00 23 7A 08 00 CB F9  
                    Raw Descriptor (hex)    0050: 08 00 68 89 09 00 2A 2C  0A 00 2D E6 0A 00 CE BC  
                    Raw Descriptor (hex)    0060: 0B 00 35 B7 0C 00 22 DF  0D 00 40 42 0F 00 47 F4  
                    Raw Descriptor (hex)    0070: 10 00 D0 12 13 00 5B CC  15 00 6A 6E 19 00 80 84  
                    Raw Descriptor (hex)    0080: 1E 00 A0 25 26 00 D5 DC  32 00 40 4B 4C 00 80 96  
                    Raw Descriptor (hex)    0090: 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x7
                bFrameIndex:   2
                bmCapabilities    (0x0)
                wWidth:   0x280 (640)
                wHeight:   0x1e0 (480)
                dwMinBitRate (bps):   0x16800 (92160)
                dwMaxBitRate (bps):   0x2a3000 (2764800)
                dwMaxVideoFrameBufferSize (bytes):   0x16800 (92160)
                dwDefaultFrameInterval:   0x51615 (  33.000 ms)
                Discrete Frame Intervals supported   30
                    dwFrameInterval[1] (100 ns)   0x51615 (  33.000 ms)
                    dwFrameInterval[2] (100 ns)   0x542fb (  34.000 ms)
                    dwFrameInterval[3] (100 ns)   0x57316 (  35.000 ms)
                    dwFrameInterval[4] (100 ns)   0x5a6c2 (  37.000 ms)
                    dwFrameInterval[5] (100 ns)   0x5de67 (  38.000 ms)
                    dwFrameInterval[6] (100 ns)   0x61a80 (  40.000 ms)
                    dwFrameInterval[7] (100 ns)   0x65b9a (  41.000 ms)
                    dwFrameInterval[8] (100 ns)   0x6a25e (  43.000 ms)
                    dwFrameInterval[9] (100 ns)   0x6ef91 (  45.000 ms)
                    dwFrameInterval[10] (100 ns)   0x7441e (  47.000 ms)
                    dwFrameInterval[11] (100 ns)   0x7a120 (  50.000 ms)
                    dwFrameInterval[12] (100 ns)   0x807eb (  52.000 ms)
                    dwFrameInterval[13] (100 ns)   0x87a23 (  55.000 ms)
                    dwFrameInterval[14] (100 ns)   0x8f9cb (  58.000 ms)
                    dwFrameInterval[15] (100 ns)   0x98968 (  62.000 ms)
                    dwFrameInterval[16] (100 ns)   0xa2c2a (  66.000 ms)
                    dwFrameInterval[17] (100 ns)   0xae62d (  71.000 ms)
                    dwFrameInterval[18] (100 ns)   0xbbcce (  76.000 ms)
                    dwFrameInterval[19] (100 ns)   0xcb735 (  83.000 ms)
                    dwFrameInterval[20] (100 ns)   0xddf22 (  90.000 ms)
                    dwFrameInterval[21] (100 ns)   0xf4240 ( 100.000 ms)
                    dwFrameInterval[22] (100 ns)   0x10f447 ( 111.000 ms)
                    dwFrameInterval[23] (100 ns)   0x1312d0 ( 125.000 ms)
                    dwFrameInterval[24] (100 ns)   0x15cc5b ( 142.000 ms)
                    dwFrameInterval[25] (100 ns)   0x196e6a ( 166.000 ms)
                    dwFrameInterval[26] (100 ns)   0x1e8480 ( 200.000 ms)
                    dwFrameInterval[27] (100 ns)   0x2625a0 ( 250.000 ms)
                    dwFrameInterval[28] (100 ns)   0x32dcd5 ( 333.000 ms)
                    dwFrameInterval[29] (100 ns)   0x4c4b40 ( 500.000 ms)
                    dwFrameInterval[30] (100 ns)   0x989680 (1000.000 ms)
            VDC (Streaming) Color Format Descriptor   
                Length (and contents):   6
                    Raw Descriptor (hex)   0000: 06 24 0D 01 01 04 
                bDescriptorType:   0x24
                bDescriptorSubType:   0xd
                Color Primaries:   1 ( BT.709, sRGB (default) )
                Transfer Characteristics:   1 ( BT.709 (default) )
                Matrix Coefficients:   4 ( SMPTE 170M (BT.601, default) )
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
        Interface #2 - HID/Boot Interface   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   1   (Boot Interface)
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   83
            Endpoint 0x83 - Interrupt Input   
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   64
                Polling Interval:   8 ms
        Interface #3 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   634
            Endpoint 0x85 - Interrupt Input   
                Address:   0x85  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   64
                Polling Interval:   8 ms
    Other Speed Configuration Descriptor: .......................................   "Default iBridge Interfaces(OS X)"
        Length (and contents):   662
            Raw Descriptor (hex)    0000: 09 07 96 02 08 02 05 E0  00 08 0B 00 02 0E 01 00  
            Raw Descriptor (hex)    0010: 06 09 04 00 00 00 0E 01  00 0E 0D 24 01 50 01 36  
            Raw Descriptor (hex)    0020: 00 40 42 0F 00 01 01 12  24 02 01 01 02 00 00 00  
            Raw Descriptor (hex)    0030: 00 00 00 00 00 03 00 00  00 09 24 03 02 01 01 00  
            Raw Descriptor (hex)    0040: 01 00 0E 24 05 03 01 00  00 04 1F 00 00 00 00 00  
            Raw Descriptor (hex)    0050: 09 04 01 00 01 0E 02 00  00 0E 24 01 01 90 01 81  
            Raw Descriptor (hex)    0060: 00 02 00 00 00 01 00 34  24 13 01 02 02 00 00 00  
            Raw Descriptor (hex)    0070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
            Raw Descriptor (hex)    0080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
            Raw Descriptor (hex)    0090: 00 00 00 00 00 00 00 00  00 00 00 A4 24 14 01 00  
            Raw Descriptor (hex)    00a0: 05 D0 02 01 00 01 00 00  4D 33 00 00 00 00 01 00  
            Raw Descriptor (hex)    00b0: 02 00 00 00 00 00 00 00  00 00 00 2D 31 01 00 2D  
            Raw Descriptor (hex)    00c0: 31 01 15 16 05 00 1E 15  16 05 00 FB 42 05 00 16  
            Raw Descriptor (hex)    00d0: 73 05 00 C2 A6 05 00 67  DE 05 00 80 1A 06 00 9A  
            Raw Descriptor (hex)    00e0: 5B 06 00 5E A2 06 00 91  EF 06 00 1E 44 07 00 20  
            Raw Descriptor (hex)    00f0: A1 07 00 EB 07 08 00 23  7A 08 00 CB F9 08 00 68  
            Raw Descriptor (hex)    0100: 89 09 00 2A 2C 0A 00 2D  E6 0A 00 CE BC 0B 00 35  
            Raw Descriptor (hex)    0110: B7 0C 00 22 DF 0D 00 40  42 0F 00 47 F4 10 00 D0  
            Raw Descriptor (hex)    0120: 12 13 00 5B CC 15 00 6A  6E 19 00 80 84 1E 00 A0  
            Raw Descriptor (hex)    0130: 25 26 00 D5 DC 32 00 40  4B 4C 00 80 96 98 00 A4  
            Raw Descriptor (hex)    0140: 24 14 02 80 02 E0 01 01  00 01 00 00 4D 33 00 00  
            Raw Descriptor (hex)    0150: 00 00 01 00 02 00 00 00  00 00 00 00 00 00 00 2D  
            Raw Descriptor (hex)    0160: 31 01 00 2D 31 01 15 16  05 00 1E 15 16 05 00 FB  
            Raw Descriptor (hex)    0170: 42 05 00 16 73 05 00 C2  A6 05 00 67 DE 05 00 80  
            Raw Descriptor (hex)    0180: 1A 06 00 9A 5B 06 00 5E  A2 06 00 91 EF 06 00 1E  
            Raw Descriptor (hex)    0190: 44 07 00 20 A1 07 00 EB  07 08 00 23 7A 08 00 CB  
            Raw Descriptor (hex)    01a0: F9 08 00 68 89 09 00 2A  2C 0A 00 2D E6 0A 00 CE  
            Raw Descriptor (hex)    01b0: BC 0B 00 35 B7 0C 00 22  DF 0D 00 40 42 0F 00 47  
            Raw Descriptor (hex)    01c0: F4 10 00 D0 12 13 00 5B  CC 15 00 6A 6E 19 00 80  
            Raw Descriptor (hex)    01d0: 84 1E 00 A0 25 26 00 D5  DC 32 00 40 4B 4C 00 80  
            Raw Descriptor (hex)    01e0: 96 98 00 06 24 0D 01 01  04 07 05 81 02 40 00 00  
            Raw Descriptor (hex)    01f0: 09 04 02 00 01 03 00 01  00 09 21 01 01 00 01 22  
            Raw Descriptor (hex)    0200: 0E 03 07 05 83 03 40 00  02 09 04 03 00 02 10 00  
            Raw Descriptor (hex)    0210: 00 00 07 05 85 02 40 00  00 07 05 02 02 40 00 00  
            Raw Descriptor (hex)    0220: 09 04 04 00 00 02 0D 00  0B 05 24 00 10 01 05 24  
            Raw Descriptor (hex)    0230: 06 04 05 0D 24 0F 0A 00  00 00 00 EA 05 00 00 00  
            Raw Descriptor (hex)    0240: 06 24 1A 00 01 33 09 04  05 00 00 0A 00 01 0C 09  
            Raw Descriptor (hex)    0250: 04 05 01 02 0A 00 01 0C  07 05 86 02 40 00 00 07  
            Raw Descriptor (hex)    0260: 05 04 02 40 00 00 09 04  06 00 01 03 00 01 00 09  
            Raw Descriptor (hex)    0270: 21 01 01 00 01 22 7A 02  07 05 87 03 40 00 08 09  
            Raw Descriptor (hex)    0280: 04 07 00 02 FF F9 11 09  07 05 05 02 40 00 00 07  
            Raw Descriptor (hex)    0290: 05 88 02 40 00 00 
        Number of Interfaces:   8
        Configuration Value:   2
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   0 mA
        Interface Association   Video/Control
            First Interface   0
            Interface Count   2
            Function Class   14   (Video)
            Function Subclass   1   (Control)
            Interface Protocol   0
            Function String   6 "FaceTime HD Camera (Build-in)"
        Interface #0 - Video/Control ..............................................   "FaceTime HD Camera (Build-in, SN:CC27445PA9CGJJM1L)"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   14   (Video)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            VDC (Control) Header   
                Length (and contents):   13
                    Raw Descriptor (hex)   0000: 0D 24 01 50 01 36 00 40  42 0F 00 01 01 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                Specification Version Number:   01.5
                Device Clock Frequency (Hz):   1000000
                Number of Video Streaming Interfaces:   1
                Video Interface Number:   1
            VDC (Control) Input Terminal   
                Length (and contents):   18
                    Raw Descriptor (hex)    0000: 12 24 02 01 01 02 00 00  00 00 00 00 00 00 03 00  
                    Raw Descriptor (hex)    0010: 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x2
                Terminal ID   1
                Input Terminal Type:   0x201 (Camera Sensor)
                Input Terminal ID:   0 [NONE]
                Input Terminal String Index:   0 [NONE]
                Minimum Focal Length   0
                Maximum Focal Length   0
                Ocular Focal Length   0
                Controls Supported   Description
            VDC (Control) Output Terminal   
                Length (and contents):   9
                    Raw Descriptor (hex)   0000: 09 24 03 02 01 01 00 01  00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x3
                Terminal ID:   2
                Output Terminal Type:   0x101 (USB streaming)
                Output Terminal ID:   0 [NONE]
                Output Terminal String Index:   0 [NONE]
            VDC (Control) Processing Unit   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 05 03 01 00 00 04  1F 00 00 00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x5
                Unit ID:   3
                Source ID:   1
                Digital Multiplier (100X):   0
                Controls Supported   Description
                       Brightness
                       Contrast
                       Hue
                       Saturation
                       Sharpness
                Processing Unit String Index:   0 [NONE]
        Interface #1 - Video/Streaming   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   14   (Video)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            VDC (Streaming) Input Header   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 01 01 90 01 81 00  02 00 00 00 01 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                bNumFormats:   1
                wTotalLength:   0x190 (400)
                bEndpointAddress:   0x81
                Capabilities (0x0)   bmInfo
                bTerminalLink:   2
                bStillCaptureMethod:   0 (None)
                bTriggerSupport   0 (Not Supported)
                bTriggerUsage   Ignored because bTriggerSupport is 0
                bControlSize:   0x1
                bmaControls( Format 1):   0x0
            Unknown SC_VIDEOSTREAMING SubType Descriptor   
                Length (and contents):   52
                    Raw Descriptor (hex)    0000: 34 24 13 01 02 02 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0030: 00 00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x13
            Unknown SC_VIDEOSTREAMING SubType Descriptor   
                Length (and contents):   164
                    Raw Descriptor (hex)    0000: A4 24 14 01 00 05 D0 02  01 00 01 00 00 4D 33 00  
                    Raw Descriptor (hex)    0010: 00 00 00 01 00 02 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0020: 2D 31 01 00 2D 31 01 15  16 05 00 1E 15 16 05 00  
                    Raw Descriptor (hex)    0030: FB 42 05 00 16 73 05 00  C2 A6 05 00 67 DE 05 00  
                    Raw Descriptor (hex)    0040: 80 1A 06 00 9A 5B 06 00  5E A2 06 00 91 EF 06 00  
                    Raw Descriptor (hex)    0050: 1E 44 07 00 20 A1 07 00  EB 07 08 00 23 7A 08 00  
                    Raw Descriptor (hex)    0060: CB F9 08 00 68 89 09 00  2A 2C 0A 00 2D E6 0A 00  
                    Raw Descriptor (hex)    0070: CE BC 0B 00 35 B7 0C 00  22 DF 0D 00 40 42 0F 00  
                    Raw Descriptor (hex)    0080: 47 F4 10 00 D0 12 13 00  5B CC 15 00 6A 6E 19 00  
                    Raw Descriptor (hex)    0090: 80 84 1E 00 A0 25 26 00  D5 DC 32 00 40 4B 4C 00  
                    Raw Descriptor (hex)    00a0: 80 96 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x14
            Unknown SC_VIDEOSTREAMING SubType Descriptor   
                Length (and contents):   164
                    Raw Descriptor (hex)    0000: A4 24 14 02 80 02 E0 01  01 00 01 00 00 4D 33 00  
                    Raw Descriptor (hex)    0010: 00 00 00 01 00 02 00 00  00 00 00 00 00 00 00 00  
                    Raw Descriptor (hex)    0020: 2D 31 01 00 2D 31 01 15  16 05 00 1E 15 16 05 00  
                    Raw Descriptor (hex)    0030: FB 42 05 00 16 73 05 00  C2 A6 05 00 67 DE 05 00  
                    Raw Descriptor (hex)    0040: 80 1A 06 00 9A 5B 06 00  5E A2 06 00 91 EF 06 00  
                    Raw Descriptor (hex)    0050: 1E 44 07 00 20 A1 07 00  EB 07 08 00 23 7A 08 00  
                    Raw Descriptor (hex)    0060: CB F9 08 00 68 89 09 00  2A 2C 0A 00 2D E6 0A 00  
                    Raw Descriptor (hex)    0070: CE BC 0B 00 35 B7 0C 00  22 DF 0D 00 40 42 0F 00  
                    Raw Descriptor (hex)    0080: 47 F4 10 00 D0 12 13 00  5B CC 15 00 6A 6E 19 00  
                    Raw Descriptor (hex)    0090: 80 84 1E 00 A0 25 26 00  D5 DC 32 00 40 4B 4C 00  
                    Raw Descriptor (hex)    00a0: 80 96 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x14
            VDC (Streaming) Color Format Descriptor   
                Length (and contents):   6
                    Raw Descriptor (hex)   0000: 06 24 0D 01 01 04 
                bDescriptorType:   0x24
                bDescriptorSubType:   0xd
                Color Primaries:   1 ( BT.709, sRGB (default) )
                Transfer Characteristics:   1 ( BT.709 (default) )
                Matrix Coefficients:   4 ( SMPTE 170M (BT.601, default) )
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
        Interface #2 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   782
            Endpoint 0x83 - Interrupt Input   
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   64
                Polling Interval:   2 ms
        Interface #3 - Unknown   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   16   (Unknown)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x85 - Bulk Input   
                Address:   0x85  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x02 - Bulk Output   
                Address:   0x02  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
        Interface #4 - Communications-Control ..............................................   "NCM Control"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   2   (Communications-Control)
            Interface Subclass;   13
            Interface Protocol:   0
            Comm Class Header Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 00 10 01 
            Comm Class Union Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 06 04 05 
            Comm Class Ethernet Networking Functional Descriptor   
                Raw Descriptor (hex)   0000: 0D 24 0F 0A 00 00 00 00  EA 05 00 00 00 
            Comm Class Reserved Functional Descriptor (26)   
                Raw Descriptor (hex)   0000: 06 24 1A 00 01 33 
        Interface #5 - Communications-Data/Unknown Comm Class Model ..............................................   "NCM Data"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   1
        Interface #5 - Communications-Data/Unknown Comm Class Model (#1) ..............................................   "NCM Data"
            Alternate Setting   1
            Number of Endpoints   2
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   1
            Endpoint 0x86 - Bulk Input   
                Address:   0x86  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x04 - Bulk Output   
                Address:   0x04  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
        Interface #6 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   634
            Endpoint 0x87 - Interrupt Input   
                Address:   0x87  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   64
                Polling Interval:   8 ms
        Interface #7 - Vendor-specific ..............................................   "Apple USB SEP Interface"
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   249   (Vendor-specific)
            Interface Protocol:   17
            Endpoint 0x05 - Bulk Output   
                Address:   0x05  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x88 - Bulk Input   
                Address:   0x88  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
    Other Speed Configuration Descriptor: .......................................   "Default iBridge Interfaces(Recovery)"
        Length (and contents):   539
            Raw Descriptor (hex)    0000: 09 07 1B 02 06 03 07 E0  00 08 0B 00 02 0E 01 00  
            Raw Descriptor (hex)    0010: 08 09 04 00 00 00 0E 01  00 0D 0D 24 01 50 01 36  
            Raw Descriptor (hex)    0020: 00 40 42 0F 00 01 01 12  24 02 01 01 02 00 00 00  
            Raw Descriptor (hex)    0030: 00 00 00 00 00 03 00 00  00 09 24 03 02 01 01 00  
            Raw Descriptor (hex)    0040: 01 00 0E 24 05 03 01 00  00 04 1F 00 00 00 00 00  
            Raw Descriptor (hex)    0050: 09 04 01 00 01 0E 02 00  00 0E 24 01 01 43 01 81  
            Raw Descriptor (hex)    0060: 00 02 00 00 00 01 00 0B  24 06 01 02 00 02 00 00  
            Raw Descriptor (hex)    0070: 00 00 92 24 07 01 00 00  05 D0 02 00 38 04 00 00  
            Raw Descriptor (hex)    0080: 90 7E 00 00 38 04 00 15  16 05 00 1E 15 16 05 00  
            Raw Descriptor (hex)    0090: FB 42 05 00 16 73 05 00  C2 A6 05 00 67 DE 05 00  
            Raw Descriptor (hex)    00a0: 80 1A 06 00 9A 5B 06 00  5E A2 06 00 91 EF 06 00  
            Raw Descriptor (hex)    00b0: 1E 44 07 00 20 A1 07 00  EB 07 08 00 23 7A 08 00  
            Raw Descriptor (hex)    00c0: CB F9 08 00 68 89 09 00  2A 2C 0A 00 2D E6 0A 00  
            Raw Descriptor (hex)    00d0: CE BC 0B 00 35 B7 0C 00  22 DF 0D 00 40 42 0F 00  
            Raw Descriptor (hex)    00e0: 47 F4 10 00 D0 12 13 00  5B CC 15 00 6A 6E 19 00  
            Raw Descriptor (hex)    00f0: 80 84 1E 00 A0 25 26 00  D5 DC 32 00 40 4B 4C 00  
            Raw Descriptor (hex)    0100: 80 96 98 00 92 24 07 02  00 80 02 E0 01 00 68 01  
            Raw Descriptor (hex)    0110: 00 00 30 2A 00 00 68 01  00 15 16 05 00 1E 15 16  
            Raw Descriptor (hex)    0120: 05 00 FB 42 05 00 16 73  05 00 C2 A6 05 00 67 DE  
            Raw Descriptor (hex)    0130: 05 00 80 1A 06 00 9A 5B  06 00 5E A2 06 00 91 EF  
            Raw Descriptor (hex)    0140: 06 00 1E 44 07 00 20 A1  07 00 EB 07 08 00 23 7A  
            Raw Descriptor (hex)    0150: 08 00 CB F9 08 00 68 89  09 00 2A 2C 0A 00 2D E6  
            Raw Descriptor (hex)    0160: 0A 00 CE BC 0B 00 35 B7  0C 00 22 DF 0D 00 40 42  
            Raw Descriptor (hex)    0170: 0F 00 47 F4 10 00 D0 12  13 00 5B CC 15 00 6A 6E  
            Raw Descriptor (hex)    0180: 19 00 80 84 1E 00 A0 25  26 00 D5 DC 32 00 40 4B  
            Raw Descriptor (hex)    0190: 4C 00 80 96 98 00 06 24  0D 01 01 04 07 05 81 02  
            Raw Descriptor (hex)    01a0: 40 00 00 09 04 02 00 01  03 01 01 00 09 21 01 01  
            Raw Descriptor (hex)    01b0: 00 01 22 53 00 07 05 83  03 40 00 08 09 04 03 00  
            Raw Descriptor (hex)    01c0: 01 03 00 01 00 09 21 01  01 00 01 22 7A 02 07 05  
            Raw Descriptor (hex)    01d0: 85 03 40 00 08 09 04 04  00 00 02 0D 00 0B 05 24  
            Raw Descriptor (hex)    01e0: 00 10 01 05 24 06 04 05  0D 24 0F 0A 00 00 00 00  
            Raw Descriptor (hex)    01f0: EA 05 00 00 00 06 24 1A  00 01 33 09 04 05 00 00  
            Raw Descriptor (hex)    0200: 0A 00 01 0C 09 04 05 01  02 0A 00 01 0C 07 05 86  
            Raw Descriptor (hex)    0210: 02 40 00 00 07 05 02 02  40 00 00 
        Number of Interfaces:   6
        Configuration Value:   3
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   0 mA
        Interface Association   Video/Control
            First Interface   0
            Interface Count   2
            Function Class   14   (Video)
            Function Subclass   1   (Control)
            Interface Protocol   0
            Function String   8 "FaceTime HD Camera (Build-in)"
        Interface #0 - Video/Control ..............................................   "FaceTime HD Camera (Build-in, SN:CC27445PA9CGJJM1L)"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   14   (Video)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            VDC (Control) Header   
                Length (and contents):   13
                    Raw Descriptor (hex)   0000: 0D 24 01 50 01 36 00 40  42 0F 00 01 01 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                Specification Version Number:   01.5
                Device Clock Frequency (Hz):   1000000
                Number of Video Streaming Interfaces:   1
                Video Interface Number:   1
            VDC (Control) Input Terminal   
                Length (and contents):   18
                    Raw Descriptor (hex)    0000: 12 24 02 01 01 02 00 00  00 00 00 00 00 00 03 00  
                    Raw Descriptor (hex)    0010: 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x2
                Terminal ID   1
                Input Terminal Type:   0x201 (Camera Sensor)
                Input Terminal ID:   0 [NONE]
                Input Terminal String Index:   0 [NONE]
                Minimum Focal Length   0
                Maximum Focal Length   0
                Ocular Focal Length   0
                Controls Supported   Description
            VDC (Control) Output Terminal   
                Length (and contents):   9
                    Raw Descriptor (hex)   0000: 09 24 03 02 01 01 00 01  00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x3
                Terminal ID:   2
                Output Terminal Type:   0x101 (USB streaming)
                Output Terminal ID:   0 [NONE]
                Output Terminal String Index:   0 [NONE]
            VDC (Control) Processing Unit   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 05 03 01 00 00 04  1F 00 00 00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x5
                Unit ID:   3
                Source ID:   1
                Digital Multiplier (100X):   0
                Controls Supported   Description
                       Brightness
                       Contrast
                       Hue
                       Saturation
                       Sharpness
                Processing Unit String Index:   0 [NONE]
        Interface #1 - Video/Streaming   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   14   (Video)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            VDC (Streaming) Input Header   
                Length (and contents):   14
                    Raw Descriptor (hex)   0000: 0E 24 01 01 43 01 81 00  02 00 00 00 01 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x1
                bNumFormats:   1
                wTotalLength:   0x143 (323)
                bEndpointAddress:   0x81
                Capabilities (0x0)   bmInfo
                bTerminalLink:   2
                bStillCaptureMethod:   0 (None)
                bTriggerSupport   0 (Not Supported)
                bTriggerUsage   Ignored because bTriggerSupport is 0
                bControlSize:   0x1
                bmaControls( Format 1):   0x0
            VDC (Streaming) MJPEG Format Descriptor   
                Length (and contents):   11
                    Raw Descriptor (hex)   0000: 0B 24 06 01 02 00 02 00  00 00 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x6
                bFormatIndex:   0x1
                bNumFrameDescriptors:   0x2
                bmFlags   (0x0)
                bDefaultFrameIndex:   0x2
                bAspectRatioX:   0x0
                bAspectRatioY:   0x0
                bmInterlaceFlags   (0x0)
                    Interlaced Stream or Variable   No
                    Fields per frame   1
                    Field 1 first   No
                    Field Pattern   Field 1 only
                    Display Mode   Bob only
                bCopyProtect   No Restriction
            VDC (Streaming) MJPEG Frame Descriptor   
                Length (and contents):   146
                    Raw Descriptor (hex)    0000: 92 24 07 01 00 00 05 D0  02 00 38 04 00 00 90 7E  
                    Raw Descriptor (hex)    0010: 00 00 38 04 00 15 16 05  00 1E 15 16 05 00 FB 42  
                    Raw Descriptor (hex)    0020: 05 00 16 73 05 00 C2 A6  05 00 67 DE 05 00 80 1A  
                    Raw Descriptor (hex)    0030: 06 00 9A 5B 06 00 5E A2  06 00 91 EF 06 00 1E 44  
                    Raw Descriptor (hex)    0040: 07 00 20 A1 07 00 EB 07  08 00 23 7A 08 00 CB F9  
                    Raw Descriptor (hex)    0050: 08 00 68 89 09 00 2A 2C  0A 00 2D E6 0A 00 CE BC  
                    Raw Descriptor (hex)    0060: 0B 00 35 B7 0C 00 22 DF  0D 00 40 42 0F 00 47 F4  
                    Raw Descriptor (hex)    0070: 10 00 D0 12 13 00 5B CC  15 00 6A 6E 19 00 80 84  
                    Raw Descriptor (hex)    0080: 1E 00 A0 25 26 00 D5 DC  32 00 40 4B 4C 00 80 96  
                    Raw Descriptor (hex)    0090: 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x7
                bFrameIndex:   1
                bmCapabilities    (0x0)
                wWidth:   0x500 (1280)
                wHeight:   0x2d0 (720)
                dwMinBitRate (bps):   0x43800 (276480)
                dwMaxBitRate (bps):   0x7e9000 (8294400)
                dwMaxVideoFrameBufferSize (bytes):   0x43800 (276480)
                dwDefaultFrameInterval:   0x51615 (  33.000 ms)
                Discrete Frame Intervals supported   30
                    dwFrameInterval[1] (100 ns)   0x51615 (  33.000 ms)
                    dwFrameInterval[2] (100 ns)   0x542fb (  34.000 ms)
                    dwFrameInterval[3] (100 ns)   0x57316 (  35.000 ms)
                    dwFrameInterval[4] (100 ns)   0x5a6c2 (  37.000 ms)
                    dwFrameInterval[5] (100 ns)   0x5de67 (  38.000 ms)
                    dwFrameInterval[6] (100 ns)   0x61a80 (  40.000 ms)
                    dwFrameInterval[7] (100 ns)   0x65b9a (  41.000 ms)
                    dwFrameInterval[8] (100 ns)   0x6a25e (  43.000 ms)
                    dwFrameInterval[9] (100 ns)   0x6ef91 (  45.000 ms)
                    dwFrameInterval[10] (100 ns)   0x7441e (  47.000 ms)
                    dwFrameInterval[11] (100 ns)   0x7a120 (  50.000 ms)
                    dwFrameInterval[12] (100 ns)   0x807eb (  52.000 ms)
                    dwFrameInterval[13] (100 ns)   0x87a23 (  55.000 ms)
                    dwFrameInterval[14] (100 ns)   0x8f9cb (  58.000 ms)
                    dwFrameInterval[15] (100 ns)   0x98968 (  62.000 ms)
                    dwFrameInterval[16] (100 ns)   0xa2c2a (  66.000 ms)
                    dwFrameInterval[17] (100 ns)   0xae62d (  71.000 ms)
                    dwFrameInterval[18] (100 ns)   0xbbcce (  76.000 ms)
                    dwFrameInterval[19] (100 ns)   0xcb735 (  83.000 ms)
                    dwFrameInterval[20] (100 ns)   0xddf22 (  90.000 ms)
                    dwFrameInterval[21] (100 ns)   0xf4240 ( 100.000 ms)
                    dwFrameInterval[22] (100 ns)   0x10f447 ( 111.000 ms)
                    dwFrameInterval[23] (100 ns)   0x1312d0 ( 125.000 ms)
                    dwFrameInterval[24] (100 ns)   0x15cc5b ( 142.000 ms)
                    dwFrameInterval[25] (100 ns)   0x196e6a ( 166.000 ms)
                    dwFrameInterval[26] (100 ns)   0x1e8480 ( 200.000 ms)
                    dwFrameInterval[27] (100 ns)   0x2625a0 ( 250.000 ms)
                    dwFrameInterval[28] (100 ns)   0x32dcd5 ( 333.000 ms)
                    dwFrameInterval[29] (100 ns)   0x4c4b40 ( 500.000 ms)
                    dwFrameInterval[30] (100 ns)   0x989680 (1000.000 ms)
            VDC (Streaming) MJPEG Frame Descriptor   
                Length (and contents):   146
                    Raw Descriptor (hex)    0000: 92 24 07 02 00 80 02 E0  01 00 68 01 00 00 30 2A  
                    Raw Descriptor (hex)    0010: 00 00 68 01 00 15 16 05  00 1E 15 16 05 00 FB 42  
                    Raw Descriptor (hex)    0020: 05 00 16 73 05 00 C2 A6  05 00 67 DE 05 00 80 1A  
                    Raw Descriptor (hex)    0030: 06 00 9A 5B 06 00 5E A2  06 00 91 EF 06 00 1E 44  
                    Raw Descriptor (hex)    0040: 07 00 20 A1 07 00 EB 07  08 00 23 7A 08 00 CB F9  
                    Raw Descriptor (hex)    0050: 08 00 68 89 09 00 2A 2C  0A 00 2D E6 0A 00 CE BC  
                    Raw Descriptor (hex)    0060: 0B 00 35 B7 0C 00 22 DF  0D 00 40 42 0F 00 47 F4  
                    Raw Descriptor (hex)    0070: 10 00 D0 12 13 00 5B CC  15 00 6A 6E 19 00 80 84  
                    Raw Descriptor (hex)    0080: 1E 00 A0 25 26 00 D5 DC  32 00 40 4B 4C 00 80 96  
                    Raw Descriptor (hex)    0090: 98 00 
                bDescriptorType:   0x24
                bDescriptorSubType:   0x7
                bFrameIndex:   2
                bmCapabilities    (0x0)
                wWidth:   0x280 (640)
                wHeight:   0x1e0 (480)
                dwMinBitRate (bps):   0x16800 (92160)
                dwMaxBitRate (bps):   0x2a3000 (2764800)
                dwMaxVideoFrameBufferSize (bytes):   0x16800 (92160)
                dwDefaultFrameInterval:   0x51615 (  33.000 ms)
                Discrete Frame Intervals supported   30
                    dwFrameInterval[1] (100 ns)   0x51615 (  33.000 ms)
                    dwFrameInterval[2] (100 ns)   0x542fb (  34.000 ms)
                    dwFrameInterval[3] (100 ns)   0x57316 (  35.000 ms)
                    dwFrameInterval[4] (100 ns)   0x5a6c2 (  37.000 ms)
                    dwFrameInterval[5] (100 ns)   0x5de67 (  38.000 ms)
                    dwFrameInterval[6] (100 ns)   0x61a80 (  40.000 ms)
                    dwFrameInterval[7] (100 ns)   0x65b9a (  41.000 ms)
                    dwFrameInterval[8] (100 ns)   0x6a25e (  43.000 ms)
                    dwFrameInterval[9] (100 ns)   0x6ef91 (  45.000 ms)
                    dwFrameInterval[10] (100 ns)   0x7441e (  47.000 ms)
                    dwFrameInterval[11] (100 ns)   0x7a120 (  50.000 ms)
                    dwFrameInterval[12] (100 ns)   0x807eb (  52.000 ms)
                    dwFrameInterval[13] (100 ns)   0x87a23 (  55.000 ms)
                    dwFrameInterval[14] (100 ns)   0x8f9cb (  58.000 ms)
                    dwFrameInterval[15] (100 ns)   0x98968 (  62.000 ms)
                    dwFrameInterval[16] (100 ns)   0xa2c2a (  66.000 ms)
                    dwFrameInterval[17] (100 ns)   0xae62d (  71.000 ms)
                    dwFrameInterval[18] (100 ns)   0xbbcce (  76.000 ms)
                    dwFrameInterval[19] (100 ns)   0xcb735 (  83.000 ms)
                    dwFrameInterval[20] (100 ns)   0xddf22 (  90.000 ms)
                    dwFrameInterval[21] (100 ns)   0xf4240 ( 100.000 ms)
                    dwFrameInterval[22] (100 ns)   0x10f447 ( 111.000 ms)
                    dwFrameInterval[23] (100 ns)   0x1312d0 ( 125.000 ms)
                    dwFrameInterval[24] (100 ns)   0x15cc5b ( 142.000 ms)
                    dwFrameInterval[25] (100 ns)   0x196e6a ( 166.000 ms)
                    dwFrameInterval[26] (100 ns)   0x1e8480 ( 200.000 ms)
                    dwFrameInterval[27] (100 ns)   0x2625a0 ( 250.000 ms)
                    dwFrameInterval[28] (100 ns)   0x32dcd5 ( 333.000 ms)
                    dwFrameInterval[29] (100 ns)   0x4c4b40 ( 500.000 ms)
                    dwFrameInterval[30] (100 ns)   0x989680 (1000.000 ms)
            VDC (Streaming) Color Format Descriptor   
                Length (and contents):   6
                    Raw Descriptor (hex)   0000: 06 24 0D 01 01 04 
                bDescriptorType:   0x24
                bDescriptorSubType:   0xd
                Color Primaries:   1 ( BT.709, sRGB (default) )
                Transfer Characteristics:   1 ( BT.709 (default) )
                Matrix Coefficients:   4 ( SMPTE 170M (BT.601, default) )
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
        Interface #2 - HID/Boot Interface   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   1   (Boot Interface)
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   83
            Endpoint 0x83 - Interrupt Input   
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   64
                Polling Interval:   8 ms
        Interface #3 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0101
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (interface does not currently exist):   634
            Endpoint 0x85 - Interrupt Input   
                Address:   0x85  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   64
                Polling Interval:   8 ms
        Interface #4 - Communications-Control ..............................................   "NCM Control"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   2   (Communications-Control)
            Interface Subclass;   13
            Interface Protocol:   0
            Comm Class Header Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 00 10 01 
            Comm Class Union Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 06 04 05 
            Comm Class Ethernet Networking Functional Descriptor   
                Raw Descriptor (hex)   0000: 0D 24 0F 0A 00 00 00 00  EA 05 00 00 00 
            Comm Class Reserved Functional Descriptor (26)   
                Raw Descriptor (hex)   0000: 06 24 1A 00 01 33 
        Interface #5 - Communications-Data/Unknown Comm Class Model ..............................................   "NCM Data"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   1
        Interface #5 - Communications-Data/Unknown Comm Class Model (#1) ..............................................   "NCM Data"
            Alternate Setting   1
            Number of Endpoints   2
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   1
            Endpoint 0x86 - Bulk Input   
                Address:   0x86  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x02 - Bulk Output   
                Address:   0x02  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
High Speed device @ 33 (0x14300000): .............................................   Hub device: "USB 2.0 Hub [MTT]"
    Port Information:   0x001a
           Not Captive
           Attached to Root Hub
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   2
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   9   (Hub)
        Device Subclass:   0
        Device Protocol:   2   (High Speed Multiple Transaction Translators)
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x1A40/0x0201   (TERMINUS TECHNOLOGY INC.)
        Device Version Number:   0x0100
        Number of Configurations:   1
        Manufacturer String:   0 (none)
        Product String:   1 "USB 2.0 Hub [MTT]"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   41
            Raw Descriptor (hex)    0000: 09 02 29 00 01 01 00 E0  32 09 04 00 00 01 09 00  
            Raw Descriptor (hex)    0010: 01 00 07 05 81 03 01 00  0C 09 04 00 01 01 09 00  
            Raw Descriptor (hex)    0020: 02 00 07 05 81 03 01 00  0C 
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Hub   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   1   (Multi TT Hub configured as a Single TT Hub)
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0001  (1 x 1  transactions opportunities per microframe)
                Polling Interval:   12 (2048 microframes (256 msecs) )
        Interface #0 - Hub (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   2   (Multi TT Hub)
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0001  (1 x 1  transactions opportunities per microframe)
                Polling Interval:   12 (2048 microframes (256 msecs) )
    Hub Descriptor   
        Length (and contents):   9
            Raw Descriptor (hex)   0000: 09 29 07 88 00 32 64 00  FF 
        Number of Ports:   0x07
        Hub Characteristics:   0x88 (Gang switched standalone hub with individual port overcurrent protection requiring 8 FS bit times and having port indicators)
        PowerOnToGood time:   100 ms
        Controller current:   100 mA
        Device Removable (byte):   0x0
        Port Power Control Mask (byte):   0xff
    Device Qualifier Descriptor   
        Descriptor Version Number:   0x0200
        Device Class   9   (Hub)
        Device Subclass   0
        Device Protocol   0   (Full/Low Speed)
        Device MaxPacketSize:   64
        Number of Configurations:   1
        bReserved:   0
    Other Speed Configuration Descriptor   
        Length (and contents):   25
            Raw Descriptor (hex)    0000: 09 07 19 00 01 01 00 E0  32 09 04 00 00 01 09 00  
            Raw Descriptor (hex)    0010: 00 00 07 05 81 03 01 00  FF 
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Hub   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   1
                Polling Interval:   255 ms
High Speed device @ 34 (0x14320000): .............................................   Hub device: "USB2.0 Hub"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   2
    Device Descriptor   
        Descriptor Version Number:   0x0210
        Device Class:   9   (Hub)
        Device Subclass:   0
        Device Protocol:   1   (High Speed Single Transaction Translator)
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x05E3/0x0608   (Genesys Logic, Inc.)
        Device Version Number:   0x6052
        Number of Configurations:   1
        Manufacturer String:   0 (none)
        Product String:   1 "USB2.0 Hub"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   25
            Raw Descriptor (hex)    0000: 09 02 19 00 01 01 00 E0  32 09 04 00 00 01 09 00  
            Raw Descriptor (hex)    0010: 00 00 07 05 81 03 01 00  0C 
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Hub   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0001  (1 x 1  transactions opportunities per microframe)
                Polling Interval:   12 (2048 microframes (256 msecs) )
    Hub Descriptor   
        Length (and contents):   9
            Raw Descriptor (hex)   0000: 09 29 04 ED 00 32 64 10  FF 
        Number of Ports:   0x04
        Hub Characteristics:   0xed (Individually switched compound hub with individual port overcurrent protection)
        PowerOnToGood time:   100 ms
        Controller current:   100 mA
        Device Removable (byte):   0x10
        Port Power Control Mask (byte):   0xff
    Device Qualifier Descriptor   
        Descriptor Version Number:   0x0210
        Device Class   9   (Hub)
        Device Subclass   0
        Device Protocol   0   (Full/Low Speed)
        Device MaxPacketSize:   64
        Number of Configurations:   1
        bReserved:   0
    Other Speed Configuration Descriptor   
        Length (and contents):   25
            Raw Descriptor (hex)    0000: 09 07 19 00 01 01 00 E0  32 09 04 00 00 01 09 00  
            Raw Descriptor (hex)    0010: 00 00 07 05 81 03 01 00  FF 
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Hub   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   1
                Polling Interval:   255 ms
Full Speed device @ 35 (0x14370000): .............................................   Composite device: "Virus TI"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   7
    Device Descriptor   
        Descriptor Version Number:   0x0110
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   16
        Device VendorID/ProductID:   0x133E/0x0815   (unknown vendor)
        Device Version Number:   0x0100
        Number of Configurations:   1
        Manufacturer String:   1 "Access Music"
        Product String:   2 "Virus TI"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   234
            Raw Descriptor (hex)    0000: 09 02 EA 00 05 01 00 40  00 09 04 00 00 00 01 01  
            Raw Descriptor (hex)    0010: 00 00 0A 24 01 00 01 34  00 02 01 02 0C 24 02 01  
            Raw Descriptor (hex)    0020: 01 01 00 02 03 00 00 00  09 24 03 03 01 03 00 01  
            Raw Descriptor (hex)    0030: 00 0C 24 02 04 03 06 00  02 00 00 00 00 09 24 03  
            Raw Descriptor (hex)    0040: 07 01 01 00 04 00 09 04  01 00 00 01 02 00 00 09  
            Raw Descriptor (hex)    0050: 04 01 01 01 01 02 00 00  07 24 01 01 01 01 00 0E  
            Raw Descriptor (hex)    0060: 24 02 01 02 02 10 02 44  AC 00 80 BB 00 09 05 01  
            Raw Descriptor (hex)    0070: 09 C8 00 01 00 00 07 25  01 01 02 00 02 09 04 02  
            Raw Descriptor (hex)    0080: 00 00 01 02 00 00 09 04  02 01 01 01 02 00 00 07  
            Raw Descriptor (hex)    0090: 24 01 07 00 01 00 0E 24  02 01 06 02 10 02 44 AC  
            Raw Descriptor (hex)    00a0: 00 80 BB 00 09 05 82 0D  50 02 01 00 00 07 25 01  
            Raw Descriptor (hex)    00b0: 01 02 00 00 09 04 03 00  02 FF 00 00 00 09 05 05  
            Raw Descriptor (hex)    00c0: 03 08 00 01 00 00 09 05  85 03 10 00 01 00 00 09  
            Raw Descriptor (hex)    00d0: 04 04 00 02 FF 00 00 00  09 05 06 03 20 00 01 00  
            Raw Descriptor (hex)    00e0: 00 09 05 86 03 20 00 01  00 00 
        Number of Interfaces:   5
        Configuration Value:   1
        Attributes:   0x40 (self-powered)
        MaxPower:   0 mA
        Interface #0 - Audio/Control   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   1   (Audio)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            Audio Control Class Specific Header   
                Descriptor Version Number:   01.00
                Class Specific Size:   52
                Number of Audio Interfaces:   2
                Audio Interface Number:   1
                Audio Interface Number:   2
                Dump Contents (hex):   0A 24 01 00 01 34 00 02 01 02 
            Audio Class Specific Input Terminal   
                Terminal ID:   1
                Input Terminal Type:   0x101 (USB streaming)
                OutTerminal ID:   0 [NONE]
                Number of Channels:   2
                Spatial config of channels:   0000000000000011
                                  ^.  Left Front
                                 ^..  Right Front
                String index for first logical channel:   0
                Terminal Name String Index:   0 [NONE]
            Audio Class Specific Output Terminal   
                Terminal ID:   3
                Output Terminal Type:   0x301 (Speaker)
                InTerminal ID:   0 [NONE]
                Source ID:   1
                Terminal Name String Index:   0 [NONE]
            Audio Class Specific Input Terminal   
                Terminal ID:   4
                Input Terminal Type:   0x603 (Line connector)
                OutTerminal ID:   0 [NONE]
                Number of Channels:   2
                Spatial config of channels:   0000000000000000
                String index for first logical channel:   0
                Terminal Name String Index:   0 [NONE]
            Audio Class Specific Output Terminal   
                Terminal ID:   7
                Output Terminal Type:   0x101 (USB Isochronous Stream)
                InTerminal ID:   0 [NONE]
                Source ID:   4
                Terminal Name String Index:   0 [NONE]
        Interface #1 - Audio/Streaming   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   1   (Audio)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
        Interface #1 - Audio/Streaming (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   1   (Audio)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            Audio Control Class Specific Header   
                Audio Stream General   
                    Endpoint Terminal ID:   1
                    Delay:   1 frames     
                    Format Tag:   0x0001 (PCM)
            Audio Class Specific Audio Data Format   
                Audio Stream Format Type Desc.   
                    Format Type:   1 PCM
                    Number Of Channels:   2 STEREO
                    Sub Frame Size:   2
                    Bit Resolution:   16
                    Sample Frequency Type:   0x02 (Discrete)
                    Sample Frequency:   44100 Hz
                    Sample Frequency:   48000 Hz
            Endpoint 0x01 - Isochronous Output   
                Address:   0x01  (OUT)
                Attributes:   0x09  (Isochronous adaptive data endpoint)
                Max Packet Size:   200
                Polling Interval:   1 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x01  Sample Frequency,  
                bLockDelayUnits:   0x02  (Decoded PCM Samples)
                wLockDelay:   512 Decoded PCM Samples
        Interface #2 - Audio/Streaming   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   1   (Audio)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
        Interface #2 - Audio/Streaming (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   1   (Audio)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            Audio Control Class Specific Header   
                Audio Stream General   
                    Endpoint Terminal ID:   7
                    Delay:   0 frames     (Delay NOT SUPPORTED)
                    Format Tag:   0x0001 (PCM)
            Audio Class Specific Audio Data Format   
                Audio Stream Format Type Desc.   
                    Format Type:   1 PCM
                    Number Of Channels:   6 MULTICHANNEL
                    Sub Frame Size:   2
                    Bit Resolution:   16
                    Sample Frequency Type:   0x02 (Discrete)
                    Sample Frequency:   44100 Hz
                    Sample Frequency:   48000 Hz
            Endpoint 0x82 - Isochronous Input   
                Address:   0x82  (IN)
                Attributes:   0x0D  (Isochronous synchronous data endpoint)
                Max Packet Size:   592
                Polling Interval:   1 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x01  Sample Frequency,  
                bLockDelayUnits:   0x02  (Decoded PCM Samples)
                wLockDelay:   0 Decoded PCM Samples
        Interface #3 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   0   (Vendor-specific)
            Interface Protocol:   0
            Endpoint 0x05 - Interrupt Output   
                Address:   0x05  (OUT)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   8
                Polling Interval:   1 ms
            Endpoint 0x85 - Interrupt Input   
                Address:   0x85  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   16
                Polling Interval:   1 ms
        Interface #4 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   0   (Vendor-specific)
            Interface Protocol:   0
            Endpoint 0x06 - Interrupt Output   
                Address:   0x06  (OUT)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   32
                Polling Interval:   1 ms
            Endpoint 0x86 - Interrupt Input   
                Address:   0x86  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   32
                Polling Interval:   1 ms
High Speed device @ 37 (0x14340000): .............................................   Vendor-specific device: "TR-8S"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   5
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   255   (Vendor-specific)
        Device Subclass:   0   (Vendor-specific)
        Device Protocol:   255
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x0582/0x020A   (Roland Corporation)
        Device Version Number:   0x0100
        Number of Configurations:   1
        Manufacturer String:   1 "Roland"
        Product String:   2 "TR-8S"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   282
            Raw Descriptor (hex)    0000: 09 02 1A 01 04 01 00 C0  01 09 04 00 00 00 FF FF  
            Raw Descriptor (hex)    0010: 00 00 09 04 01 00 00 FF  02 02 00 06 24 F1 01 00  
            Raw Descriptor (hex)    0020: 00 09 04 01 01 01 FF 02  02 00 07 24 01 01 00 03  
            Raw Descriptor (hex)    0030: 00 0B 24 02 01 08 04 20  01 00 77 01 06 24 F1 04  
            Raw Descriptor (hex)    0040: 5E 00 07 05 0D 05 C0 01  01 07 25 01 00 00 00 00  
            Raw Descriptor (hex)    0050: 09 04 01 02 01 FF 02 02  00 07 24 01 01 00 03 00  
            Raw Descriptor (hex)    0060: 0B 24 02 01 02 04 20 01  00 77 01 06 24 F1 04 5E  
            Raw Descriptor (hex)    0070: 00 07 05 0D 05 70 00 01  07 25 01 00 00 00 00 09  
            Raw Descriptor (hex)    0080: 04 02 00 00 FF 02 01 00  09 04 02 01 01 FF 02 01  
            Raw Descriptor (hex)    0090: 00 07 24 01 07 00 03 00  0B 24 02 01 0E 04 20 01  
            Raw Descriptor (hex)    00a0: 00 77 01 06 24 F1 04 5E  00 07 05 8E 25 10 03 01  
            Raw Descriptor (hex)    00b0: 07 25 01 00 00 00 00 09  04 02 02 01 FF 02 01 00  
            Raw Descriptor (hex)    00c0: 07 24 01 07 00 03 00 0B  24 02 01 02 04 20 01 00  
            Raw Descriptor (hex)    00d0: 77 01 06 24 F1 04 5E 00  07 05 8E 25 70 00 01 07  
            Raw Descriptor (hex)    00e0: 25 01 00 00 00 00 09 04  03 00 02 FF 03 00 00 06  
            Raw Descriptor (hex)    00f0: 24 F1 02 02 02 07 05 03  02 00 02 01 07 05 84 02  
            Raw Descriptor (hex)    0100: 00 02 00 09 04 03 01 02  FF 03 00 00 07 05 03 03  
            Raw Descriptor (hex)    0110: 00 02 04 07 05 85 03 00  02 04 
        Number of Interfaces:   4
        Configuration Value:   1
        Attributes:   0xC0 (self-powered)
        MaxPower:   2 mA
        Interface #0 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
        Interface #1 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   2
        Raw Descriptor (hex)   0000: 06 24 F1 01 00 00 
        Interface #1 - Vendor-specific (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   2
        Raw Descriptor (hex)   0000: 07 24 01 01 00 03 00 
        Raw Descriptor (hex)   0000: 0B 24 02 01 08 04 20 01  00 77 01 
        Raw Descriptor (hex)   0000: 06 24 F1 04 5E 00 
            Endpoint 0x0D - Isochronous Output   
                Address:   0x0D  (OUT)
                Attributes:   0x05  (Isochronous asynchronous data endpoint)
                Max Packet Size:   0x01c0  (448 x 1  transactions opportunities per microframe)
                Polling Interval:   1 (1 microframe (125 microsecs) )
        Raw Descriptor (hex)   0000: 07 25 01 00 00 00 00 
        Interface #1 - Vendor-specific (#2)   
            Alternate Setting   2
            Number of Endpoints   1
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   2
        Raw Descriptor (hex)   0000: 07 24 01 01 00 03 00 
        Raw Descriptor (hex)   0000: 0B 24 02 01 02 04 20 01  00 77 01 
        Raw Descriptor (hex)   0000: 06 24 F1 04 5E 00 
            Endpoint 0x0D - Isochronous Output   
                Address:   0x0D  (OUT)
                Attributes:   0x05  (Isochronous asynchronous data endpoint)
                Max Packet Size:   0x0070  (112 x 1  transactions opportunities per microframe)
                Polling Interval:   1 (1 microframe (125 microsecs) )
        Raw Descriptor (hex)   0000: 07 25 01 00 00 00 00 
        Interface #2 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   1
        Interface #2 - Vendor-specific (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   1
        Raw Descriptor (hex)   0000: 07 24 01 07 00 03 00 
        Raw Descriptor (hex)   0000: 0B 24 02 01 0E 04 20 01  00 77 01 
        Raw Descriptor (hex)   0000: 06 24 F1 04 5E 00 
            Endpoint 0x8E - Isochronous Input   
                Address:   0x8E  (IN)
                Attributes:   0x25  (Isochronous asynchronous implicit feedback data endpoint)
                Max Packet Size:   0x0310  (784 x 1  transactions opportunities per microframe)
                Polling Interval:   1 (1 microframe (125 microsecs) )
        Raw Descriptor (hex)   0000: 07 25 01 00 00 00 00 
        Interface #2 - Vendor-specific (#2)   
            Alternate Setting   2
            Number of Endpoints   1
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   1
        Raw Descriptor (hex)   0000: 07 24 01 07 00 03 00 
        Raw Descriptor (hex)   0000: 0B 24 02 01 02 04 20 01  00 77 01 
        Raw Descriptor (hex)   0000: 06 24 F1 04 5E 00 
            Endpoint 0x8E - Isochronous Input   
                Address:   0x8E  (IN)
                Attributes:   0x25  (Isochronous asynchronous implicit feedback data endpoint)
                Max Packet Size:   0x0070  (112 x 1  transactions opportunities per microframe)
                Polling Interval:   1 (1 microframe (125 microsecs) )
        Raw Descriptor (hex)   0000: 07 25 01 00 00 00 00 
        Interface #3 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   3   (Vendor-specific)
            Interface Protocol:   0
        Raw Descriptor (hex)   0000: 06 24 F1 02 02 02 
            Endpoint 0x03 - Bulk Output   
                Address:   0x03  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   1 ( At most 1 NAK every 1 microframe(s) )
            Endpoint 0x84 - Bulk Input   
                Address:   0x84  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
        Interface #3 - Vendor-specific (#1)   
            Alternate Setting   1
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   3   (Vendor-specific)
            Interface Protocol:   0
            Endpoint 0x03 - Interrupt Output   
                Address:   0x03  (OUT)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0200  (512 x 1  transactions opportunities per microframe)
                Polling Interval:   4 (8 microframes (1 msecs) )
            Endpoint 0x85 - Interrupt Input   
                Address:   0x85  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0200  (512 x 1  transactions opportunities per microframe)
                Polling Interval:   4 (8 microframes (1 msecs) )
    Device Qualifier Descriptor   
        Descriptor Version Number:   0x0200
        Device Class   255   (Vendor-specific)
        Device Subclass   0   (Vendor-specific)
        Device Protocol   255
        Device MaxPacketSize:   64
        Number of Configurations:   1
        bReserved:   0
    Other Speed Configuration Descriptor   
        Length (and contents):   45
            Raw Descriptor (hex)    0000: 09 07 2D 00 04 01 00 C0  01 09 04 00 00 00 FF FF  
            Raw Descriptor (hex)    0010: 00 00 09 04 01 00 00 FF  FF 00 00 09 04 02 00 00  
            Raw Descriptor (hex)    0020: FF FF 00 00 09 04 03 00  00 FF FF 00 00 
        Number of Interfaces:   4
        Configuration Value:   1
        Attributes:   0xC0 (self-powered)
        MaxPower:   2 mA
        Interface #0 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
        Interface #1 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
        Interface #2 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
        Interface #3 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
High Speed device @ 38 (0x14324000): .............................................   Hub device: "USB2.0 Hub"
    Port Information:   0x0019
           Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   2
    Device Descriptor   
        Descriptor Version Number:   0x0210
        Device Class:   9   (Hub)
        Device Subclass:   0
        Device Protocol:   1   (High Speed Single Transaction Translator)
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x05E3/0x0608   (Genesys Logic, Inc.)
        Device Version Number:   0x6052
        Number of Configurations:   1
        Manufacturer String:   0 (none)
        Product String:   1 "USB2.0 Hub"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   25
            Raw Descriptor (hex)    0000: 09 02 19 00 01 01 00 E0  32 09 04 00 00 01 09 00  
            Raw Descriptor (hex)    0010: 00 00 07 05 81 03 01 00  0C 
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Hub   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0001  (1 x 1  transactions opportunities per microframe)
                Polling Interval:   12 (2048 microframes (256 msecs) )
    Hub Descriptor   
        Length (and contents):   9
            Raw Descriptor (hex)   0000: 09 29 04 E9 00 32 64 00  FF 
        Number of Ports:   0x04
        Hub Characteristics:   0xe9 (Individually switched standalone hub with individual port overcurrent protection)
        PowerOnToGood time:   100 ms
        Controller current:   100 mA
        Device Removable (byte):   0x0
        Port Power Control Mask (byte):   0xff
    Device Qualifier Descriptor   
        Descriptor Version Number:   0x0210
        Device Class   9   (Hub)
        Device Subclass   0
        Device Protocol   0   (Full/Low Speed)
        Device MaxPacketSize:   64
        Number of Configurations:   1
        bReserved:   0
    Other Speed Configuration Descriptor   
        Length (and contents):   25
            Raw Descriptor (hex)    0000: 09 07 19 00 01 01 00 E0  32 09 04 00 00 01 09 00  
            Raw Descriptor (hex)    0010: 00 00 07 05 81 03 01 00  FF 
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Hub   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   1
                Polling Interval:   255 ms
Full Speed device @ 39 (0x14322000): .............................................   Composite device: "AltoidCV"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   5
    Device Descriptor   
        Descriptor Version Number:   0x0110
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x16C0/0x0485   (unknown vendor)
        Device Version Number:   0x0275
        Number of Configurations:   1
        Manufacturer String:   1 "Teensyduino"
        Product String:   2 "AltoidCV"
        Serial Number String:   3 "2487200"
    Configuration Descriptor (current config)   
        Length (and contents):   115
            Raw Descriptor (hex)    0000: 09 02 73 00 02 01 00 C0  32 09 04 00 00 02 01 03  
            Raw Descriptor (hex)    0010: 00 00 07 24 01 00 01 25  00 06 24 02 01 01 00 06  
            Raw Descriptor (hex)    0020: 24 02 02 02 00 09 24 03  01 03 01 02 01 00 09 24  
            Raw Descriptor (hex)    0030: 03 02 04 01 01 01 00 09  05 04 02 40 00 00 00 00  
            Raw Descriptor (hex)    0040: 05 25 01 01 01 09 05 83  02 40 00 00 00 00 05 25  
            Raw Descriptor (hex)    0050: 01 01 03 09 04 01 00 02  03 00 00 00 09 21 11 01  
            Raw Descriptor (hex)    0060: 00 01 22 21 00 07 05 81  03 40 00 01 07 05 02 03  
            Raw Descriptor (hex)    0070: 20 00 02 
        Number of Interfaces:   2
        Configuration Value:   1
        Attributes:   0xC0 (self-powered)
        MaxPower:   100 mA
        Interface #0 - Audio/Streaming   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   1   (Audio)
            Interface Subclass;   3   (Streaming)
            Interface Protocol:   0
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Endpoint 0x04 - Bulk Output   
                Address:   0x04  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x01  Sample Frequency,  
                bLockDelayUnits:   0x01  (Milliseconds)
                wLockDelay:   1289 ms
            Endpoint 0x83 - Bulk Input   
                Address:   0x83  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x01  Sample Frequency,  
                bLockDelayUnits:   0x03  (RESERVED)
                wLockDelay:   1033 
        Interface #1 - HID   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   0
            HID Descriptor   
                Descriptor Version Number:   0x0111
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   33
                        Raw Descriptor (hex)    0000: 06 C9 FF 09 04 A1 5C 75  08 15 00 26 FF 00 95 40  
                        Raw Descriptor (hex)    0010: 09 75 81 02 95 20 09 76  91 02 95 04 09 76 B1 02  
                        Raw Descriptor (hex)    0020: C0 
                    Parsed Report Descriptor:   
                          Usage Page    (Vendor defined 201) 
                          Usage 4 (0x4)    
                              Collection (Collection )    
                                Report Size.............    (8)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (255)  
                                Report Count............    (64)  
                                Usage 117 (0x75)    
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Count............    (32)  
                                Usage 118 (0x76)    
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (4)  
                                Usage 118 (0x76)    
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                              End Collection     
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   64
                Polling Interval:   1 ms
            Endpoint 0x02 - Interrupt Output   
                Address:   0x02  (OUT)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   32
                Polling Interval:   2 ms
Full Speed device @ 40 (0x14324300): .............................................   Composite device: "ReMOTE SL"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   3
    Device Descriptor   
        Descriptor Version Number:   0x0100
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   8
        Device VendorID/ProductID:   0x1235/0x0003   (unknown vendor)
        Device Version Number:   0x0301
        Number of Configurations:   1
        Manufacturer String:   1 "Novation DMS"
        Product String:   2 "ReMOTE SL"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   165
            Raw Descriptor (hex)    0000: 09 02 A5 00 02 01 00 80  F0 09 04 00 00 00 01 01  
            Raw Descriptor (hex)    0010: 00 02 09 24 01 00 01 09  00 01 01 09 04 01 00 02  
            Raw Descriptor (hex)    0020: 01 03 00 02 07 24 01 00  01 81 00 06 24 02 01 01  
            Raw Descriptor (hex)    0030: 00 09 24 03 02 02 01 01  01 00 09 24 03 01 03 01  
            Raw Descriptor (hex)    0040: 04 01 00 06 24 02 02 04  00 06 24 02 01 05 00 09  
            Raw Descriptor (hex)    0050: 24 03 02 06 01 05 01 00  09 24 03 01 07 01 08 01  
            Raw Descriptor (hex)    0060: 00 06 24 02 02 08 00 06  24 02 01 09 00 09 24 03  
            Raw Descriptor (hex)    0070: 02 0A 01 09 01 00 09 24  03 01 0B 01 0C 01 00 06  
            Raw Descriptor (hex)    0080: 24 02 02 0C 00 09 05 05  02 20 00 00 00 00 07 25  
            Raw Descriptor (hex)    0090: 01 03 01 05 09 09 05 84  02 20 00 00 00 00 07 25  
            Raw Descriptor (hex)    00a0: 01 03 03 07 0B 
        Number of Interfaces:   2
        Configuration Value:   1
        Attributes:   0x80 (bus-powered)
        MaxPower:   480 mA
        Interface #0 - Audio/Control ..............................................   "ReMOTE SL"
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   1   (Audio)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            Audio Control Class Specific Header   
                Descriptor Version Number:   01.00
                Class Specific Size:   9
                Number of Audio Interfaces:   1
                Audio Interface Number:   1
                Dump Contents (hex):   09 24 01 00 01 09 00 01 01 
        Interface #1 - Audio/Streaming ..............................................   "ReMOTE SL"
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   1   (Audio)
            Interface Subclass;   3   (Streaming)
            Interface Protocol:   0
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Endpoint 0x05 - Bulk Output   
                Address:   0x05  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   32
                Polling Interval:   0 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x03  Sample Frequency, Pitch, 
                bLockDelayUnits:   0x01  (Milliseconds)
                wLockDelay:   2309 ms
            Endpoint 0x84 - Bulk Input   
                Address:   0x84  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   32
                Polling Interval:   0 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x03  Sample Frequency, Pitch, 
                bLockDelayUnits:   0x03  (RESERVED)
                wLockDelay:   2823 
High Speed device @ 41 (0x14324100): .............................................   Vendor-specific device: "Boutiq"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   5
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   255   (Vendor-specific)
        Device Subclass:   0   (Vendor-specific)
        Device Protocol:   255
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x0582/0x01B5   (Roland Corporation)
        Device Version Number:   0x0100
        Number of Configurations:   1
        Manufacturer String:   1 "Roland"
        Product String:   2 "Boutiq"
        Serial Number String:   3 "BQJX352DDA05465335330F0B1943"
    Configuration Descriptor (current config)   
        Length (and contents):   258
            Raw Descriptor (hex)    0000: 09 02 02 01 04 01 00 80  FA 09 04 00 00 00 FF FF  
            Raw Descriptor (hex)    0010: 00 00 09 04 01 00 00 FF  02 02 00 06 24 F1 01 00  
            Raw Descriptor (hex)    0020: 00 09 04 01 01 01 FF 02  02 00 07 24 01 01 00 01  
            Raw Descriptor (hex)    0030: 00 0B 24 02 01 02 04 18  01 44 AC 00 07 05 0D 05  
            Raw Descriptor (hex)    0040: 38 00 01 07 25 01 00 00  00 00 09 04 01 02 01 FF  
            Raw Descriptor (hex)    0050: 02 02 00 07 24 01 01 00  01 00 0B 24 02 01 02 04  
            Raw Descriptor (hex)    0060: 18 01 44 AC 00 07 05 0D  05 38 00 01 07 25 01 00  
            Raw Descriptor (hex)    0070: 00 00 00 09 04 02 00 00  FF 02 01 00 09 04 02 01  
            Raw Descriptor (hex)    0080: 01 FF 02 01 00 07 24 01  07 00 01 00 0B 24 02 01  
            Raw Descriptor (hex)    0090: 02 04 18 01 44 AC 00 07  05 8E 25 38 00 01 07 25  
            Raw Descriptor (hex)    00a0: 01 00 00 00 00 09 04 02  02 01 FF 02 01 00 07 24  
            Raw Descriptor (hex)    00b0: 01 07 00 01 00 0B 24 02  01 02 04 18 01 44 AC 00  
            Raw Descriptor (hex)    00c0: 07 05 8E 25 38 00 01 07  25 01 00 00 00 00 09 04  
            Raw Descriptor (hex)    00d0: 03 00 02 FF 03 00 00 06  24 F1 02 01 01 07 05 03  
            Raw Descriptor (hex)    00e0: 02 00 02 01 07 05 84 02  00 02 00 09 04 03 01 02  
            Raw Descriptor (hex)    00f0: FF 03 00 00 07 05 03 03  00 02 04 07 05 85 03 00  
            Raw Descriptor (hex)    0100: 02 04 
        Number of Interfaces:   4
        Configuration Value:   1
        Attributes:   0x80 (bus-powered)
        MaxPower:   500 mA
        Interface #0 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
        Interface #1 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   2
        Raw Descriptor (hex)   0000: 06 24 F1 01 00 00 
        Interface #1 - Vendor-specific (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   2
        Raw Descriptor (hex)   0000: 07 24 01 01 00 01 00 
        Raw Descriptor (hex)   0000: 0B 24 02 01 02 04 18 01  44 AC 00 
            Endpoint 0x0D - Isochronous Output   
                Address:   0x0D  (OUT)
                Attributes:   0x05  (Isochronous asynchronous data endpoint)
                Max Packet Size:   0x0038  (56 x 1  transactions opportunities per microframe)
                Polling Interval:   1 (1 microframe (125 microsecs) )
        Raw Descriptor (hex)   0000: 07 25 01 00 00 00 00 
        Interface #1 - Vendor-specific (#2)   
            Alternate Setting   2
            Number of Endpoints   1
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   2
        Raw Descriptor (hex)   0000: 07 24 01 01 00 01 00 
        Raw Descriptor (hex)   0000: 0B 24 02 01 02 04 18 01  44 AC 00 
            Endpoint 0x0D - Isochronous Output   
                Address:   0x0D  (OUT)
                Attributes:   0x05  (Isochronous asynchronous data endpoint)
                Max Packet Size:   0x0038  (56 x 1  transactions opportunities per microframe)
                Polling Interval:   1 (1 microframe (125 microsecs) )
        Raw Descriptor (hex)   0000: 07 25 01 00 00 00 00 
        Interface #2 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   1
        Interface #2 - Vendor-specific (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   1
        Raw Descriptor (hex)   0000: 07 24 01 07 00 01 00 
        Raw Descriptor (hex)   0000: 0B 24 02 01 02 04 18 01  44 AC 00 
            Endpoint 0x8E - Isochronous Input   
                Address:   0x8E  (IN)
                Attributes:   0x25  (Isochronous asynchronous implicit feedback data endpoint)
                Max Packet Size:   0x0038  (56 x 1  transactions opportunities per microframe)
                Polling Interval:   1 (1 microframe (125 microsecs) )
        Raw Descriptor (hex)   0000: 07 25 01 00 00 00 00 
        Interface #2 - Vendor-specific (#2)   
            Alternate Setting   2
            Number of Endpoints   1
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   2   (Vendor-specific)
            Interface Protocol:   1
        Raw Descriptor (hex)   0000: 07 24 01 07 00 01 00 
        Raw Descriptor (hex)   0000: 0B 24 02 01 02 04 18 01  44 AC 00 
            Endpoint 0x8E - Isochronous Input   
                Address:   0x8E  (IN)
                Attributes:   0x25  (Isochronous asynchronous implicit feedback data endpoint)
                Max Packet Size:   0x0038  (56 x 1  transactions opportunities per microframe)
                Polling Interval:   1 (1 microframe (125 microsecs) )
        Raw Descriptor (hex)   0000: 07 25 01 00 00 00 00 
        Interface #3 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   3   (Vendor-specific)
            Interface Protocol:   0
        Raw Descriptor (hex)   0000: 06 24 F1 02 01 01 
            Endpoint 0x03 - Bulk Output   
                Address:   0x03  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   1 ( At most 1 NAK every 1 microframe(s) )
            Endpoint 0x84 - Bulk Input   
                Address:   0x84  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
        Interface #3 - Vendor-specific (#1)   
            Alternate Setting   1
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   3   (Vendor-specific)
            Interface Protocol:   0
            Endpoint 0x03 - Interrupt Output   
                Address:   0x03  (OUT)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0200  (512 x 1  transactions opportunities per microframe)
                Polling Interval:   4 (8 microframes (1 msecs) )
            Endpoint 0x85 - Interrupt Input   
                Address:   0x85  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0200  (512 x 1  transactions opportunities per microframe)
                Polling Interval:   4 (8 microframes (1 msecs) )
    Device Qualifier Descriptor   
        Descriptor Version Number:   0x0200
        Device Class   255   (Vendor-specific)
        Device Subclass   0   (Vendor-specific)
        Device Protocol   255
        Device MaxPacketSize:   64
        Number of Configurations:   1
        bReserved:   0
    Other Speed Configuration Descriptor   
        Length (and contents):   45
            Raw Descriptor (hex)    0000: 09 07 2D 00 04 01 00 80  FA 09 04 00 00 00 FF FF  
            Raw Descriptor (hex)    0010: 00 00 09 04 01 00 00 FF  FF 00 00 09 04 02 00 00  
            Raw Descriptor (hex)    0020: FF FF 00 00 09 04 03 00  00 FF FF 00 00 
        Number of Interfaces:   4
        Configuration Value:   1
        Attributes:   0x80 (bus-powered)
        MaxPower:   500 mA
        Interface #0 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
        Interface #1 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
        Interface #2 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
        Interface #3 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   255   (Vendor-specific)
            Interface Protocol:   0
Full Speed device @ 42 (0x14360000): .............................................   Composite device: "OB-6"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   3
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x20CB/0x0026   (unknown vendor)
        Device Version Number:   0x0001
        Number of Configurations:   1
        Manufacturer String:   1 "Dave Smith Instruments"
        Product String:   2 "OB-6"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   101
            Raw Descriptor (hex)    0000: 09 02 65 00 02 01 00 C0  00 09 04 00 00 00 01 01  
            Raw Descriptor (hex)    0010: 00 00 09 24 01 00 01 09  00 01 01 09 04 01 00 02  
            Raw Descriptor (hex)    0020: 01 03 00 00 07 24 01 00  01 41 00 06 24 02 01 01  
            Raw Descriptor (hex)    0030: 00 06 24 02 02 02 00 09  24 03 01 03 01 02 01 00  
            Raw Descriptor (hex)    0040: 09 24 03 02 04 01 01 01  00 09 05 01 02 40 00 00  
            Raw Descriptor (hex)    0050: 00 00 05 25 01 01 01 09  05 81 02 40 00 00 00 00  
            Raw Descriptor (hex)    0060: 05 25 01 01 03 
        Number of Interfaces:   2
        Configuration Value:   1
        Attributes:   0xC0 (self-powered)
        MaxPower:   0 mA
        Interface #0 - Audio/Control   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   1   (Audio)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            Audio Control Class Specific Header   
                Descriptor Version Number:   01.00
                Class Specific Size:   9
                Number of Audio Interfaces:   1
                Audio Interface Number:   1
                Dump Contents (hex):   09 24 01 00 01 09 00 01 01 
        Interface #1 - Audio/Streaming   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   1   (Audio)
            Interface Subclass;   3   (Streaming)
            Interface Protocol:   0
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Uknown Interface SubClass Type   
            Endpoint 0x01 - Bulk Output   
                Address:   0x01  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x01  Sample Frequency,  
                bLockDelayUnits:   0x01  (Milliseconds)
                wLockDelay:   1289 ms
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x01  Sample Frequency,  
                bLockDelayUnits:   0x03  (RESERVED)
                wLockDelay:   127 
High Speed device @ 44 (0x14350000): .............................................   Hub device: "USB 2.0 Hub"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   2
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   9   (Hub)
        Device Subclass:   0
        Device Protocol:   1   (High Speed Single Transaction Translator)
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x1A40/0x0101   (TERMINUS TECHNOLOGY INC.)
        Device Version Number:   0x0111
        Number of Configurations:   1
        Manufacturer String:   0 (none)
        Product String:   1 "USB 2.0 Hub"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   25
            Raw Descriptor (hex)    0000: 09 02 19 00 01 01 00 E0  32 09 04 00 00 01 09 00  
            Raw Descriptor (hex)    0010: 00 00 07 05 81 03 01 00  0C 
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Hub   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   0x0001  (1 x 1  transactions opportunities per microframe)
                Polling Interval:   12 (2048 microframes (256 msecs) )
    Hub Descriptor   
        Length (and contents):   9
            Raw Descriptor (hex)   0000: 09 29 04 00 00 32 64 00  FF 
        Number of Ports:   0x04
        Hub Characteristics:   0x0 (Gang switched standalone hub with global overcurrent protection requiring 8 FS bit times and  no port indicators)
        PowerOnToGood time:   100 ms
        Controller current:   100 mA
        Device Removable (byte):   0x0
        Port Power Control Mask (byte):   0xff
    Device Qualifier Descriptor   
        Descriptor Version Number:   0x0200
        Device Class   9   (Hub)
        Device Subclass   0
        Device Protocol   0   (Full/Low Speed)
        Device MaxPacketSize:   64
        Number of Configurations:   1
        bReserved:   0
    Other Speed Configuration Descriptor   
        Length (and contents):   25
            Raw Descriptor (hex)    0000: 09 07 19 00 01 01 00 E0  32 09 04 00 00 01 09 00  
            Raw Descriptor (hex)    0010: 00 00 07 05 81 03 01 00  FF 
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xE0 (self-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Hub   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   9   (Hub)
            Interface Subclass;   0
            Interface Protocol:   0
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   1
                Polling Interval:   255 ms
 
Just as a followup, I now believe that the names of the ports/virtual cables in these devices come from manufacturer drivers. Turns out these aren't class compliant MIDI devices, so I don't believe that there will be a way to read the port names (or even access the MIDI data streams).
 
Wow, so many questions. Here's quick answers...




Yes, confirmed.


I see you are confirming that USBHost_t36 can handle devices with several (virtual cables/ports), but by looking at the library I cannot figure out how to send a midi event (NoteOn) to a specific cable on the only MIDI device. Any clue would be helpful... Need to read from midi1.cable/port 0 and send to midi1.cable/port 1,

Thanks!
 
Sorry! Found it!

Saw that all midi commands could take cable as last argumnt (but default to 0)

Line 1072: void sendNoteOff(uint8_t note, uint8_t velocity, uint8_t channel, uint8_t cable=0) {
Line 1075: void sendNoteOn(uint8_t note, uint8_t velocity, uint8_t channel, uint8_t cable=0) {
Line 1172: void send(uint8_t type, uint8_t data1, uint8_t data2, uint8_t channel, uint8_t cable=0) {

...for example
 
Hey! Sorry for pulling out this old thread.
As I am having issues with USB Devices receiving MIDI on cables, they don't support, I needed a solution for it, and found this thread.
The Elektron Digitone, that only supports one Cables showed some weird behavior with my sequencer sending Clock to 4 cables. Instead of ignoring data on cables, it does not support, it seemed to parse them all. When I send a Midi Clock to cable 0 or to cable 0 and cable 1, everything is fine. When I send clock signal to 3 cables, Digitone showed doubled tempo...

After I already digged into the USBHost_t36 library and the USB MIDI1.0 and USB Audio documentation before, to see, how all this usb magic looks like, I went into it again today and found the solution:
Descriptor Type 0x25 (CS_ENDPOINT), described in midi 1.0, 6.22, page 26, sends a field named bNumEmbMIDIJack as the 4th byte. As 0x25 is recognized in the library but nothing is done here, I printed out the values I receive here, and it seems, that this is exactly, what we need. The number sent here, represents the number of cables of all the devices I own, that are usb midi compliant. I also tested it with another teensy and different USB_MIDI options. The number sent in this byte always represented what I expected and matched the number of "Devices" shown up on my Mac.
So I enhanced the USBHost_t36 library, storing that info into a variable and made it accessible in the MidiDeviceBase, and am now able to check on the device itself, if I can sent data to that cable or not.

Maybe Paul likes to add those 3 lines of code to the library, so others might use that info too, without having to patch the library themselfs?
 
Back
Top