Hi,
I have an Akai MPD16, it's a MIDI drum pad thingy.
Using the regular MIDI port works with linux just fine, but
I'd like to be able to use it using only USB, but it
seems not to be supported, so I thought I'd try to
add support myself.
I've had some success, despite not really knowing what I'm doing.
Not complete success, but close enough to complete
success that I'm very encouraged.
I added this into sound/usb/usbquirks.h:
/* Akai devices */
{
USB_DEVICE_VENDOR_SPEC(0x09e8, 0x0062),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "AKAI Professional M.I. Corp.",
.product_name = "AKAIpro MPD16 USB/MIDI PAD CONTROL UNIT",
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_MIDI_RAW,
.data = & (const struct snd_usb_midi_endpoint_info) {
.out_cables = 0x0001,
.in_cables = 0x0001
}
}
},
I'm running a 2.6.16.11 kernel from kernel.org.
After rebuilding snd-usb-lib.ko, I can do this:
[EMAIL PROTECTED] gneutronica]# aconnect -li
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 16: 'Audigy MPU-401 #2' [type=kernel]
0 'Audigy MPU-401 (UART)'
32 'Audigy MPU-401 #2'
client 20: 'MOTIF-R' [type=kernel]
0 'MOTIF-R MIDI 1 '
client 24: 'AKAIpro MPD16 USB/MIDI PAD CONT' [type=kernel]
0 'AKAIpro MPD16 USB/MIDI PAD CONT'
1 'AKAIpro MPD16 USB/MIDI PAD CONT'
So it seems 2 interfaces show up on the Akai...?
The first one doesn't seem to do anything, that I can
tell. The second one works, I can do this:
[EMAIL PROTECTED] gneutronica]# aconnect -li
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 16: 'Audigy MPU-401 #2' [type=kernel]
0 'Audigy MPU-401 (UART)'
32 'Audigy MPU-401 #2'
client 20: 'MOTIF-R' [type=kernel]
0 'MOTIF-R MIDI 1 '
client 24: 'AKAIpro MPD16 USB/MIDI PAD CONT' [type=kernel]
0 'AKAIpro MPD16 USB/MIDI PAD CONT'
1 'AKAIpro MPD16 USB/MIDI PAD CONT'
[EMAIL PROTECTED] gneutronica]# aconnect 24:1 20:0
And then when I tap out things on the Akai, they
are played on my Yamaha Motif Rack. Well, then it
sends something periodically (about 4 times per
second) something which makes a small quiet sound
on the Motif... I know with the regular MIDI cable,
it will send a byte, 0xfe, about that often...
don't know what that is about.
However:
[EMAIL PROTECTED] gneutronica]# ls -l /dev/snd/midi*
crw------- 1 scameron root 14, 18 May 18 19:32 /dev/snd/midi1
crw------- 1 scameron root 14, 34 May 18 19:32 /dev/snd/midi2
crw------- 1 scameron root 116, 8 May 18 13:36 /dev/snd/midiC0D0
crw------- 1 scameron root 116, 9 May 18 13:36 /dev/snd/midiC0D1
crw------- 1 scameron root 116, 10 May 18 18:59 /dev/snd/midiC0D2
crw------- 1 scameron root 116, 11 May 18 18:59 /dev/snd/midiC0D3
crw------- 1 scameron root 116, 40 May 18 19:32 /dev/snd/midiC1D0
crw------- 1 scameron root 116, 72 May 18 19:32 /dev/snd/midiC2D0
[EMAIL PROTECTED] gneutronica]# amidi -l
Device Name
hw:0,0 Audigy MPU-401 (UART)
hw:0,1 Audigy MPU-401 #2
hw:0,2 Emu10k1 Synth MIDI (16 subdevices)
hw:0,3 Emu10k1 Synth MIDI (16 subdevices)
hw:1,0,0 MOTIF-R MIDI 1
hw:1,0,1 MOTIF-R MIDI 2
hw:1,0,2 MOTIF-R MIDI 3
hw:1,0,3 MOTIF-R MIDI 4
hw:1,0,4 MOTIF-R MIDI 5
hw:1,0,5 MOTIF-R MIDI 6
hw:1,0,6 MOTIF-R MIDI 7
hw:1,0,7 MOTIF-R MIDI 8
hw:2,0,0 AKAIpro MPD16 USB/MIDI PAD CONT
hw:2,0,1 AKAIpro MPD16 USB/MIDI PAD CONT
[EMAIL PROTECTED] gneutronica]#
/dev/snd/midiC0D* correspond, I guess to my audigy, hw:0
/dev/snd/midiC1D* is my motif, (I know, becasue I can send stuff and make sound)
so /dev/snd/midiC2D0 must be the akai, but I cannot get anything from it.
(When I use a midisport 2x2 and connect the akai through that, I
can read from the /dev/snd/midi and get data from the akai.)
So, any ideas about what I've done wrong?
It's so close to working...
Thanks,
-- steve
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user