[PlanetCCRMA] usb-midi alsa great but...

Juan Reyes juanig@ccrma.Stanford.EDU
Thu Sep 5 12:42:01 2002

Thank you everyone for helping us USB and the midisports.

At this time we manged to get hot-plug running and actually you can
unplug and plug your midisport and the usb  agent will recognize it and  
download the firmware. Usb will later make it available for the kernel to
look for  a suitable module, namely in the ALSA case snd-usb-midi and
snd-usb-audio. In the oss case the usb agent loads usb-midi.

The only problem (caveat) is that it seems that snd-usb-midi or usb-midi
only work when the module is loaded for the first time. If you unplug
your midisport and plug it back, it loads the firmware and things seem to
go back to normal, however only *midi-out* is enable from the midisport.
No midi in. The same is true when you restart ALSA therefore you have to
reboot in order to get midi-in working.

We got the midisports working by following your advise in this list and
by downloading a tarball called usbmidi-20020324.tar.gz. The link is
posted at the wiki documentation in ALSA or it might

Although the drivers provided in this tarball are a bit outdated as
stated by their authors, the tarball itself contains all the information
and files needed in order to get snd-usb-midi going. The other important
reason for this tarball is that inside, there is a testing/Midisport
directory with sources, documents and two GPL files called
ezusbmidi1x1.ihx and ezusbmidi2x2.ihx which are simply the precompiled
files with the firmware you will load into the midisports. Inside the 
Midisport directory there is also instructions and scripts to automate
this process.

We followed  Pedro Lopez-Cabanillas instructions posted in the ALSA-DEV
list in  which you edit /etc/hotplug/usb.usermap with the manufacturer
codes in the following way:

ezusbmidi    0x0003 0x0763 0x1010 0 0 0 0 0 0 0 0 0
ezusbmidi    0x0003 0x0763 0x1001 0 0 0 0 0 0 0 0 0

be careful with tabs and spaces!! Follow spaces in the same as other
lines  in this file.

Then we created an executable script named: /etc/hotplug/usb/ezusbmidi

Note that you need to have a program called fxload in your system for
this process to be automatic. There is an rpm in the fxload repository:
fxload-2002_04_11-1.i386.rpm. fxload works in conjunction with hot
plug and the usb agent and loads the firmware to the midisports.

Also you need to have the firmware files ezusbmidi1x1.ihx and
ezusbmidi2x2.ihx in /usr/share/usb/ezusbmidi/ directory and according to
the Linux Standard Base.

We edited /etc/modules.conf by adding the snd-usb-midi ALSA module in the
following way:

alias snd-card-1 snd-usb-midi
alias sound-service-1-1 snd-seq-oss
alias sound-service-1-8 snd-seq-oss

# --- ALSA Options
options snd snd_major=116 snd_cards_limit=3  snd_device_mode=0666
snd_device_gid=0 snd_device_uid=0

Make sure you make room for the midisport by having the right number in
the  snd_cards_limit variable. If you have an internal card probably you
will need to have two or three extra slots. For the midisport 2x2 we
added the following line to the standard modules.conf

options snd-usb-midi  snd_vid=0x763 snd_pid=0x1001 snd_index=1

Hope this information is helpful

-- Juan Reyes