Clemens Ladisch wrote:
Chris Pickett wrote:
I am trying to get my Edirol UM-880 to work with
Rosegarden-4.0.9.7 and
alsa-1.0.4.
/usr/src/linux # grep -i midi .config
CONFIG_SND_RAWMIDI=y
# CONFIG_SND_VIRMIDI is not set
CONFIG_USB_MIDI=y
CONFIG_USB_MIDI is not the ALSA driver but the old OSS driver.
You want to use CONFIG_SND_USB_AUDIO instead.
Okay, it was already there, but I removed CONFIG_USB_MIDI this time (I'm
using 'make menuconfig' and it doesn't mention this option being for OSS
only, just FYI).
/usr/src/linux # egrep -i 'midi|snd|audio|usb' .config | grep -v ^#
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_MEMORY=y
CONFIG_SND_DEBUG_DETECT=y
CONFIG_SND_VX_LIB=y
CONFIG_SND_VIRMIDI=m
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_CS46XX=y
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_VXPOCKET=y
CONFIG_USB=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_BANDWIDTH=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_PRINTER=m
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
Regardless of whether or not CONFIG_SND_USB_AUDIO is a module, I now
only get:
usb 1-1: new full speed USB device using address 2
in /var/log/messages. 'modprobe snd-usb-audio vid=0x0582 pid=0x0015'
doesn't help the situation. 'amidi -l' only shows me my Crystal
SoundFusion card.
I also tried playing with CONFIG_SND_VIRMIDI, and if loaded /
compiled-in, it also shows up in 'amidi -l', but doesn't help the
snd-usb-audio situation (which is what I expected). It doesn't show up
in rosegardensequencer either, but I'm now using 'amidi -l' as the test
since it's faster.
However, lsusb -v gives me:
miumiu /home/chris # lsusb -v
Bus 001 Device 007: ID 0582:0015 Roland Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 0 Interface
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0582 Roland Corp.
idProduct 0x0015
bcdDevice 1.0a
iManufacturer 1 Roland
iProduct 2 EDIROL UM-880
iSerial 3 ZQ82673
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 339
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x40
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 Non Streaming
bInterfaceProtocol 0
iInterface 0
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 321
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 16
iJack 0
[ + 8 more jacks ]
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 32
iJack 0
[ + 8 more jacks ]
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 48
bNrInputPins 1
baSourceID( 0) 32
BaSourcePin( 0) 0
iJack 0
[ + 8 more jacks ]
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 64
bNrInputPins 1
baSourceID( 0) 16
BaSourcePin( 0) 0
iJack 0
[ + 8 more jacks ]
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 1
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 13
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 9
baAssocJackID( 0) 16
baAssocJackID( 1) 17
baAssocJackID( 2) 18
baAssocJackID( 3) 19
baAssocJackID( 4) 20
baAssocJackID( 5) 21
baAssocJackID( 6) 22
baAssocJackID( 7) 23
baAssocJackID( 8) 24
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 1
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 13
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 9
baAssocJackID( 0) 48
baAssocJackID( 1) 49
baAssocJackID( 2) 50
baAssocJackID( 3) 51
baAssocJackID( 4) 52
baAssocJackID( 5) 53
baAssocJackID( 6) 54
baAssocJackID( 7) 55
baAssocJackID( 8) 56
Language IDs: (length=4)
0409 English(US)
Bus 001 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.5-gentoo-r1 uhci_hcd
iProduct 2 Intel Corp. 82371AB/EB/MB PIIX4 USB
iSerial 1 0000:00:07.2
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x40
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type none
wMaxPacketSize 2
bInterval 255
Language IDs: (length=4)
0409 English(US)
which is the same as for the OSS driver, IIRC.
~ # cat /etc/modules.d/alsa
# Alsa 0.9.X kernel modules' configuration file.
# $Header:
/home/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc,v
1.1 2003/08/05 21:07:55 johnm Exp $
# ALSA portion
alias char-major-116 snd
# OSS/Free portion
alias char-major-14 soundcore
##
## IMPORTANT:
## You need to customise this section for your specific sound card(s)
## and then run `update-modules' command.
## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
##
## ALSA portion
alias snd-card-0 snd-cs46xx
alias snd-card-1 snd-vxpocket
alias snd-card-2 snd-usb-audio
## OSS/Free portion
alias sound-slot-0 snd-card-0
alias sound-slot-1 snd-card-1
alias sound-slot-2 snd-card-2
##
## OSS/Free portion - card #1
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
## OSS/Free portion - card #2
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-12 snd-pcm-oss
## OSS/Free portion - card #3
alias sound-service-2-0 snd-mixer-oss
alias sound-service-2-3 snd-pcm-oss
alias sound-service-2-12 snd-pcm-oss
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss
post-install snd-vxpocket /usr/bin/vxloader
# Set this to the correct number of cards.
options snd cards_limit=3
[...]
The ALSA driver supports both driver modes.
Microsoft's USB Audio driver in operating systems before Windows XP
didn't support USB MIDI, and Bad Things(TM) would happen if this
driver was loaded for such a device. Therefore, USB MIDI devices must
pretend not to be an USB Audio device to prevent Microsoft's driver
from loading. This is the whole difference between the "Edirol" and
"generic" driver modes.
Talk about confusing/misleading advertising/literature! Thanks for the
clarification.
Chris