2012/9/11 Pedro Lopez-Cabanillas
<pedro.lopez.cabanillas@gmail.com>
Hi,
On Tuesday 11 September 2012, jy wrote:
> still no appearance of the midi keyboard.
>
> I also tried with all proposed audio cards in qjackctl setup but still no
> midi keyboard (even though the keyboard is correctly listed as an
> interface in the interface combo box)
>
> I'm starting to feel like this is hopeless (i'm gonna shed a tear) :-)
>
> just to know, how does jack know about the midi devices present. does it
> rely on ALSA ?
Yes. Jack depends on ALSA drivers to work with hardware MIDI devices, just
like it depends on ALSA drivers to work with hardware audio devices, except
for FireWire devices where jack depends on ffado/freebob. Jack does not have
its own hardware drivers.
> Would a message found in dmesg like :
> [ 782.208027] usb 7-1: new full-speed USB device number 8 using uhci_hcd
> when plugging in the keyboard be of any interest in my case ?
Yes, it is a good sign. Answering your previous question:
> Does anyone know from where qjackctl gets its MIDI device list ?
The ALSA tab is filled from the ALSA Sequencer list of ports, which can be
hardware devices or software applications.
The MIDI tab list comes from one of those bridges that provide MIDI support
to jack.
If you should solve the problem at the ALSA level, I guess that you will be
able to solve the problem with jack as well at the same time.
ALSA provides a number of kernel modules. You can list them with this
command:
$ lsmod | grep ^snd
My guess is that some modules are not automatically loaded in your system.
Here is lsmod before plugging the keyboard in :
$ lsmod | grep snd
snd_hda_codec_hdmi 30352 1
snd_hda_codec_realtek 95198 1
snd_hda_intel 25788 5
snd_hda_codec 87980 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 12910 1 snd_hda_codec
snd_pcm_oss 39968 0
snd_mixer_oss 21707 2 snd_pcm_oss
snd_pcm 69043 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_dummy 12455 0
snd_seq_oss 32416 0
snd_seq_midi_event 13124 1 snd_seq_oss
snd_seq 51504 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_timer 22187 2 snd_pcm,snd_seq
snd_seq_device 12980 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd 50814 21 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_dummy,snd_seq_oss,snd_seq,snd_timer,snd_seq_device
soundcore 12926 2 snd
snd_page_alloc 12841 2 snd_hda_intel,snd_pcm
and after :
$ lsmod | grep snd
snd_usb_audio 83446 0
snd_usbmidi_lib 22777 1 snd_usb_audio
snd_rawmidi 22278 1 snd_usbmidi_lib
snd_hda_codec_hdmi 30352 1
snd_hda_codec_realtek 95198 1
snd_hda_intel 25788 5
snd_hda_codec 87980 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 12910 2 snd_usb_audio,snd_hda_codec
snd_pcm_oss 39968 0
snd_mixer_oss 21707 2 snd_pcm_oss
snd_pcm 69043 5 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_dummy 12455 0
snd_seq_oss 32416 0
snd_seq_midi_event 13124 1 snd_seq_oss
snd_seq 51504 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_timer 22187 2 snd_pcm,snd_seq
snd_seq_device 12980 4 snd_rawmidi,snd_seq_dummy,snd_seq_oss,snd_seq
snd 50814 24 snd_usb_audio,snd_usbmidi_lib,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_dummy,snd_seq_oss,snd_seq,snd_timer,snd_seq_device
soundcore 12926 2 snd
snd_page_alloc 12841 2 snd_hda_intel,snd_pcm
snd_usb_audio loads properly!
Summing up your previous diagnostics, the ALSA hardware driver (snd-usb-
audio) recognizes your device properly:
$ cat /proc/asound/cards
1 [v2 ]: USB-Audio - USB Oxygen 8 v2
M-Audio USB Oxygen 8 v2 at usb-0000:00:1d.1-1, full
And the ALSA raw MIDI interface (snd-rawmidi) is working properly as well:
$ amidi -l
Dir Device Name
IO hw:1,0,0 USB Oxygen 8 v2 MIDI 1
In your previous messages it is not clear if the ALSA Sequencer interface is
working or not for you. To verify, there are several tests that you can try.
$ cat /proc/asound/seq/drivers
snd-seq-midi,loaded,2
here i have :
$ cat /proc/asound/seq/drivers
snd-seq-oss,loaded,0
snd-seq-midi,empty,0
$ cat /proc/asound/seq/clients
Client info
cur clients : 4
peak clients : 5
max clients : 192
Client 0 : "System" [Kernel]
Port 0 : "Timer" (Rwe-)
Port 1 : "Announce" (R-e-)
Client 14 : "Midi Through" [Kernel]
Port 0 : "Midi Through Port-0" (RWe-)
$ cat /proc/asound/seq/clients
Client info
cur clients : 3
peak clients : 3
max clients : 192
Client 0 : "System" [Kernel]
Port 0 : "Timer" (Rwe-)
Port 1 : "Announce" (R-e-)
Connecting To: 15: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
Another way is the ALSA sequencer player (from the ALSA tools collection):
$ aplaymidi -l
Port Client name Port name
14:0 Midi Through Midi Through Port-0
20:0 MidiSport 2x2 MidiSport 2x2 MIDI 1
[...]
and
$ aplaymidi -l
Port Client name Port name
14:0 Midi Through Midi Through Port-0
Or the ALSA Sequencer event monitor/receiver:
$ aseqdump -l
$ aseqdump -l
Port Client name Port name
0:0 System Timer
0:1 System Announce
14:0 Midi Through Midi Through Port-0
If some or all the above tests failed, my guess is that the ALSA Sequencer
modules aren't loaded. In that case, you may try this command:
It seems clear that some of the previous ones failed (cat /proc/asound/seq/drivers did not show the keyboard) and lsmod | grep snd-seq-midi gives no answer..
but lsmod | grep midi gives
$ lsmod | grep midi
snd_usbmidi_lib 22777 1 snd_usb_audio
snd_rawmidi 22278 1 snd_usbmidi_lib
snd_seq_midi_event 13124 1 snd_seq_oss
snd_seq 51504 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 12980 4 snd_rawmidi,snd_seq_dummy,snd_seq_oss,snd_seq
snd 50814 24 snd_usb_audio,snd_usbmidi_lib,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_dummy,snd_seq_oss,snd_seq,snd_timer,snd_seq_device
$ sudo modprobe snd-seq-midi
I tried loading this module but got
$ sudo mod
probe snd-seq-midi
[sudo] password for therockers:
FATAL: Module snd_seq_midi not found.
as a return !
Thanks a lot and cheers !!
jy
Regards,
Pedro