MIDI Descriptor for USB communication


Closed Thread
Results 1 to 17 of 17

Hybrid View

  1. #1
    Join Date
    Aug 2011
    Posts
    453

    Default Re: MIDI Descriptor for USB communication


  2. #2
    Join Date
    Feb 2012
    Posts
    57

    Default Re: MIDI Descriptor for USB communication

    Quote Originally Posted by tumbleweed View Post
    Great! That will give a lot of useful information about a commercial USB/MIDI interface!

  3. #3
    Join Date
    Feb 2012
    Posts
    57

    Default Re: MIDI Descriptor for USB communication

    Interesting! This is what I get when I connect a commercial USB-to-MIDI interface

    Code:
      
    Connection Status        : 0x01 (Device is connected)
    Port Chain               : 5-2
    PortAttributes           : 0x00000000
    
          ======================== USB Device ========================
    
            +++++++++++++++++ Device Information ++++++++++++++++++
    Device Description       : Samengesteld USB-apparaat
    Device Path              : \\?\usb#vid_1a86&pid_752d#5&11561f21&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Device ID                : USB\VID_1A86&PID_752D\5&11561F21&0&2
    Hardware IDs             : USB\Vid_1a86&Pid_752d&Rev_0254 USB\Vid_1a86&Pid_752d
    Driver KeyName           : {36FC9E60-C465-11CF-8056-444553540000}\0042 (GUID_DEVCLASS_USB)
    Driver                   : system32\DRIVERS\usbccgp.sys (Version: 5.1.2600.6437  Date: 2013-08-09)
    Driver Inf               : C:\WINDOWS\inf\usb.inf
    Legacy BusType           : PNPBus
    Class                    : USB
    Class GUID               : {36FC9E60-C465-11CF-8056-444553540000} (GUID_DEVCLASS_USB)
    Interface GUID           : {a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
    Service                  : usbccgp
    Enumerator               : USB
    Location Info            : USB2.0-MIDI
    Manufacturer Info        : (Standaard USB Host Controller)
    Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
    Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
    Problem Code             : 0
    Address                  : 2
    Power State              : D0 (supported: D0, D3, wake from D0)
     Child Device 1          : USB-audioapparaat
      DevicePath             : \\?\usb#vid_1a86&pid_752d&mi_00#6&8f9c2ed&0&0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}
      KernelName             : \Device\00000082
      Device ID              : USB\VID_1A86&PID_752D&MI_00\6&8F9C2ED&0&0000
      Class                  : MEDIA
    
            +++++++++++++++++ Registry USB Flags +++++++++++++++++
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags
     GlobalDisableSerNumGen  : REG_BINARY 01
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\1A86752D0254
     osvc                    : REG_BINARY 00 00
    
            ---------------- Connection Information ---------------
    Connection Index         : 0x02 (2)
    Connection Status        : 0x01 (DeviceConnected)
    Current Config Value     : 0x01
    Device Address           : 0x01 (1)
    Is Hub                   : 0x00 (no)
    Device Bus Speed         : 0x01 (Full-Speed)
    Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
    Pipe[0]                  : EndpointID=2  Direction=OUT  ScheduleOffset=0  Type=Bulk
    Pipe[1]                  : EndpointID=2  Direction=IN   ScheduleOffset=0  Type=Bulk
    Data (HexDump)           : 02 00 00 00 12 01 10 01 00 00 00 08 86 1A 2D 75   ..............-u
                               54 02 00 02 00 01 01 01 00 01 00 02 00 00 00 01   T...............
                               00 00 00 09 05 02 02 20 00 00 00 00 00 00 09 05   ....... ........
                               82 02 20 00 00 00 00 00 00                        .. ......
    
        ---------------------- Device Descriptor ----------------------
    bLength                  : 0x12 (18 bytes)
    bDescriptorType          : 0x01 (Device Descriptor)
    bcdUSB                   : 0x110 (USB Version 1.10)
    bDeviceClass             : 0x00 (defined by the interface descriptors)
    bDeviceSubClass          : 0x00
    bDeviceProtocol          : 0x00
    bMaxPacketSize0          : 0x08 (8 bytes)
    idVendor                 : 0x1A86
    idProduct                : 0x752D
    bcdDevice                : 0x0254
    iManufacturer            : 0x00 (No String Descriptor)
    iProduct                 : 0x02 (String Descriptor 2)
     Language 0x0409         : "USB2.0-MIDI"
    iSerialNumber            : 0x00 (No String Descriptor)
    bNumConfigurations       : 0x01 (1 Configuration)
    Data (HexDump)           : 12 01 10 01 00 00 00 08 86 1A 2D 75 54 02 00 02   ..........-uT...
                               00 01                                             ..
    
        ------------------ Configuration Descriptor -------------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x02 (Configuration Descriptor)
    wTotalLength             : 0x0075 (117 bytes)
    bNumInterfaces           : 0x02 (2 Interfaces)
    bConfigurationValue      : 0x01 (Configuration 1)
    iConfiguration           : 0x00 (No String Descriptor)
    bmAttributes             : 0x80
     D7: Reserved, set 1     : 0x01
     D6: Self Powered        : 0x00 (no)
     D5: Remote Wakeup       : 0x00 (no)
     D4..0: Reserved, set 0  : 0x00
    MaxPower                 : 0x30 (96 mA)
    Data (HexDump)           : 09 02 75 00 02 01 00 80 30 09 04 00 00 00 01 01   ..u.....0.......
                               00 00 09 24 01 00 01 09 00 01 01 09 04 01 00 02   ...$............
                               01 03 00 00 07 24 01 00 01 51 00 06 24 02 01 02   .....$...Q..$...
                               00 06 24 02 01 03 00 06 24 02 02 06 00 09 24 03   ..$.....$.....$.
                               01 07 01 06 01 00 09 24 03 02 04 01 02 01 00 09   .......$........
                               24 03 02 05 01 03 01 00 09 05 02 02 20 00 00 00   $........... ...
                               00 06 25 01 02 02 03 09 05 82 02 20 00 00 00 00   ..%........ ....
                               05 25 01 01 07                                    .%...
    
            ---------------- Interface Descriptor -----------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x04 (Interface Descriptor)
    bInterfaceNumber         : 0x00
    bAlternateSetting        : 0x00
    bNumEndpoints            : 0x00 (Default Control Pipe only)
    bInterfaceClass          : 0x01 (Audio)
    bInterfaceSubClass       : 0x01 (Audio Control)
    bInterfaceProtocol       : 0x00
    iInterface               : 0x00 (No String Descriptor)
    Data (HexDump)           : 09 04 00 00 00 01 01 00 00                        .........
    
            ------ Audio Control Interface Header Descriptor ------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x24 (Audio Interface Descriptor)
    bDescriptorSubtype       : 0x01 (Header)
    bcdADC                   : 0x0100
    wTotalLength             : 0x0009 (9 bytes)
    bInCollection            : 0x01
    baInterfaceNr[1]         : 0x01
    Data (HexDump)           : 09 24 01 00 01 09 00 01 01                        .$.......
    
            ---------------- Interface Descriptor -----------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x04 (Interface Descriptor)
    bInterfaceNumber         : 0x01
    bAlternateSetting        : 0x00
    bNumEndpoints            : 0x02 (2 Endpoints)
    bInterfaceClass          : 0x01 (Audio)
    bInterfaceSubClass       : 0x03 (MIDI Streaming)
    bInterfaceProtocol       : 0x00
    iInterface               : 0x00 (No String Descriptor)
    Data (HexDump)           : 09 04 01 00 02 01 03 00 00                        .........
    
            - MIDI Adapter Class specific MS Interface Descriptor -
    bLength                  : 0x07 (7 bytes)
    bDescriptorType          : 0x24 (Class Specific Interface Descriptor)
    bDescriptorSubtype       : 0x01 (MS Header)
    bcdADC                   : 0x0100
    wTotalLength             : 0x0051 (81 bytes)
    Data (HexDump)           : 07 24 01 00 01 51 00 06 24 02 01 02 00 06 24 02   .$...Q..$.....$.
                               01 03 00 06 24 02 02 06 00 09 24 03 01 07 01 06   ....$.....$.....
                               01 00 09 24 03 02 04 01 02 01 00 09 24 03 02 05   ...$........$...
                               01 03 01 00 09 05 02 02 20 00 00 00 00 06 25 01   ........ .....%.
                               02 02 03 09 05 82 02 20 00 00 00 00 05 25 01 01   ....... .....%..
                               07                                                .
    
            ---------------- MIDI IN Jack Descriptor --------------
    bLength                  : 0x06 (6 bytes)
    bDescriptorType          : 0x24 (Class Specific Interface Descriptor)
    bDescriptorSubtype       : 0x02 (MIDI_IN_JACK)
    bJackType                : 0x01 (Embedded)
    bJackID                  : 0x02 (ID=2)
    iJack                    : 0x00 (No String Descriptor)
    Data (HexDump)           : 06 24 02 01 02 00                                 .$....
    
            ---------------- MIDI IN Jack Descriptor --------------
    bLength                  : 0x06 (6 bytes)
    bDescriptorType          : 0x24 (Class Specific Interface Descriptor)
    bDescriptorSubtype       : 0x02 (MIDI_IN_JACK)
    bJackType                : 0x01 (Embedded)
    bJackID                  : 0x03 (ID=3)
    iJack                    : 0x00 (No String Descriptor)
    Data (HexDump)           : 06 24 02 01 03 00                                 .$....
    
            ---------------- MIDI IN Jack Descriptor --------------
    bLength                  : 0x06 (6 bytes)
    bDescriptorType          : 0x24 (Class Specific Interface Descriptor)
    bDescriptorSubtype       : 0x02 (MIDI_IN_JACK)
    bJackType                : 0x02 (External)
    bJackID                  : 0x06 (ID=6)
    iJack                    : 0x00 (No String Descriptor)
    Data (HexDump)           : 06 24 02 02 06 00                                 .$....
    
            --------------- MIDI OUT Jack Descriptor --------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x24 (Class Specific Interface Descriptor)
    bDescriptorSubtype       : 0x03 (MIDI_OUT_JACK)
    bJackType                : 0x01 (Embedded)
    bJackID                  : 0x07 (ID=7)
    bNrInputPins             : 0x01 (1 pin)
    baSourceID(1)            : 0x06 (input pin connected to entity ID=6)
    baSourcePin(1)           : 0x01 (connected to input pin number 1
    iJack                    : 0x00 (No String Descriptor)
    Data (HexDump)           : 09 24 03 01 07 01 06 01 00                        .$.......
    
            --------------- MIDI OUT Jack Descriptor --------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x24 (Class Specific Interface Descriptor)
    bDescriptorSubtype       : 0x03 (MIDI_OUT_JACK)
    bJackType                : 0x02 (External)
    bJackID                  : 0x04 (ID=4)
    bNrInputPins             : 0x01 (1 pin)
    baSourceID(1)            : 0x02 (input pin connected to entity ID=2)
    baSourcePin(1)           : 0x01 (connected to input pin number 1
    iJack                    : 0x00 (No String Descriptor)
    Data (HexDump)           : 09 24 03 02 04 01 02 01 00                        .$.......
    
            --------------- MIDI OUT Jack Descriptor --------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x24 (Class Specific Interface Descriptor)
    bDescriptorSubtype       : 0x03 (MIDI_OUT_JACK)
    bJackType                : 0x02 (External)
    bJackID                  : 0x05 (ID=5)
    bNrInputPins             : 0x01 (1 pin)
    baSourceID(1)            : 0x03 (input pin connected to entity ID=3)
    baSourcePin(1)           : 0x01 (connected to input pin number 1
    iJack                    : 0x00 (No String Descriptor)
    Data (HexDump)           : 09 24 03 02 05 01 03 01 00                        .$.......
    
            ----------------- Endpoint Descriptor -----------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x05 (Endpoint Descriptor)
    bEndpointAddress         : 0x02 (Direction=OUT EndpointID=2)
    bmAttributes             : 0x02 (TransferType=Bulk)
    wMaxPacketSize           : 0x0020 (32 bytes)
    bInterval                : 0x00 (0 ms)
    bRefresh                 : 0x00
    bSynchAddress            : 0x00
    Data (HexDump)           : 09 05 02 02 20 00 00 00 00                        .... ....
    
            --- Class-Specific MS Bulk Data Endpoint Descriptor ---
    bLength                  : 0x06 (6 bytes)
    bDescriptorType          : 0x25 (Audio Endpoint Descriptor)
    bDescriptorSubtype       : 0x01 (MS General)
    bNumEmbMIDIJack          : 0x02 (2 embedded MIDI jacks)
    baAssocJackID(1)         : 0x02 (Jack(1) ID=2)
    baAssocJackID(2)         : 0x03 (Jack(2) ID=3)
    Data (HexDump)           : 06 25 01 02 02 03                                 .%....
    
            ----------------- Endpoint Descriptor -----------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x05 (Endpoint Descriptor)
    bEndpointAddress         : 0x82 (Direction=IN EndpointID=2)
    bmAttributes             : 0x02 (TransferType=Bulk)
    wMaxPacketSize           : 0x0020 (32 bytes)
    bInterval                : 0x00 (0 ms)
    bRefresh                 : 0x00
    bSynchAddress            : 0x00
    Data (HexDump)           : 09 05 82 02 20 00 00 00 00                        .... ....
    
            --- Class-Specific MS Bulk Data Endpoint Descriptor ---
    bLength                  : 0x05 (5 bytes)
    bDescriptorType          : 0x25 (Audio Endpoint Descriptor)
    bDescriptorSubtype       : 0x01 (MS General)
    bNumEmbMIDIJack          : 0x01 (1 embedded MIDI jack)
    baAssocJackID(1)         : 0x07 (Jack(1) ID=7)
    Data (HexDump)           : 05 25 01 01 07                                    .%...
    
          -------------------- String Descriptors -------------------
                 ------ String Descriptor 0 ------
    bLength                  : 0x04 (4 bytes)
    bDescriptorType          : 0x03 (String Descriptor)
    Language ID[0]           : 0x0409 (English - United States)
    Data (HexDump)           : 04 03 09 04                                       ....
                 ------ String Descriptor 1 ------
    bLength                  : 0x18 (24 bytes)
    bDescriptorType          : 0x03 (String Descriptor)
    Language 0x0409          : "USB2.0-MIDI"
    Data (HexDump)           : 18 03 55 00 53 00 42 00 32 00 2E 00 30 00 2D 00   ..U.S.B.2...0.-.
                               4D 00 49 00 44 00 49 00                           M.I.D.I.
                 ------ String Descriptor 2 ------
    bLength                  : 0x18 (24 bytes)
    bDescriptorType          : 0x03 (String Descriptor)
    Language 0x0409          : "USB2.0-MIDI"
    Data (HexDump)           : 18 03 55 00 53 00 42 00 32 00 2E 00 30 00 2D 00   ..U.S.B.2...0.-.
                               4D 00 49 00 44 00 49 00                           M.I.D.I.
                 ------ String Descriptor 3 ------
    bLength                  : 0x18 (24 bytes)
    bDescriptorType          : 0x03 (String Descriptor)
    Language 0x0409          : "USB2.0-MIDI"
    Data (HexDump)           : 18 03 55 00 53 00 42 00 32 00 2E 00 30 00 2D 00   ..U.S.B.2...0.-.
                               4D 00 49 00 44 00 49 00                           M.I.D.I.

  4. #4
    Join Date
    Apr 2014
    Location
    OK
    Posts
    557

    Default Re: MIDI Descriptor for USB communication

    I own HIDmaker and recommend it every chance I can, but I don't believe it will solve your challenge. Thanks for that USB Treeview link Trowlerg. I'll put it on my work PC and see how it works.

  5. #5

    Default Re: MIDI Descriptor for USB communication

    Don't have time (code for to lazy) to read whole thread but did you already see this http://www.picbasic.co.uk/forum/showthread.php?t=23638
    George

  6. #6
    Join Date
    Apr 2014
    Location
    OK
    Posts
    557

    Default Re: MIDI Descriptor for USB communication

    Quote Originally Posted by mpgmike View Post
    I own HIDmaker and recommend it every chance I can, but I don't believe it will solve your challenge. Thanks for that USB Treeview link Trowlerg. I'll put it on my work PC and see how it works.
    I have had a chance to play with it and it can be a rather useful tool. It's now an icon in my Start screen. Thanks again!

Similar Threads

  1. MIDI over USB
    By RuudNL in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 11th November 2017, 23:33
  2. 2 Axes USB HID Descriptor problem
    By TronicBrain in forum USB
    Replies: 2
    Last Post: - 18th March 2014, 05:06
  3. MIDI over USB peripheral
    By aberco in forum USB
    Replies: 1
    Last Post: - 31st October 2011, 16:06
  4. MIDI to USB
    By DaveC3 in forum USB
    Replies: 0
    Last Post: - 31st March 2011, 21:38
  5. USB to MIDI module
    By Coco Sapone in forum Adverts
    Replies: 0
    Last Post: - 23rd October 2010, 18:13

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts