[linux-audio-user] How to keep alsa sound card order with usb devices

From: John Anderson <ardour@email-addr-hidden>
Date: Fri Dec 30 2005 - 14:07:33 EET

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
Received on Fri Dec 30 16:15:06 2005

This archive was generated by hypermail 2.1.8 : Fri Dec 30 2005 - 16:15:06 EET