I sent an email to alsa-user about this issue a few days ago, but now I've delved into the problem a little more and believe it to be a bug (rather than user error :)
I'm having some troubles getting my Edirol PCR-50 keyboard working via USB with my laptop. I'm using latest CVS of ALSA (as of December 28 2002) and stock linux-2.4.20 on a Mandrake 9.0 system. The keyboard is detected and the snd-usb-audio module hotplugs itself, but I'm not getting any data via the raw MIDI port or sequencer ports. Here is the output from /var/log/messages when plugging the device: Dec 29 19:39:44 SillyPuddy kernel: hub.c: new USB device 00:07.2-1.3, assigned address 4 Dec 29 19:39:44 SillyPuddy kernel: usb.c: USB device 4 (vend/prod 0x582/0x33) is not claimed by any active driver. Dec 29 19:39:47 SillyPuddy /etc/hotplug/usb.agent: Setup snd-usb-audio for USB product 582/33/100 Dec 29 19:39:47 SillyPuddy kernel: usb.c: registered new driver snd-usb-audio Dec 29 19:39:47 SillyPuddy kernel: snd-usb-midi: created 2 output and 3 input ports Dec 29 19:39:47 SillyPuddy kernel: usb-uhci.c: uhci_submit_urb: pipesize for pipe 40008480 is zero Dec 29 19:39:47 SillyPuddy kernel: snd-usb-midi: usb_submit_urb: -90 The last 2 log lines I believe are significant. Looking at the code I found that the usb_maxpacket macro is returning 0 for the input endpoint for the PCR USB device which causes uhci_submit_urb to fail (-90 = EMSGSIZE which probably isn't really the right code, EINVAL maybe). I couldn't figure out if this size was set by ALSA or supplied by the device info or something, and since its a bit over my head, I decided to post this here. I hope someone has a better idea of whats going on. Some more info: /proc/asound/cards: 0 [PCR ]: USB-Audio - EDIROL PCR Roland EDIROL PCR cat /proc/asound/PCR/midi0: Roland EDIROL PCR Output 0 Tx bytes : 0 Output 1 Tx bytes : 0 Input 0 Rx bytes : 0 Input 1 Rx bytes : 0 Input 2 Rx bytes : 0 I've also attached lsusb -v output. Cheers. Josh Green
Bus 001 Device 001: ID 0000:0000 Bus 001 Device 002: ID 05e3:0604 Genesys Logic, Inc. Bus 001 Device 006: ID 0582:0033 Roland Corp.