Teensy 4.1 usbMIDI connected to Teenst 3.6 Host Port not working.

yeahtuna

Well-known member
I'm guessing that has something to do with the fact that Teensy 4.1 is HIGH speed. This should be supported, right? The Teensy is running a simple sketch that sends a noteOn message every 200ms, but not events are detected. The same sketch on a Teensy LC is working fine. Here's some debugging information from the Host Port.

Code:
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
Read first 8 bytes of device desc...
enumeration:
Request all 18 bytes of device descriptor...
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 C0 16 85 04 80 02 01 02 03 01 
    VendorID = 16C0, ProductID = 0485, Version = 0280
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
Request Language ID...
enumeration:
Parse Language ID...
Request Manufactur string...
enumeration:
Manufacturer: Teensyduino
Request Product string...
enumeration:
Product: Teensy MIDI
Request Serial Number string...
enumeration:
Serial Number: 7658120
Request first 9 bytes of config desc...
enumeration:
Config data length = 115
enumeration:
Configuration Descriptor:
  09 02 73 00 02 01 00 C0 32 
    NumInterfaces = 2
    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 03 02 00 02 00 00 00 
    Endpoint = 3 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  05 25 01 01 01 
  09 05 83 02 00 02 00 00 00 
    Endpoint = 3 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  05 25 01 01 03 
  09 04 01 00 02 03 00 00 00 
    Interface = 1
    Number of endpoints = 2
    Class/Subclass/Protocol = 3(HID) / 0 / 0
  09 21 11 01 00 01 22 21 00 
    HID, 1 report descriptor
  07 05 82 03 40 00 01 
    Endpoint = 2 IN
    Type = Interrupt
    Max Size = 64
    Polling Interval = 1
  07 05 02 03 20 00 02 
    Endpoint = 2 OUT
    Type = Interrupt
    Max Size = 32
    Polling Interval = 2
enumeration:
Descriptor 4 = INTERFACE
MIDIDevice claim this=1FFF2040
len = 106
  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: 3
      tx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 5, len: 9
    MIDI Endpoint: 83
      rx_size = 512
type: 37, len: 5
    MIDI Endpoint Jack Association (ignored)
type: 4, len: 9
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 36 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
Descriptor 5 = ENDPOINT
Descriptor 37 =  ???
Descriptor 4 = INTERFACE
MIDIDevice claim this=1FFF2040
len = 32
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
 
Solved by using MIDIDevice_BigBuffer.

I'm thinking MIDIDevice should be 'big buffer' by default in 2020.
 
Back
Top