[PlanetCCRMA] Midisport 2x2 driver problem and solution

Roger Dannenberg rbd@cs.cmu.edu
Mon Mar 10 13:15:02 2003

I was using Midisport 2x2 drivers from PlanetCCRMA (and I believe
PlanetCCRMA uses firmware by Lars Doelle). I discovered that this
configuration will remove status bytes once the driver is loaded, so for
example, if you run a program that outputs a single note-on, then plug a
cable between the Midisport 2x2 and a synthesizer, and run the program
again, no status byte will be sent (and no note will sound). This
problem could go unnoticed if your MIDI programs always start by sending
a different status byte from the last one sent out before the program
quit, or if you always leave everything on and plugged in. (My temporary
workaround was to unplug the USB cable every time I restarted my program
-- this also works.)

Clemens Ladisch pointed me to
ml which worked perfectly (follow the README) to "upgrade" my
planetCCRMA configuration to use Midiman's firmware (extracted from
M-Audio's Windows2000 driver, which you can download from their

Another interesting tidbit: "raw" mode in Alsa actually parses and
passes full midi messages with status, according to Clemens. This can
make it hard to read what is really passing through a MIDI cable.

Thanks to Clemens Ladisch for Alsa info and Garth Zeglin for his debug
hardware that showed what was really coming out of the interface.

Finally, with Alsa 0.9x, PortMidi for Linux is broken, but I'm working
on a replacement now. I have some interim code that might be useful and
also would welcome any assistance.