Dave Phillips wrote: > 1. I put the USB driver on the blacklist in /etc/hotplug/blacklist > to force a particular ordering of my cards. You don't need to put the driver into the blacklist to force a particular ordering. Just make sure that all driver modules have correct "index" parameters in /etc/modprobe.conf (or whatever module configuration file your distribution uses): options snd-whatever index=0 options snd-usb-audio index=1 > I load the driver and firmware with this script: > > modprobe snd-usb-audio > fxload -I /.../ezusbmidi2x2.ihx -D /proc/bus/usb/001/003 In theory, snd-usb-audio should be loaded after the firmware. > Can I automate this so I don't have to use the script ? Put the script into /etc/hotplug/usb, and create another file named scriptname.usermap containing the vendor/product IDs of the device. The files I'm using in the loader for M-Audio's closed source firmware are available here: <http://cvs.sourceforge.net/viewcvs.py/usb-midi-fw/midisport-firmware/> > 2. The firmware script requires a USB ID. Is there some way to have > the script find that number, instead of me having to look it up via 'cat > /proc/bus/usb' ? The kernel passes the usbfs file name to the hotplug script in the environment variable DEVICE. (fxload will use this variable by default.) > 3. More of a seq24 problem, but: When I start seq24 and load a > previous session I *must* have my synths loaded in their original order, > else I have to reassign every sequence port/channel to the new ordering, > which can be a real pain. Is there anyone else who would like to see > more flexibility in relocating device numbers ? You could try "modprobe snd-seq-dummy ports=10" and connect those ports by hand to your synths, but then you'd have quite unintuitive port names. > I'm thinking that it's much easier to redefine one device's ID Currently, ALSA doesn't allow to choose/change the client number of software synthesizers. > than to redefine potentially hundreds of sequence patterns. It would be nice if sequencers would support assigning ports by name. The MMA has defined a meta event for this, but AFAIK nobody uses it. Regards, Clemens