Edirol UM-550/UM-880 with 2.6 kernel

with OSS

switch the UM-550 or UM-880 into "ordinary driver mode", following
the instructions in the manual.

note that this will not work with Rosegarden and possibly other
fairly recent applications.

with ALSA:

compile your kernel without CONFIG_USB_MIDI (important)

compile your kernel with CONFIG_SND_USB_AUDIO

switch the UM-550 or UM-880 into "FPT driver mode", following the
instructions in the manual.

this is the preferred method, as OSS is deprecated.

There is no difference in functionality between the ordinary and FPT
drivers in the hardware, this is only related to proper recognition of
the device by the OS.

In both cases, you will see obvious signs of success in
/var/log/messages or dmesg if you set things up right. Also, for the
ALSA driver, you will see the device with 'amidi -l'. If the drivers are
compiled as modules, you need to take the normal steps for loading them
into your kernel (e.g. modprobe).

Which port is which?

Once the device has been detected by the system, you will get 6 ALSA
MIDI ports (for the UM-550, 9 for the UM-880), the last one of which is
the device's control port, used to send control information to the
device (such as patch change messages, for instance ; this control ports
prevents conflicts with other MIDI devices). The other ports correspond
to the MIDI inputs and outpus on the device, but numbered from 0 instead
of 1, meaning that ALSA port number 0 corresponds to physical port
number 1.

To play a MIDI note from the computer to an instrument connected on
OUTPUT 2 on you device, send the note to "UM-xx0 Port 1" and check that
you have patched INPUT 2 to OUTPUT 2 with the MIDI/USB button lit (which
means that the input will come from USB). You can actually send the note
to any port n, provided that you patch INPUT (n+1) to OUTPUT 2 (again,
with the MIDI/USB button lit).

Also note that you cannot patch USB INPUT 2 to OUTPUT 2 as well as MIDI
INPUT 2 to OUTPUT 2 at the same time, but you could patch USB INPUT 3 to
OUTPUT 2 and MIDI INPUT 2 to OUTPUT 2 at the same time. This is
apparently a limitation of the hardware, and not specific to ALSA or
Linux.