Comment 34 for bug 27833

Revision history for this message
carrasclin (fontanet9) wrote :

It seem that the way as the udev rules are managed in Ubuntu have been chaged, interestengly making it more compatible with the original Midisport firmware package and with Debian itself. And thats the reason of the latest problems.

The fix consists of two steps.
First of all the usbfs must be properly set. On the Live CD it is not. So you have to isuue 'sudo mount usbfs -t usbfs /proc/bus/usb/'. And on a hard drive installation you have to open '/etc/fstab' and lookout for an entry 'proc /proc proc defaults 0 0'. If it is not pressent edit it and save. You con do it with 'sudo gedit /etc/fstab'

And next comes the firmware issue part:

Actually you have three ways to workaround the problem:

First of all and independent of the installation procedure 'apt-get install fxload'

1- Download the Debian 'precompiled' version from any Debian repo like http://ftp.us.debian.org/debian/pool/non-free/m/midisport-firmware/ and install it with GDebi clicking on it with the secondary mouse button.

2- Download the 'source' package from any Debian repo or from soruceforge.net http://sourceforge.net/project/showfiles.php?group_id=87777 . Actually since the package consists of binary firmware blob files there is no real 'source' package. The difference lies on that the 'source' one is installed with the make utility independently from the package management system.
So you unpack the tarball, enter to the unpacked directory and type the usual './configure && make && sudo make install'

3- Install the one from the Ubuntu repo but 'sudo nautilus' and go to '/etc/udev/rules.d' find a file '85-midisport-firmware.rules' , delete it and with a text editor copy and paste :
---------cut here-------------------------------------------------------------------------
# midisport-firmware.rules - udev rules for loading firmware into MidiSport devices

# DEVPATH=="/*.0" selects interface 0 only
# (some udev versions don't work with SYSFS{bInterfaceNumber})

# MidiSport 2x2
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1001/*", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport2x2.ihx"
# MidiSport 1x1
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1010/*", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport1x1.ihx"
# KeyStation
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1014/*", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSportKS.ihx"
# MidiSport 4x4
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1020/*", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport4x4.ihx"
# MidiSport 8x8
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1031/110", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport8x8-2.10.ihx"
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1031/121", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport8x8-2.21.ihx"

# vim: ft=conf
--------cut here--------------------------------------------------------------------
and save it as '85-midisport-firmware.rules' on '/etc/udev/rules.d'.

You have got to chose any of the three options and then when you plug your Midisport/M-Audio device should be automatically recognized. I have tested the three ways plus the manual way pointed out on an earlier post with a Keystation keyboard and I've managed to fix the problem.

So far for the Ubuntu maintainer of this package I think that the most straightforward solution is to simply rip out the deb package from Debian's repo and upload to the Ubuntu Multiverse, since it appears that this one just work 'out of the box' with the newly introduced changes on the udev rules on Ubuntu.