2008-10-26 03:01:47

by Fernando Lopez-Lezcano

[permalink] [raw]
Subject: 2.6.26.[6|7] vs. rt11 vs. alsa (usb) midi

Hi... anyone out there also having problem with this combination?
2.6.26.7 or 2.6.26.6 with 2.6.26.6-rt11 and alsa MIDI
It looks to me like alsa midi is broken.

Probably an interaction with the realtime kernel patch. A Fedora kernel
based on 2.6.26.6 (2.6.26.6-49 on fc8) works fine, a very similarly
patched kernel that includes the realtime patch does not. The
configurations for both are almost the same (today I tried to change
some of the most obvious differences and rebuild, with the same
result).

No problems with 2.6.24.7-rt21.

Test: boot, login, plugin an external usb keyboard (Yamaha P250), it is
recognized, use qjackctl alsa patchbay to connect it to kmidimon,
kmidimon sees only _one_ midi message and that's it. Kmidimon can't be
killed after that.

-- Fernando


2008-10-27 08:13:38

by Takashi Iwai

[permalink] [raw]
Subject: Re: [alsa-devel] 2.6.26.[6|7] vs. rt11 vs. alsa (usb) midi

At Sat, 25 Oct 2008 19:46:27 -0700,
Fernando Lopez-Lezcano wrote:
>
> Hi... anyone out there also having problem with this combination?
> 2.6.26.7 or 2.6.26.6 with 2.6.26.6-rt11 and alsa MIDI
> It looks to me like alsa midi is broken.
>
> Probably an interaction with the realtime kernel patch. A Fedora kernel
> based on 2.6.26.6 (2.6.26.6-49 on fc8) works fine, a very similarly
> patched kernel that includes the realtime patch does not. The
> configurations for both are almost the same (today I tried to change
> some of the most obvious differences and rebuild, with the same
> result).
>
> No problems with 2.6.24.7-rt21.
>
> Test: boot, login, plugin an external usb keyboard (Yamaha P250), it is
> recognized, use qjackctl alsa patchbay to connect it to kmidimon,
> kmidimon sees only _one_ midi message and that's it. Kmidimon can't be
> killed after that.

What about other MIDI devices on other bus, e.g. an MPU401 on a PCI
soundcard or so? There is a possibility of breakage in the USB driver
side, too.


Takashi

2008-10-28 21:43:32

by Fernando Lopez-Lezcano

[permalink] [raw]
Subject: Re: [alsa-devel] 2.6.26.[6|7] vs. rt11 vs. alsa (usb) midi

On Mon, 2008-10-27 at 09:13 +0100, Takashi Iwai wrote:
> At Sat, 25 Oct 2008 19:46:27 -0700,
> Fernando Lopez-Lezcano wrote:
> >
> > Hi... anyone out there also having problem with this combination?
> > 2.6.26.7 or 2.6.26.6 with 2.6.26.6-rt11 and alsa MIDI
> > It looks to me like alsa midi is broken.
> >
> > Probably an interaction with the realtime kernel patch. A Fedora kernel
> > based on 2.6.26.6 (2.6.26.6-49 on fc8) works fine, a very similarly
> > patched kernel that includes the realtime patch does not. The
> > configurations for both are almost the same (today I tried to change
> > some of the most obvious differences and rebuild, with the same
> > result).
> >
> > No problems with 2.6.24.7-rt21.
> >
> > Test: boot, login, plugin an external usb keyboard (Yamaha P250), it is
> > recognized, use qjackctl alsa patchbay to connect it to kmidimon,
> > kmidimon sees only _one_ midi message and that's it. Kmidimon can't be
> > killed after that.
>
> What about other MIDI devices on other bus, e.g. an MPU401 on a PCI
> soundcard or so? There is a possibility of breakage in the USB driver
> side, too.

I just tested an RME PCMCIA card + Multiface interface and it shows the
same problem. No MIDI messages get through (but the LED in the Multiface
blinks). Same hardware booted into 2.6.24.7-rt21 works fine.

-- Fernando

2008-10-29 11:10:22

by Takashi Iwai

[permalink] [raw]
Subject: Re: [alsa-devel] 2.6.26.[6|7] vs. rt11 vs. alsa (usb) midi

At Tue, 28 Oct 2008 14:35:55 -0700,
Fernando Lopez-Lezcano wrote:
>
> On Mon, 2008-10-27 at 09:13 +0100, Takashi Iwai wrote:
> > At Sat, 25 Oct 2008 19:46:27 -0700,
> > Fernando Lopez-Lezcano wrote:
> > >
> > > Hi... anyone out there also having problem with this combination?
> > > 2.6.26.7 or 2.6.26.6 with 2.6.26.6-rt11 and alsa MIDI
> > > It looks to me like alsa midi is broken.
> > >
> > > Probably an interaction with the realtime kernel patch. A Fedora kernel
> > > based on 2.6.26.6 (2.6.26.6-49 on fc8) works fine, a very similarly
> > > patched kernel that includes the realtime patch does not. The
> > > configurations for both are almost the same (today I tried to change
> > > some of the most obvious differences and rebuild, with the same
> > > result).
> > >
> > > No problems with 2.6.24.7-rt21.
> > >
> > > Test: boot, login, plugin an external usb keyboard (Yamaha P250), it is
> > > recognized, use qjackctl alsa patchbay to connect it to kmidimon,
> > > kmidimon sees only _one_ midi message and that's it. Kmidimon can't be
> > > killed after that.
> >
> > What about other MIDI devices on other bus, e.g. an MPU401 on a PCI
> > soundcard or so? There is a possibility of breakage in the USB driver
> > side, too.
>
> I just tested an RME PCMCIA card + Multiface interface and it shows the
> same problem. No MIDI messages get through (but the LED in the Multiface
> blinks). Same hardware booted into 2.6.24.7-rt21 works fine.

Then this should be in RT side. There is no fundamental change
regarding rawmidi since some time ago...


Takashi

2008-11-03 06:03:59

by Fernando Lopez-Lezcano

[permalink] [raw]
Subject: Re: [alsa-devel] 2.6.26.[6|7] vs. rt11 vs. alsa (usb) midi

On Wed, 2008-10-29 at 12:10 +0100, Takashi Iwai wrote:
> At Tue, 28 Oct 2008 14:35:55 -0700,
> Fernando Lopez-Lezcano wrote:
> >
> > On Mon, 2008-10-27 at 09:13 +0100, Takashi Iwai wrote:
> > > At Sat, 25 Oct 2008 19:46:27 -0700,
> > > Fernando Lopez-Lezcano wrote:
> > > >
> > > > Hi... anyone out there also having problem with this combination?
> > > > 2.6.26.7 or 2.6.26.6 with 2.6.26.6-rt11 and alsa MIDI
> > > > It looks to me like alsa midi is broken.
> > > >
> > > > Probably an interaction with the realtime kernel patch. A Fedora kernel
> > > > based on 2.6.26.6 (2.6.26.6-49 on fc8) works fine, a very similarly
> > > > patched kernel that includes the realtime patch does not. The
> > > > configurations for both are almost the same (today I tried to change
> > > > some of the most obvious differences and rebuild, with the same
> > > > result).
> > > >
> > > > No problems with 2.6.24.7-rt21.

(but on Fedora 9 I get X segfaults with it... so not really usable
either)

> > > > Test: boot, login, plugin an external usb keyboard (Yamaha P250), it is
> > > > recognized, use qjackctl alsa patchbay to connect it to kmidimon,
> > > > kmidimon sees only _one_ midi message and that's it. Kmidimon can't be
> > > > killed after that.
> > >
> > > What about other MIDI devices on other bus, e.g. an MPU401 on a PCI
> > > soundcard or so? There is a possibility of breakage in the USB driver
> > > side, too.
> >
> > I just tested an RME PCMCIA card + Multiface interface and it shows the
> > same problem. No MIDI messages get through (but the LED in the Multiface
> > blinks). Same hardware booted into 2.6.24.7-rt21 works fine.
>
> Then this should be in RT side. There is no fundamental change
> regarding rawmidi since some time ago...

Hmm, why do you say rawmidi? This is happening with the sequencer
interface, AFAIK.

I just tested this with the rawmidi.c test program that comes with alsa
and the rawmidi interface _is_ working ("rawmidi -v -i hw:1,0" outputs
the raw bytes being received).

Now I start qjackctl to patch the sequencer output of the P250 to
kmidimon and I get just one "active sensing" message in the messages
window of kmidimon. This is what I see in the proc/asound/seq/clients
file:

----
$ cat /proc/asound/seq/clients
Client info
cur clients : 6
peak clients : 6
max clients : 192

Client 0 : "System" [Kernel]
Port 0 : "Timer" (Rwe-)
Port 1 : "Announce" (R-e-)
Connecting To: 15:0, 128:0, 129:0
Client 14 : "Midi Through" [Kernel]
Port 0 : "Midi Through Port-0" (RWe-)
Client 15 : "OSS sequencer" [Kernel]
Port 0 : "Receiver" (-we-)
Connected From: 0:1
Client 20 : "P-250" [Kernel]
Port 0 : "P-250 MIDI 1" (RWeX)
Connecting To: 129:0
Port 1 : "P-250 MIDI 2" (-We-)
Client 128 : "Client-128" [User]
Port 0 : "qjackctl" (-W--)
Connected From: 0:1
Input pool :
Pool size : 200
Cells in use : 0
Peak cells in use : 3
Alloc success : 5
Alloc failures : 0
Client 129 : "KMidimon" [User]
Port 0 : "input" (-We-)
Connected From: 0:1, 20:0
Output pool :
Pool size : 500
Cells in use : 0
Peak cells in use : 0
Alloc success : 0
Alloc failures : 0
Input pool :
Pool size : 200
Cells in use : 0
Peak cells in use : 2
Alloc success : 4
Alloc failures : 0
----

Now I quit kmidimon...

----
$ cat /proc/asound/seq/clients
----

Hangs!
Can't ctrl-c out of it.
Kmidimon is (sort of) still around:

----
nando 7696 0.3 0.0 0 0 ? Zl 22:41 0:01
[kmidimon] <defunct>
----

Rawmidi does not work anymore, of course, hangs and can't be ctrl'c'ed
either. Everything that touches midi seems to hang waiting for something
that is never going to happen. And this only appears to happen when I
try to use the sequencer api. Before that the rawmidi program happily
prints midi bytes as they arrive.

Maybe this points to a possible culprit?
Any more data I could provide that would be useful?
Any help in debugging this would be appreciated. At this point no
realtime kernel is usable for the tasks I need it for.

-- Fernando

2008-11-05 07:44:12

by Takashi Iwai

[permalink] [raw]
Subject: Re: [alsa-devel] 2.6.26.[6|7] vs. rt11 vs. alsa (usb) midi

At Sun, 02 Nov 2008 22:52:11 -0800,
Fernando Lopez-Lezcano wrote:
>
> On Wed, 2008-10-29 at 12:10 +0100, Takashi Iwai wrote:
> > At Tue, 28 Oct 2008 14:35:55 -0700,
> > Fernando Lopez-Lezcano wrote:
> > >
> > > On Mon, 2008-10-27 at 09:13 +0100, Takashi Iwai wrote:
> > > > At Sat, 25 Oct 2008 19:46:27 -0700,
> > > > Fernando Lopez-Lezcano wrote:
> > > > >
> > > > > Hi... anyone out there also having problem with this combination?
> > > > > 2.6.26.7 or 2.6.26.6 with 2.6.26.6-rt11 and alsa MIDI
> > > > > It looks to me like alsa midi is broken.
> > > > >
> > > > > Probably an interaction with the realtime kernel patch. A Fedora kernel
> > > > > based on 2.6.26.6 (2.6.26.6-49 on fc8) works fine, a very similarly
> > > > > patched kernel that includes the realtime patch does not. The
> > > > > configurations for both are almost the same (today I tried to change
> > > > > some of the most obvious differences and rebuild, with the same
> > > > > result).
> > > > >
> > > > > No problems with 2.6.24.7-rt21.
>
> (but on Fedora 9 I get X segfaults with it... so not really usable
> either)
>
> > > > > Test: boot, login, plugin an external usb keyboard (Yamaha P250), it is
> > > > > recognized, use qjackctl alsa patchbay to connect it to kmidimon,
> > > > > kmidimon sees only _one_ midi message and that's it. Kmidimon can't be
> > > > > killed after that.
> > > >
> > > > What about other MIDI devices on other bus, e.g. an MPU401 on a PCI
> > > > soundcard or so? There is a possibility of breakage in the USB driver
> > > > side, too.
> > >
> > > I just tested an RME PCMCIA card + Multiface interface and it shows the
> > > same problem. No MIDI messages get through (but the LED in the Multiface
> > > blinks). Same hardware booted into 2.6.24.7-rt21 works fine.
> >
> > Then this should be in RT side. There is no fundamental change
> > regarding rawmidi since some time ago...
>
> Hmm, why do you say rawmidi? This is happening with the sequencer
> interface, AFAIK.

Hmm, it's not impossible, if it's relevant with a timer interface,
although the sequencer core part has been fundamentally unchanged for
ages.

For sequencer issues, you can sort out by using it without rawmidi
interface. For example, start aseqdump program in alsa-utils, and
send to that port via aplaymidi.


Takashi

2008-11-06 22:54:55

by Fernando Lopez-Lezcano

[permalink] [raw]
Subject: Re: [alsa-devel] 2.6.26.[6|7] vs. rt11 vs. alsa (usb) midi

On Wed, 2008-11-05 at 08:43 +0100, Takashi Iwai wrote:
> At Sun, 02 Nov 2008 22:52:11 -0800,
> Fernando Lopez-Lezcano wrote:
> >
> > On Wed, 2008-10-29 at 12:10 +0100, Takashi Iwai wrote:
> > > At Tue, 28 Oct 2008 14:35:55 -0700,
> > > Fernando Lopez-Lezcano wrote:
> > > >
> > > > On Mon, 2008-10-27 at 09:13 +0100, Takashi Iwai wrote:
> > > > > At Sat, 25 Oct 2008 19:46:27 -0700,
> > > > > Fernando Lopez-Lezcano wrote:
> > > > > >
> > > > > > Hi... anyone out there also having problem with this combination?
> > > > > > 2.6.26.7 or 2.6.26.6 with 2.6.26.6-rt11 and alsa MIDI
> > > > > > It looks to me like alsa midi is broken.
> > > > > >
> > > > > > Probably an interaction with the realtime kernel patch. A Fedora kernel
> > > > > > based on 2.6.26.6 (2.6.26.6-49 on fc8) works fine, a very similarly
> > > > > > patched kernel that includes the realtime patch does not. The
> > > > > > configurations for both are almost the same (today I tried to change
> > > > > > some of the most obvious differences and rebuild, with the same
> > > > > > result).
> > > > > >
> > > > > > No problems with 2.6.24.7-rt21.
> >
> > (but on Fedora 9 I get X segfaults with it... so not really usable
> > either)
> >
> > > > > > Test: boot, login, plugin an external usb keyboard (Yamaha P250), it is
> > > > > > recognized, use qjackctl alsa patchbay to connect it to kmidimon,
> > > > > > kmidimon sees only _one_ midi message and that's it. Kmidimon can't be
> > > > > > killed after that.
> > > > >
> > > > > What about other MIDI devices on other bus, e.g. an MPU401 on a PCI
> > > > > soundcard or so? There is a possibility of breakage in the USB driver
> > > > > side, too.
> > > >
> > > > I just tested an RME PCMCIA card + Multiface interface and it shows the
> > > > same problem. No MIDI messages get through (but the LED in the Multiface
> > > > blinks). Same hardware booted into 2.6.24.7-rt21 works fine.
> > >
> > > Then this should be in RT side. There is no fundamental change
> > > regarding rawmidi since some time ago...
> >
> > Hmm, why do you say rawmidi? This is happening with the sequencer
> > interface, AFAIK.
>
> Hmm, it's not impossible, if it's relevant with a timer interface,
> although the sequencer core part has been fundamentally unchanged for
> ages.
>
> For sequencer issues, you can sort out by using it without rawmidi
> interface. For example, start aseqdump program in alsa-utils, and
> send to that port via aplaymidi.

The sequencer interface works fine (AFAICT) when not touching external
ports.

The rawmidi interface seems to work separately. The sequencer interface
(internal) seems to work. The whole thing hangs when connecting an
external port (rawmidi, I guess) to internal stuff.

Any kernel gurus that could help? Takashi: where in the *.c files should
I start looking? I guess I could try to start sprinkling printk's or
whatever there and see where the heck this is hanging.

-- Fernando