[linux-audio-user] Hard lock up when using ALSA midi in

From: Nigel Gilbert <norb@email-addr-hidden>
Date: Wed May 03 2006 - 11:34:06 EEST

Hi all,

  I've been trying to use Rosegarden or Museseq to compose some music
and have discovered that, when software connects to the MIDI IN on my
sound card, the machine locks up totally (a reboot is required).

  I've done the following tests:
  - Installed vkeybd (virtual midi keyboard) and fluidsynth (virtual
synth).

  - Initially, aconnect shows the following as input and output MIDI
ports:

    nige@email-addr-hidden ~ $ aconnect -i -o
    client 0: 'System' [type=kernel]
        0 'Timer '
        1 'Announce '
    client 14: 'Midi Through' [type=kernel]
        0 'Midi Through Port-0'
    client 16: 'MPU-401 MIDI 0-0' [type=kernel]
        0 'MPU-401 MIDI 0-0'

  - After starting vkeybd and fluidsynth:
    nige@email-addr-hidden ~ $ aconnect -i -o
    client 0: 'System' [type=kernel]
        0 'Timer '
        1 'Announce '
    client 14: 'Midi Through' [type=kernel]

        0 'Midi Through Port-0'
    client 16: 'MPU-401 MIDI 0-0' [type=kernel]
        0 'MPU-401 MIDI 0-0'
    client 128: 'Virtual Keyboard' [type=user]
        0 'Virtual Keyboard'
    client 129: 'FLUID Synth (7495)' [type=user]
        0 'Synth input port (7495:0)'

  - Hooking together the keyboard and fluidsynth works (after loading a
soundfont into fluidsynth). Playing notes on the virtual keyboard makes
audio from the sound card:
    nige@email-addr-hidden ~ $ aconnect 128:0 129:0

  - Disconnect fluidsynth and vkeybd and connect vkeybd to the MIDI port
(with a hardware synth attached). Playing notes on the virtual keyboard
makes noises from the external synth:
    nige@email-addr-hidden ~ $ aconnect -d 128:0 129:0
    nige@email-addr-hidden ~ $ aconnect 128:0 16:0

  - Trying to connect the MIDI port (with external keyboard attached) to
fluidsynth causes the system lock up:
    nige@email-addr-hidden ~ $ aconnect 16:0 129:0

  An even simpler way to get the system to lock up is to use aseqdump,
this can be done straight after boot up without having to start X or
anything:
    nige@email-addr-hidden ~ $ aseqdump -p 16:0

  I presume that the system locking up means it's a kernel thing (in
either a module or the main kernel).
  Oddly, it has worked in the past. Though possibly using OSS only
rather than ALSA (it was a while ago).

  I have a C-Media 8378 card and am using cmipci as my sound card in the
kernel (2.6.16).
    lspci | grep audio
    00:0b.0 Multimedia audio controller: C-Media Electronics Inc CM8738
(rev 10)

  My kernel config:

    Device Drivers
      Sound
        <*> Sound card support
          Advanced Linux Sound Architecture
            <M> Advanced Linux Sound Architecture
            <M> Sequencer support
            <M> Sequencer dummy client
            <M> OSS Mixer API
            <M> OSS PCM (digital audio) API
            [ ] OSS Sequencer API
            [ ] Support old ALSA API
            Generic devices
              <M> Generic MPU-401 UART driver
            PCI devices
              <M> C-Media 8738, 8338
          Open Sound System
            < > Open Sound System (DEPRECATED)

  Any insight into this problem or help getting it working again would
be greatly appreciated. I've definitely hit the limit of my
understanding of how MIDI should work under ALSA!

Thanks in advance,
  -Nige

-- 
Nigel Gilbert <norb@email-addr-hidden>
Received on Wed May 3 12:15:04 2006

This archive was generated by hypermail 2.1.8 : Wed May 03 2006 - 12:15:04 EEST