[alsa-devel] Can't connect to MIDI output of Edirol UA-1000

Hello all,
I hope this is the right place to report this and ask for help: if not, I'd be glad of a pointers to any more appropriate forum.
I've just recently noticed that connections to the MIDI output of my Edirol UA-1000 fail when using the snd_ua101 driver in recent kernels.
Although the port is listed, connections to it fail from all the software I've tried: qjackctl, a2jmidid and aconnect all fail to connect.
aconnect simply reports "Connection failed (Input/output error)"; a2jmidid -e says "ERROR: a2j_port_create: snd_seq_connect_to() for 20:0 failed with error -5"; and qjackctl reports no error but refuses to make the connection.
I've observed the problem in stable kernels 3.0.39 and 3.4.11; it works as expected when booted into a 2.6.32 kernel, where the snd_usb_audio driver is used for the UA-1000. Other USB MIDI devices appear to work fine with the newer kernels.
Incidentally, I also noticed that the 'Control' MIDI in & out of the UA-1000 no longer appear when using snd_ua101, but I don't think this is related, since changing the values of midi_ep.out_cables and midi_ep.in_cables to 3 in the ua101_probe() function in sound/usb/misc/ua101.c brings the control in & out back, but I'm still unable to connect the outputs.
Any help, suggestions, patches or requests for more details gratefully received!
Thank you,
Colin Fletcher.

Colin Fletcher wrote:
I've just recently noticed that connections to the MIDI output of my Edirol UA-1000 fail when using the snd_ua101 driver in recent kernels.
aconnect simply reports "Connection failed (Input/output error)"; a2jmidid -e says "ERROR: a2j_port_create: snd_seq_connect_to() for 20:0 failed with error -5"
Are there any error messages in the system log?
Regards, Clemens

On 18/09/12 15:23, Clemens Ladisch wrote:
Colin Fletcher wrote:
I've just recently noticed that connections to the MIDI output of my Edirol UA-1000 fail when using the snd_ua101 driver in recent kernels.
aconnect simply reports "Connection failed (Input/output error)"; a2jmidid -e says "ERROR: a2j_port_create: snd_seq_connect_to() for 20:0 failed with error -5"
Are there any error messages in the system log?
Hi Clemens,
Not a squeak in/var/log/syslog or /var/log/messages when I try to connect using aconnect, no. Can you think of anywhere else I might look?
Colin.

On 18/09/12 15:47, Colin Fletcher wrote:
On 18/09/12 15:23, Clemens Ladisch wrote:
Colin Fletcher wrote:
I've just recently noticed that connections to the MIDI output of my Edirol UA-1000 fail when using the snd_ua101 driver in recent kernels.
aconnect simply reports "Connection failed (Input/output error)"; a2jmidid -e says "ERROR: a2j_port_create: snd_seq_connect_to() for 20:0 failed with error -5"
Are there any error messages in the system log?
Hi Clemens,
Not a squeak in/var/log/syslog or /var/log/messages when I try to connect using aconnect, no. Can you think of anywhere else I might look?
Colin.
Just a little more info: 'strace aconnect 20:0 20:0' shows that the SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT ioctl on "/dev/snd/seq" is the thing which is giving the EIO error.
Colin.

On 18/09/12 16:14, Colin Fletcher wrote:
On 18/09/12 15:47, Colin Fletcher wrote:
On 18/09/12 15:23, Clemens Ladisch wrote:
Colin Fletcher wrote:
I've just recently noticed that connections to the MIDI output of my Edirol UA-1000 fail when using the snd_ua101 driver in recent kernels.
aconnect simply reports "Connection failed (Input/output error)"; a2jmidid -e says "ERROR: a2j_port_create: snd_seq_connect_to() for 20:0 failed with error -5"
Are there any error messages in the system log?
Hi Clemens,
Not a squeak in/var/log/syslog or /var/log/messages when I try to connect using aconnect, no. Can you think of anywhere else I might look?
Colin.
Just a little more info: 'strace aconnect 20:0 20:0' shows that the SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT ioctl on "/dev/snd/seq" is the thing which is giving the EIO error.
Hello Clemens,
I wondered whether what you said about a problem with the US-122 MIDI out [1] was the same problem as mine. with the UA-1000, so I tried kernels 2.6.38.8 and 2.6.39.
With kernel 2.6.38.8, aconnect can connect to the MIDI out of my UA-1000; with 2.6.39, it fails, so it seems likely that it is the same bug.
Would a bisection between these kernels be useful, or do you have an idea already of what might have caused this regression?
Colin Fletcher.
[1] http://www.spinics.net/linux/fedora/alsa-user/msg11499.html

Colin Fletcher wrote:
With kernel 2.6.38.8, aconnect can connect to the MIDI out of my UA-1000; with 2.6.39, it fails, so it seems likely that it is the same bug.
It's the same bug, caused by this patch: http://git.kernel.org/linus/88a8516a2128
Fix coming soon.
Regards, Clemens

On 15/11/12 14:14, Clemens Ladisch wrote:
Colin Fletcher wrote:
With kernel 2.6.38.8, aconnect can connect to the MIDI out of my UA-1000; with 2.6.39, it fails, so it seems likely that it is the same bug.
It's the same bug, caused by this patch: http://git.kernel.org/linus/88a8516a2128
Fix coming soon.
It's great to hear you know the cause of this. Thank you very much!
Armed with that information, I've found that replacing '#ifdef CONFIG_PM' with '#if 0' and commenting out calls to usb_autopm_{get|put}_interface() inside sound/usb/ gets me a working MIDI out on kernel 3.4.18 for now, which makes me happy.
If there's a proper patch I can usefully test, I'd be very glad to know about it.
Thank you.
Colin.

Colin Fletcher <colin.m.fletcher <at> googlemail.com> writes:
aconnect simply reports "Connection failed (Input/output error)"; a2jmidid -e says "ERROR: a2j_port_create: snd_seq_connect_to() for 20:0 failed with error -5"; and qjackctl reports no error but refuses to make the connection.
I just want to note that the problem is exactly the same with the Edirol UA-101 (uses the same driver) and linux-3.5.3
participants (3)
-
Clemens Ladisch
-
Colin Fletcher
-
Jannis Achstetter