These two machines are not detected as MIDIDevice, even though they are class compliant midi devices. Both of them also have an USB audio interface integrated,
Teensy crashes/freezes while enumeration:
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY
port change: 10001803
connect
begin reset
port change: 10001005
port enabled
end recovery
new_Device: 12 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
enumeration:
enumeration:
enumeration:
enumeration:
enumeration:
Config data length = 342
//Crash / Freeze
Checking enumeration.cpp, it seems that the config data is too big.
case 12: // read 9 bytes, request all of config desc
enumlen = enumbuf[2] | (enumbuf[3] << 8);
println("Config data length = ", enumlen);
if (enumlen > sizeof(enumbuf)) {
// TODO: how to handle device with too much config data
// THIS IS TRUE FOR BOTH MACHINES
}
mk_setup(enumsetup, 0x80, 6, 0x0200, 0, enumlen); // 6=GET_DESCRIPTOR
queue_Control_Transfer(dev, &enumsetup, enumbuf, NULL);
dev->enum_state = 13;
return;
I updated enumbuf[256] to enumbuf[512]. This stops Teensy from freezing, but the Elektron devices are still not detected as MidiDevice. This is the new output. Noteworthy: Interface class is 255 and Subclass 0!
These two machines are not detected as MIDIDevice, even though they are class compliant midi devices. Both of them also have an USB audio interface integrated,
Teensy crashes/freezes while enumeration:
Checking enumeration.cpp, it seems that the config data is too big.
I updated enumbuf[256] to enumbuf[512]. This stops Teensy from freezing, but the Elektron devices are still not detected as MidiDevice. This is the new output. Noteworthy: Interface class is 255 and Subclass 0!