Trouble with USB host MIDI devices

Status
Not open for further replies.

graydetroit

Well-known member
Hi,

I have a couple of hardware instruments (synthesizer, drum machine) which have bi-directional USB MIDI, and I'm having trouble connecting them to a Teensy 4.1 using the USB host library. I know that my USB hub is connecting to the Teensy, since I used some of the library's code which scans for USB hubs connected to the host and I saw the hub being connected.

Here's my sketch:

Code:
#include <USBHost_t36.h> // access to USB MIDI devices (plugged into 2nd USB port)


// Create the ports for USB devices plugged into Teensy's 2nd USB port (via hubs)
USBHost myusb;
USBHub hub1(myusb);
USBHub hub2(myusb);
MIDIDevice midi01(myusb);
MIDIDevice midi02(myusb);
MIDIDevice midi03(myusb);
MIDIDevice midi04(myusb);
MIDIDevice midi05(myusb);
MIDIDevice midi06(myusb);
MIDIDevice midi07(myusb);
MIDIDevice midi08(myusb);
MIDIDevice midi09(myusb);
MIDIDevice midi10(myusb);
MIDIDevice * midilist[10] = {
  &midi01, &midi02, &midi03, &midi04, &midi05, &midi06, &midi07, &midi08, &midi09, &midi10
};


#define USBBAUD 115200
uint32_t baud = USBBAUD;


USBDriver *drivers[] = {&hub1, &hub2};
#define CNT_DEVICES (sizeof(drivers)/sizeof(drivers[0]))
const char * driver_names[CNT_DEVICES] = {"Hub1", "Hub2"};
bool driver_active[CNT_DEVICES] = {false, false};


void setup () {
  Serial.begin(baud);
  Serial.println("Serial enabled!");
  
  delay(2000);
  Serial.println("Start USB host...");
  delay(10);
  myusb.begin();
}


void loop () {
  myusb.Task();
  // Print out information about different devices.
  for (uint8_t i = 0; i < CNT_DEVICES; i++) {
    if (*drivers[i] != driver_active[i]) {
      if (driver_active[i]) {
        Serial.printf("*** Device %s - disconnected ***\n", driver_names[i]);
        driver_active[i] = false;
      } else {
        Serial.printf("*** Device %s %x:%x - connected ***\n", driver_names[i], drivers[i]->idVendor(), drivers[i]->idProduct());
        driver_active[i] = true;


        const uint8_t *psz = drivers[i]->manufacturer();
        if (psz && *psz) Serial.printf("  manufacturer: %s\n", psz);
        psz = drivers[i]->product();
        if (psz && *psz) Serial.printf("  product: %s\n", psz);
        psz = drivers[i]->serialNumber();
        if (psz && *psz) Serial.printf("  Serial: %s\n", psz);
      }
    }
  }
  
  // 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()) {
      Serial.print("USB Host MIDI: ");
      Serial.print(" type: ");
      Serial.print(midilist[port]->getType());
      Serial.print(" channel: ");
      Serial.print(midilist[port]->getChannel());
      Serial.print(" data1: ");
      Serial.print(midilist[port]->getData1());
      Serial.print(" data2: ");
      Serial.println(midilist[port]->getData2());
    }
  }
}

And here's what I see in the serial monitor when starting up the Teensy with the hub connected to the USB host port using the "Serial + MIDIx16" USB Type in the Arduino IDE Tools dropdown menu:

Code:
Start USB host...
*** Device Hub1 451:8142 - connected ***
  Serial: C7040059509D

Anytime I try and trigger MIDI from the devices, nothing gets read on these devices by the Teensy.

In order to make sure the MIDI messages are being identified from the devices over USB, I plugged the hub into my MacBook and I used the MIDI Monitor application and confirmed that the devices are present and that the messages are being identified.

Any help would be greatly appreciated.

Thank you!
 
Looked at some other threads, and saw there was a line I could uncomment (#define USBHOST_PRINT_DEBUG) to have the Serial monitor spit out some debug info, here's what it printed out after starting the Teensy again with one instrument connected to the hub, and the USB hub connected to the Teensys USB host port:

Code:
Start USB host...
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20007000
periodictable = 20007000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 10 02 09 00 02 40 51 04 42 81 00 01 00 00 01 01 
    VendorID = 0451, ProductID = 8142, Version = 0100
    Class/Subclass/Protocol = 9(Hub) / 0 / 2(Multi-TT)
    Number of Configurations = 1
enumeration:
enumeration:
Serial Number: C7040059509D
enumeration:
Config data length = 41
enumeration:
Configuration Descriptor:
  09 02 29 00 01 01 00 E0 00 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 01 09 00 01 00 
    Interface = 0
    Number of endpoints = 1
    Class/Subclass/Protocol = 9(Hub) / 0 / 1(Single-TT)
  07 05 81 03 01 00 0C 
    Endpoint = 1 IN
    Type = Interrupt
    Max Size = 1
    Polling Interval = 12
  09 04 00 01 01 09 00 02 00 
    Interface = 0
    Number of endpoints = 1
    Class/Subclass/Protocol = 9(Hub) / 0 / 2(Multi-TT)
  07 05 81 03 01 00 0C 
    Endpoint = 1 IN
    Type = Interrupt
    Max Size = 1
    Polling Interval = 12
enumeration:
USBHub memory usage = 960
USBHub claim_device this=20003240
found possible interface, altsetting=0
found possible interface, altsetting=1
number of interfaces found = 2
best interface is 0 using altsetting 1
*** Device Hub1 451:8142 - connected ***
  Serial: C7040059509D
USBHub control callback
09 29 04 09 00 32 00 00 FF 00 00 00 00 00 00 00 
Hub ports = 4
USBHub control callback
unhandled setup, message = 10B01
USBHub control callback
USBHub control callback
USBHub control callback
USBHub control callback
power turned on to all ports
device addr = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
  ep interval = 12
  interval = 256
 best_bandwidth = 2, at offset = 0
pipe cap1 = F0012101
HUB Callback (member)
status = 8
getstatus, port = 3
USBHub control callback
01 01 01 00 
New Port Status
  status=10101  port=3
  state=0
  Device is present: 
  Has Power
USBHub control callback
Port Status Cleared, port=3
timer event (19998 us): Debounce Timer, this = 20003240, timer = 20003558
ports in use bitmask = 8
getstatus, port = 3
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=2
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20003240, timer = 20003558
ports in use bitmask = 8
getstatus, port = 3
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=3
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20003240, timer = 20003558
ports in use bitmask = 8
getstatus, port = 3
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=4
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20003240, timer = 20003558
ports in use bitmask = 8
getstatus, port = 3
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=5
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20003240, timer = 20003558
ports in use bitmask = 8
getstatus, port = 3
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=6
  Device is present: 
  Has Power
sending reset
send_setreset
USBHub control callback
unhandled setup, message = 40323
timer event (19998 us): Debounce Timer, this = 20003240, timer = 20003558
ports in use bitmask = 0
HUB Callback (member)
status = 8
getstatus, port = 3
USBHub control callback
03 05 10 00 
New Port Status
  status=100503  port=3
  state=7
  Device is present: 
  Enabled, speed = 480 Mbit/sec
  Has Power
USBHub control callback
unhandled setup, message = 140123
timer event (24998 us): Hello, I'm resettimer, this = 20003240, timer = 20003574
port_doing_reset = 3
PORT_RECOVERY
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 CB 20 32 00 01 00 01 02 00 01 
    VendorID = 20CB, ProductID = 0032, Version = 0001
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Sequential, LLC
enumeration:
Product: PRO 3
enumeration:
Config data length = 83
enumeration:
Configuration Descriptor:
  09 02 53 00 01 01 00 C0 00 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 01 03 00 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 1 / 3 / 0
  07 24 01 00 01 25 00 
  06 24 02 01 01 00 
  06 24 02 02 02 00 
  09 24 03 01 03 01 02 01 00 
  09 24 03 02 04 01 01 01 00 
  09 05 05 02 00 02 00 00 00 
    Endpoint = 5 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  05 25 01 01 01 
  09 05 85 02 00 02 00 00 00 
    Endpoint = 5 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  05 25 01 01 03 
enumeration:
USBHub memory usage = 960
USBHub claim_device this=20003600
Descriptor 4 = INTERFACE
MIDIDevice claim this=20001DA0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=200039E0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20006320
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=200040C0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=200047A0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20002480
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20004E80
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20005560
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20005C40
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20002B60
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???

So it looks like the MIDI device (synth) is being identified, but pressing any keys or turning any controls aren't being picked up by the read().
 
no real history here with MIDI - but there is a USB MIDI keyboard here and I plugged it into the host and using the sample sketch IIRC all the keys and buttons were found and reported. It is a 2011 era device but that USBHost sketch seemed to find it okay.

Has that sketch been looked at?
 
My suspicion is that the two instruments I'm trying to connect over USB to the Teensy have drivers which the Teensy can't make sense of.

Here's the latest debug output using both devices connected

Code:
Start USB host...
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20007000
periodictable = 20007000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 10 02 09 00 02 40 51 04 42 81 00 01 00 00 01 01 
    VendorID = 0451, ProductID = 8142, Version = 0100
    Class/Subclass/Protocol = 9(Hub) / 0 / 2(Multi-TT)
    Number of Configurations = 1
enumeration:
enumeration:
Serial Number: C7040059509D
enumeration:
Config data length = 41
enumeration:
Configuration Descriptor:
  09 02 29 00 01 01 00 E0 00 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 01 09 00 01 00 
    Interface = 0
    Number of endpoints = 1
    Class/Subclass/Protocol = 9(Hub) / 0 / 1(Single-TT)
  07 05 81 03 01 00 0C 
    Endpoint = 1 IN
    Type = Interrupt
    Max Size = 1
    Polling Interval = 12
  09 04 00 01 01 09 00 02 00 
    Interface = 0
    Number of endpoints = 1
    Class/Subclass/Protocol = 9(Hub) / 0 / 2(Multi-TT)
  07 05 81 03 01 00 0C 
    Endpoint = 1 IN
    Type = Interrupt
    Max Size = 1
    Polling Interval = 12
enumeration:
USBHub memory usage = 960
USBHub claim_device this=20002420
found possible interface, altsetting=0
found possible interface, altsetting=1
number of interfaces found = 2
best interface is 0 using altsetting 1
USBHub control callback
09 29 04 09 00 32 00 00 FF 00 00 00 00 00 00 00 
Hub ports = 4
USBHub control callback
unhandled setup, message = 10B01
USBHub control callback
USBHub control callback
USBHub control callback
USBHub control callback
power turned on to all ports
device addr = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
  ep interval = 12
  interval = 256
 best_bandwidth = 2, at offset = 0
pipe cap1 = F0012101
HUB Callback (member)
status = 18
getstatus, port = 3
deferred getstatus, port = 4
USBHub control callback
01 01 01 00 
New Port Status
  status=10101  port=3
  state=0
  Device is present: 
  Has Power
USBHub control callback
Port Status Cleared, port=3
getstatus, port = 4
USBHub control callback
01 01 01 00 
New Port Status
  status=10101  port=4
  state=0
  Device is present: 
  Has Power
USBHub control callback
Port Status Cleared, port=4
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 18
getstatus, port = 3
deferred getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=2
  Device is present: 
  Has Power
getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=2
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 18
getstatus, port = 3
deferred getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=3
  Device is present: 
  Has Power
getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=3
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 18
getstatus, port = 3
deferred getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=4
  Device is present: 
  Has Power
getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=4
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 18
getstatus, port = 3
deferred getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=5
  Device is present: 
  Has Power
getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=5
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 18
getstatus, port = 3
deferred getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=3
  state=6
  Device is present: 
  Has Power
sending reset
send_setreset
USBHub control callback
unhandled setup, message = 40323
getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=6
  Device is present: 
  Has Power
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=6
  Device is present: 
  Has Power
HUB Callback (member)
status = 8
getstatus, port = 3
USBHub control callback
03 05 10 00 
New Port Status
  status=100503  port=3
  state=7
  Device is present: 
  Enabled, speed = 480 Mbit/sec
  Has Power
USBHub control callback
unhandled setup, message = 140123
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=6
  Device is present: 
  Has Power
timer event (24998 us): Hello, I'm resettimer, this = 20002420, timer = 20002754
port_doing_reset = 3
PORT_RECOVERY
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 CB 20 32 00 01 00 01 02 00 01 
    VendorID = 20CB, ProductID = 0032, Version = 0001
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Sequential, LLC
enumeration:
Product: PRO 3
enumeration:
Config data length = 83
timer event (20000 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 10
getstatus, port = 4
enumeration:
Configuration Descriptor:
  09 02 53 00 01 01 00 C0 00 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 01 03 00 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 1 / 3 / 0
  07 24 01 00 01 25 00 
  06 24 02 01 01 00 
  06 24 02 02 02 00 
  09 24 03 01 03 01 02 01 00 
  09 24 03 02 04 01 01 01 00 
  09 05 05 02 00 02 00 00 00 
    Endpoint = 5 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  05 25 01 01 01 
  09 05 85 02 00 02 00 00 00 
    Endpoint = 5 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  05 25 01 01 03 
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=6
  Device is present: 
  Has Power
enumeration:
Descriptor 4 = INTERFACE
MIDIDevice claim this=200027E0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20002EC0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20005EE0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=200035A0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20003C80
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20004360
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20004A40
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20005120
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20005800
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20001D40
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 5
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 85
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00 
New Port Status
  status=101  port=4
  state=6
  Device is present: 
  Has Power
sending reset
send_setreset
USBHub control callback
unhandled setup, message = 40323
timer event (19998 us): Debounce Timer, this = 20002420, timer = 20002738
ports in use bitmask = 0
HUB Callback (member)
status = 10
getstatus, port = 4
USBHub control callback
03 05 10 00 
New Port Status
  status=100503  port=4
  state=7
  Device is present: 
  Enabled, speed = 480 Mbit/sec
  Has Power
USBHub control callback
unhandled setup, message = 140123
timer event (24998 us): Hello, I'm resettimer, this = 20002420, timer = 20002754
port_doing_reset = 4
PORT_RECOVERY
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 EF 02 01 40 35 19 48 10 01 00 01 02 03 01 
    VendorID = 1935, ProductID = 1048, Version = 0001
    Class/Subclass/Protocol = 239 / 2 / 1
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Elektron Music Machines
enumeration:
Product: Elektron Analog Rytm MKII
enumeration:
Serial Number: 000000000001
enumeration:
Config data length = 328
enumeration:
Configuration Descriptor:
  09 02 48 01 05 01 00 C0 03 
    NumInterfaces = 5
    ConfigurationValue = 1
  08 0B 00 03 01 00 20 00 
    Interface Association = 0 through 2
    Class / Subclass / Protocol = 1 / 0 / 0
  09 04 00 00 00 01 01 20 00 
    Interface = 0
    Number of endpoints = 0
    Class/Subclass/Protocol = 1 / 1 / 32
  09 24 01 00 02 08 5D 00 00 
  08 24 0A 01 01 01 00 00 
  11 24 02 03 01 01 00 01 02 00 00 00 00 00 00 00 00 
  11 24 02 05 02 06 00 01 02 00 00 00 00 00 00 00 00 
  0C 24 03 04 01 03 00 02 01 00 00 00 
  0C 24 03 06 01 01 00 05 01 00 00 00 
  12 24 06 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 
  09 04 01 00 00 01 02 20 00 
    Interface = 1
    Number of endpoints = 0
    Class/Subclass/Protocol = 1 / 2 / 32
  09 04 01 01 02 01 02 20 00 
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 1 / 2 / 32
  10 24 01 03 00 01 01 00 00 00 02 00 00 00 00 00 
  06 24 02 01 04 20 
  07 05 03 05 38 00 01 
    Endpoint = 3 OUT
    Type = Isochronous
    Max Size = 56
    Polling Interval = 1
  08 25 01 00 00 00 00 00 
  07 05 82 11 04 00 01 
    Endpoint = 2 IN
    Type = Isochronous
    Max Size = 4
    Polling Interval = 1
  09 04 02 00 00 01 02 20 00 
    Interface = 2
    Number of endpoints = 0
    Class/Subclass/Protocol = 1 / 2 / 32
  09 04 02 01 01 01 02 20 00 
    Interface = 2
    Number of endpoints = 1
    Class/Subclass/Protocol = 1 / 2 / 32
  10 24 01 06 00 01 01 00 00 00 02 00 00 00 00 00 
  06 24 02 01 04 20 
  07 05 83 25 38 00 01 
    Endpoint = 3 IN
    Type = Isochronous
    Max Size = 56
    Polling Interval = 1
  08 25 01 00 00 00 00 00 
  09 04 03 00 00 01 01 00 00 
    Interface = 3
    Number of endpoints = 0
    Class/Subclass/Protocol = 1 / 1 / 0
  09 24 01 00 01 09 00 01 04 
  09 04 04 00 02 01 03 00 00 
    Interface = 4
    Number of endpoints = 2
    Class/Subclass/Protocol = 1 / 3 / 0
  07 24 01 00 01 41 00 
  06 24 02 01 01 00 
  06 24 02 02 02 00 
  09 24 03 01 03 01 02 01 00 
  09 24 03 02 04 01 01 01 00 
  09 05 01 02 00 02 00 00 00 
    Endpoint = 1 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  05 25 01 01 01 
  09 05 81 02 00 02 00 00 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  05 25 01 01 03 
enumeration:
Descriptor 11 = IAD
Descriptor 4 = INTERFACE
MIDIDevice claim this=200027E0
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=20002EC0
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=20005EE0
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=200035A0
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=20003C80
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=20004360
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=20004A40
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=20005120
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=20005800
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
MIDIDevice claim this=20001D40
len = 311
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 36, len: 8
    Unknown MIDI CS_INTERFACE descriptor!
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 4 = INTERFACE
MIDIDevice claim this=200027E0
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20002EC0
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20005EE0
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=200035A0
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20003C80
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20004360
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20004A40
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20005120
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20005800
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20001D40
len = 209
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
Descriptor 4 = INTERFACE
MIDIDevice claim this=200027E0
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20002EC0
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20005EE0
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=200035A0
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20003C80
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20004360
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20004A40
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20005120
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20005800
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20001D40
len = 200
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
Descriptor 5 = ENDPOINT
Descriptor 4 = INTERFACE
MIDIDevice claim this=200027E0
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20002EC0
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20005EE0
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=200035A0
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20003C80
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20004360
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20004A40
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20005120
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20005800
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
MIDIDevice claim this=20001D40
len = 147
  Interface is unknown (might be Yahama)
type: 4, len: 9
This interface is not MIDI
Descriptor 4 = INTERFACE
MIDIDevice claim this=200027E0
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20002EC0
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20005EE0
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=200035A0
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20003C80
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20004360
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20004A40
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20005120
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20005800
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
MIDIDevice claim this=20001D40
len = 138
  Interface is unknown (might be Yahama)
type: 36, len: 16
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 5, len: 7
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
Descriptor 4 = INTERFACE
MIDIDevice claim this=200027E0
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=20002EC0
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=20005EE0
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=200035A0
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=20003C80
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=20004360
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=20004A40
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=20005120
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=20005800
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
MIDIDevice claim this=20001D40
len = 92
  Interface is unknown (might be Yahama)
type: 36, len: 9
    MIDI Header (ignored)
type: 4, len: 9
Descriptor 36 =  ???
Descriptor 4 = INTERFACE
MIDIDevice claim this=200027E0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20002EC0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20005EE0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=200035A0
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20003C80
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20004360
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20004A40
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20005120
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20005800
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
MIDIDevice claim this=20001D40
len = 74
  Interface is MIDI
type: 36, len: 7
    MIDI Header (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 6
    MIDI IN Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 36, len: 9
    MIDI OUT Jack (ignored)
type: 5, len: 9
    MIDI Endpoint: 1
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 81
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
 
Last edited:
SOLVED: Had to use the MIDIDevice_BigBuffer class instead of the MIDIDevice class, as the instruments have a max packet size of 512, and the MIDIDevice class is capped at 64. The conclusion at this thread helped: https://forum.pjrc.com/threads/55142-MIDI-SendSysEx-on-USB-host/page3

Might be pretty easy to throw a warning/log about this for people in the future who come across this issue and who are starting from the example sketches on Github, and/or provide a different example using the class with the larger buffer.
 
Status
Not open for further replies.
Back
Top