[alsa-devel] Roland/Edirol M-16DX

Lasse Kärkkäinen tronic+8nhy at trn.iki.fi
Mon Nov 10 04:53:13 CET 2008


Sorry about late reply.

> It appears to have most of the audio class descriptors, so it should be
> possible to tell the driver to just use it.
> 
> Please try to add the following entry somewhere in sound/usb/usbquirks.h
> and to recompile the driver:
> 
> 
> {
> 	/* Edirol M-16DX */
> 	USB_DEVICE(0x0582, 0x00c4),
> 	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> 		.ifnum = QUIRK_ANY_INTERFACE,
> 		.type = QUIRK_COMPOSITE,
> 		.data = (const struct snd_usb_audio_quirk[]) {
> 			{
> 				.ifnum = 0,
> 				.type = QUIRK_AUDIO_STANDARD_INTERFACE
> 			},
> 			{
> 				.ifnum = 1,
> 				.type = QUIRK_AUDIO_STANDARD_INTERFACE
> 			},
> 			{
> 				.ifnum = 2,
> 				.type = QUIRK_MIDI_FIXED_ENDPOINT,
> 				.data = & (const struct snd_usb_midi_endpoint_info) {
> 					.out_cables = 0x0001,
> 					.in_cables  = 0x0001
> 				}
> 			},
> 			{
> 				.ifnum = -1
> 			}
> 		}
> 	}
> },

This allows the device to be detected correctly and capture seems to be 
working flawlessly. Playback also works, but there is a severe three 
second distortion in audio once every 30 seconds, at 48 kHz. This seems 
to be related to the device sampling rate, as the cycle is only 15 
seconds when the device is running at 96 kHz.



More information about the Alsa-devel mailing list