[PlanetCCRMA] Experiences with FC2, Audigy2ZS, and Keystation Pro 88 (advice welcome!)

Fernando Lopez-Lezcano nando@ccrma.Stanford.EDU
Tue Dec 7 23:02:01 2004


On Tue, 2004-12-07 at 18:29, David O'Toole wrote:
> Sometimes I can do the following:
> 
> 1. Boot up with the keyboard connected via USB, but not powered on
> 2. Start watching /proc/asound/cards and /proc/asound/devices
> 3. Turn on the keyboard's power switch
> 4. Watch "Keystation Pro 88" pop up instantly as Alsa Card 1 in /proc/asound/cards
> 5. Watch the Keystation's "ctl" and "raw midi" recognized in /proc/asound/devices
> 6. Create a snd-virmidi device for Pd to read from
> 7. Use aconnect to route the keyboard's MIDI to virmidi
> 8. Open Pd and use the keyboard to control Pd

Wow, very nice...

> It's quite exciting. All the knobs work, and you can tie them into any
> control onscreen! Here is the output of my watch command, while the
> keyboard is working with Pd:
> 
> -----------------------------------------------------------------------------------------
> Every 2s: cat /proc/asound/cards /proc/asound/devices; aconnect -lio 
>  
> 0 [Audigy2        ]: Audigy2 - Sound Blaster Audigy2
>                      Sound Blaster Audigy2 (rev.4) at 0xc000, irq 5
> 1 [K88            ]: USB-Audio - Keystation Pro 88
>                      Evolution Electronics Ltd. Keystation Pro 88 at usb-0000:00:1d.2-1, full
>  speed
> 2 [VirMIDI        ]: VirMIDI - VirMIDI
>                      Virtual MIDI Card 1
>   0: [0- 0]: ctl
>   4: [0- 0]: hardware dependent
>   9: [0- 1]: raw midi
>   8: [0- 0]: raw midi
>  19: [0- 3]: digital audio playback
>  26: [0- 2]: digital audio capture
>  25: [0- 1]: digital audio capture
>  16: [0- 0]: digital audio playback
>  24: [0- 0]: digital audio capture
>   1:       : sequencer
>   6: [0- 2]: hardware dependent
>  10: [0- 2]: raw midi
>  11: [0- 3]: raw midi
>  33:       : timer
>  32: [1- 0]: ctl
>  40: [1- 0]: raw midi
>  64: [2- 0]: ctl
>  75: [2- 3]: raw midi
>  74: [2- 2]: raw midi
>  73: [2- 1]: raw midi
>  72: [2- 0]: raw midi
> client 0: 'System' [type=kernel]
>     0 'Timer           '
>     1 'Announce        '
>         Connecting To: 63:0
> client 64: 'Audigy MPU-401 (UART) - Rawmidi 0' [type=kernel]
>     0 'Audigy MPU-401 (UART)'
>    32 'Audigy MPU-401 #2'
> client 65: 'Emu10k1 WaveTable' [type=kernel]
>     0 'Emu10k1 Port 0  '
>     1 'Emu10k1 Port 1  '
>     2 'Emu10k1 Port 2  '
>     3 'Emu10k1 Port 3  '
> client 72: 'Keystation Pro 88 - Rawmidi 1' [type=kernel]
>     0 'Keystation Pro 88 MIDI 1'
>         Connecting To: 80:0
>     1 'Keystation Pro 88 MIDI 2'
> client 80: 'Virtual Raw MIDI 2-0' [type=kernel]
>     0 'VirMIDI 2-0     '
>         Connected From: 72:0
> client 81: 'Virtual Raw MIDI 2-1' [type=kernel]
>     0 'VirMIDI 2-1     '
> client 82: 'Virtual Raw MIDI 2-2' [type=kernel]
>     0 'VirMIDI 2-2     '
> client 83: 'Virtual Raw MIDI 2-3' [type=kernel]
>  
> -----------------------------------------------------------------------------------------
> 
> But it doesn't always work; sometimes the keyboard is recognized, but
> /proc/asound/devices only lists the "ctl" port and not the "raw
> midi". That stops the whole thing from working, but no amount of
> fiddling (rmmod/modprobe, turning the keyboard off and then on again)
> will get the keyboard to be recognized again until you reboot. 
> 
> Furthermore, any process that touches USB after that will hang, and
> you can't kill -9 them even as root! Their status in the process
> listing is "D" which means "uninterruptible I/O".

Sounds like you are hitting a kernel oops (an internal error that is
detected and stops anything else from using that subsystem - and
sometimes the whole computer). 

Scan your /var/log/messages file for "Ooops" and a big register dump and
a trace of where the problem happened. Not that we can do much about it.
You could try to use one of the more experimental low latency kernels in
the PlanetEdge repository. 

If an Ooops is what is happening, then at that point the only thing that
can fix it is a reboot. 

-- Fernando