At last I figured this out, so I thought I'd share it. My setup is as follows: a terratec ews88mt, a BCF2000, and an evolution eKeys 49 midi keyboard. kernel 2.6.14, Gentoo. The following is a section from my /etc/modules.d/alsa (which ultimately ends up in /etc/modules.conf). The BCF2000 is always card 2 (in /proc/asound/cards) corresponding to /dev/snd/midiC2D0, the keyboard is always card 3 corresponding to /dev/snd/midiC3D0. This remains constant even if they aren't switched on when alsa starts, or if I switch the devices off and on. # 1) ews88mt alias snd-card-0 snd-ice1712 options snd-ice1712 index=0 # 2) virtual midi for softsynth and routing alias snd-card-1 snd-virmidi options snd-virmidi index=1 # 3) bcf2000 alias snd-card-2 snd-usb-audio options snd-usb-audio index=2 vid=0x1397 pid=0x00bc # 4) evolution keyboard alias snd-card-3 snd-usb-audio options snd-usb-audio index=3 vid=0x0a4d pid=0x0090 #Set this to the correct number of cards. options snd cards_limit=4 The key to this is the vid (Vendor id) and pid (product id) parameters for snd-usb-audio. Which in usb-speak are idVendor and idProduct, respectively. The values for these can be found using lsusb -v, which on my system gives the following: Bus 001 Device 011: ID 1397:00bc Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1397 idProduct 0x00bc bcdDevice 1.00 iManufacturer 1 BEHRINGER iProduct 2 BCF2000 and Bus 001 Device 009: ID 0a4d:0090 Evolution Electronics, Ltd Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0a4d Evolution Electronics, Ltd idProduct 0x0090 bcdDevice 1.22 iManufacturer 1 iProduct 2 I hope someone finds this useful. bye John