USB MIDI Devices and SysEx using MS Drivers
« on: Mar 27th, 2008, 2:45pm »
Other manufacturers use the MS Port Class driver as well. There are several known problems transmitting SysEx buffers using this driver (not sure why Microsoft does not fix it?). A rudimentary Google search turns up the following:
- The Microsoft driver isn't multiclient capable. This means, that only one program can allocate a MIDI port at the same time.
- The Microsoft driver isn't able to send one SysEx string which is distributed over multiple buffers without errors. The complete SysEx string has to be sent from a single buffer (this affects the MIOS download, in the MIDI-OX port config menu, you have to increase the Low level Output buffer size from 256 to 2048).
Method to Test a MIDI interface using a Hardware Loopback
A) Take a MIDI cable and attach the MIDI Interface Output port to the MIDI Interface Input port. If you have an interface with two Male MIDI plugs, get a double female adapter to allow the connection.
B) Open the Port as both Input and Output in MIDI-OX
C) Ensure "Pass SysEx" is checked in MIDI-OX Options Menu.
D) Open the SysEx view (View | SysEx...)
E) Open a large SysEx dump file (.syx) in the SysEx Command Window (Command Window | Load File...)
F) Choose: Command Window | Send/Receive SysEx
G) When the dump finishes, choose: SysEx | Compare Windows
If the Windows are not identical there is corruption introduced during transmission.