[linux-audio-user] multiple usb midi devices confusion

Atte André Jensen atte at ballbreaker.dk
Mon Dec 27 07:21:01 EST 2004


Hi

I got the Audiotrak MIDI-MATE and it works stright out of the box. Great!

Now the next problem is that my usb devices seem to show up different 
depending on the order they are inserted and/or the physical order in 
which they are connected to my usb-bus.

I have:
2 x Evolution MK-249C usb midi keyboards
1 x Audiotrak MIDI-MATE usb midi interface
1 x Edirol UA-1A usb soundcard
1 x onboard i810 soundcard

An example of the confusion:

a) I plug in the devices in this order: Evolutions, Audiotrak, Edirol 
and get:
[atte at aarhus ~]$ aconnect -i
client 0: 'System' [type=kernel]
     0 'Timer           '
     1 'Announce        '
client 80: 'Virtual Raw MIDI 2-0' [type=kernel]
     0 'VirMIDI 2-0     '
client 81: 'Virtual Raw MIDI 2-1' [type=kernel]
     0 'VirMIDI 2-1     '
client 82: 'Virtual Raw MIDI 2-2' [type=kernel]
     0 'VirMIDI 2-2     '
client 83: 'Virtual Raw MIDI 2-3' [type=kernel]
     0 'VirMIDI 2-3     '
client 88: 'MK-249C USB MIDI keyboard - Rawmidi 3' [type=kernel]
     0 'MK-249C USB MIDI keyboard MIDI '
client 96: 'MK-249C USB MIDI keyboard - Rawmidi 4' [type=kernel]
     0 'MK-249C USB MIDI keyboard MIDI '
client 104: 'XP MIDI mate - Rawmidi 5' [type=kernel]
     0 'XP MIDI mate MIDI 1'

b) I plug in in this order: Edirol, Audiotrak, Evolutions and get:
[atte at aarhus ~]$ aconnect -i
client 0: 'System' [type=kernel]
     0 'Timer           '
     1 'Announce        '
client 80: 'Virtual Raw MIDI 2-0' [type=kernel]
     0 'VirMIDI 2-0     '
client 81: 'Virtual Raw MIDI 2-1' [type=kernel]
     0 'VirMIDI 2-1     '
client 82: 'Virtual Raw MIDI 2-2' [type=kernel]
     0 'VirMIDI 2-2     '
client 83: 'Virtual Raw MIDI 2-3' [type=kernel]
     0 'VirMIDI 2-3     '
client 88: 'XP MIDI mate - Rawmidi 3' [type=kernel]
     0 'XP MIDI mate MIDI 1'
client 96: 'MK-249C USB MIDI keyboard - Rawmidi 4' [type=kernel]
     0 'MK-249C USB MIDI keyboard MIDI '
client 104: 'MK-249C USB MIDI keyboard - Rawmidi 5' [type=kernel]
     0 'MK-249C USB MIDI keyboard MIDI '

c) Same physical order in the hub as b), but now I simply pull out and 
reinsert the hub:
[atte at aarhus ~]$ aconnect -i
client 0: 'System' [type=kernel]
     0 'Timer           '
     1 'Announce        '
client 72: 'XP MIDI mate - Rawmidi 1' [type=kernel]
     0 'XP MIDI mate MIDI 1'
client 80: 'Virtual Raw MIDI 2-0' [type=kernel]
     0 'VirMIDI 2-0     '
client 81: 'Virtual Raw MIDI 2-1' [type=kernel]
     0 'VirMIDI 2-1     '
client 82: 'Virtual Raw MIDI 2-2' [type=kernel]
     0 'VirMIDI 2-2     '
client 83: 'Virtual Raw MIDI 2-3' [type=kernel]
     0 'VirMIDI 2-3     '
client 88: 'MK-249C USB MIDI keyboard - Rawmidi 3' [type=kernel]
     0 'MK-249C USB MIDI keyboard MIDI '
client 96: 'MK-249C USB MIDI keyboard - Rawmidi 4' [type=kernel]
     0 'MK-249C USB MIDI keyboard MIDI '


How do I control which order devices appear in? I would appreciate an 
explanation that I (hopefully) understand over simply "put this in your 
/etc/something".

BTW: I have looked at this before (before getting the Audiotrak) and 
although I didn't understand how this list helped me out. So I have the 
following (that I modified slightly after trying to solve the confusion 
mentioned in this posting):
------------
[atte at aarhus ~]$ more ~/.asoundrc
# i810 onboard soundcard
pcm.onboard {
	type hw
	card 0
	device 0
}

# edirol ua-1a audio interface
pcm.usb-audio {
	type hw
	card 1
}

ctl.usb-audio {
	type hw
	card 1
}
------------------
[atte at aarhus ~]$ more /etc/modutils/alsa
alias char-major-116 snd
alias char-major-14 soundcore

# i810
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-card-0

# ua-1a
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-8 snd-seq-oss
alias sound-service-1-12 snd-pcm-oss
alias snd-card-1 snd-usb-audio
alias sound-slot-1 snd-card-1

# virtual midi
alias snd-card-2 snd-virmidi
alias sound-slot-2 snd-card-2

#evolution 1
alias snd-card-3 snd-usb-audio
alias sound-slot-3 snd-card-3

#evolution 2
alias snd-card-4 snd-usb-audio
alias sound-slot-4 snd-card-4

#midimate
alias snd-card-5 snd-usb-audio
alias sound-slot-5 snd-card-5

options snd-intel8x0 index=0 id=i810
options snd-usb-audio index=1,3,4,5 vid=0x0582 id=ua-1a
options snd-virmidi index=2
-------------------

Should also mention that this is on debian/unstable with kernel 2.6.9 
and alsa compiled with modules:
[atte at aarhus ~]$ lsmod
Module                  Size  Used by
snd_seq_midi            6176  0
ndiswrapper           100368  0
snd_usb_audio          57696  0
snd_usb_lib            10240  1 snd_usb_audio
snd_intel8x0           27852  1
snd_ac97_codec         62160  1 snd_intel8x0
snd_pcm_oss            44456  0
snd_mixer_oss          16128  2 snd_pcm_oss
snd_pcm                78600  3 snd_usb_audio,snd_intel8x0,snd_pcm_oss
snd_page_alloc          7432  2 snd_intel8x0,snd_pcm
snd_mpu401_uart         5760  1 snd_intel8x0
snd_virmidi             3012  0
snd_seq_virmidi         5632  1 snd_virmidi
snd_rawmidi            18980  4 
snd_seq_midi,snd_usb_lib,snd_mpu401_uart,snd_seq_virmidi
snd_seq_midi_event      6016  2 snd_seq_midi,snd_seq_virmidi
snd_seq                44944  3 
snd_seq_midi,snd_seq_virmidi,snd_seq_midi_event
snd_timer              19972  2 snd_pcm,snd_seq
snd_seq_device          6280  3 snd_seq_midi,snd_rawmidi,snd_seq
snd                    42980  13 
snd_usb_audio,snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_mpu401_uart,snd_virmidi,snd_seq_virmidi,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

Thanks in advance for any help!

-- 
peace, love & harmony
Atte

http://www.atte.dk



More information about the Linux-audio-user mailing list