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