Le firmware officiel pour les interfaces M-AUDIO MIDISPORT est disponible avec la plupart des distributions Linux. Malheureusement, il ne fonctionne pas avec la version de fxload
disponible avec FreeBSD. Par chance, il existe un firmware alternatif qui fonctionne. Il peut être téléchargé ici:
Pour l’utiliser, on installe donc le paquet fxload
:
root> pkg_add -r fxload
Après connexion, on repère le VID (Vendor ID) et le PID (Product ID) de l’interface concernée.
root> usbconfig ugen0.1: <UHCI root HUB Intel> ... ... ugen3.2: <product 0x1001 vendor 0x0763> at usbus3, cfg=0 ...
On charge le firmware:
root> fxload -I ezusbmidi2x2.ihx -D vid=0x0763,pid=0x1001
Une fois le firmware en place, l’interface est fonctionnelle, les devices correspondants sont créés automatiquement:
root> usbconfig | grep -i midiman ugen3.2: <Midisport 2x2 Midiman> at usbus3,.. root> ls -l /dev/umidi* crw-r--r-- 1 root root 0, 112 Jan 1 16:02 /dev/umidi0.0 crw-r--r-- 1 root root 0, 113 Jan 1 16:02 /dev/umidi0.1
Pour automatiser tout ça, on utilise devd
. C’est l’équivalent de udev
sous Linux. Il suffit de créer un fichier de configuration pour notre interface:
# /usr/local/etc/devd/m-audio.conf options { set LOADER "/usr/local/sbin/fxload -I" set MAUDIO "/usr/local/share/fxload/m-audio" }; notify 0 { match "system" "USB"; match "subsystem" "INTERFACE"; match "type" "ATTACH"; match "vendor" "0x0763"; match "product" "0x1010"; match "release" "0x0001"; action "$LOADER $MAUDIO/ezusbmidi1x1.ihx -Dvid=$vendor,pid=$product" }; notify 0 { match "system" "USB"; match "subsystem" "INTERFACE"; match "type" "ATTACH"; match "vendor" "0x0763"; match "product" "0x1001"; match "release" "0x0001"; action "$LOADER $MAUDIO/ezusbmidi2x2.ihx -Dvid=$vendor,pid=$product" };
On installe ensuite le firmware dans le répertoire kivabien™:
root> mkdir -p /usr/local/share/fxload/m-audio root> install -m 644 ezusb*ihx /usr/local/share/fxload/m-audio
On redémarre devd
:
root> service devd restart
Attention, seul root
est autorisé à utiliser cette interface en lecture/écriture:
root> ls -l /dev/umidi* crw-r--r-- 1 root root 0, 112 Jan 1 16:02 /dev/umidi0.0 ...
Pour modifier ça, il faut rajouter une règle dans le fichier /etc/devfs.rules
(cf. article sur le scanner USB):
[localrules=10] add path 'umidi*' mode 0664 group operator
Une fois le firmware chargé, vous devriez voir la led « USB » clignoter en variant d’intensité. Pour l’interface MIDISPORT 2×2, le port A est accessible via /dev/umidi0.0
et le port B via /dev/umidi0.1
.
et voilà.