[alsa-devel] Help needed to develop quirks for USB Sound device for Roland Edirol PC-80 MIDI controller

Clemens Ladisch clemens at ladisch.de
Fri Dec 18 15:19:03 CET 2009


(please don't top-post)

Alain Lauzon wrote:
> Bus 001 Device 014: ID 0582:0092 Roland Corp. EDIROL PC-80 WAVE
> ...
> Bus 001 Device 013: ID 0582:0093 Roland Corp. EDIROL PC-80 MIDI
> ...

This is implemented as two logical devices, so it will show up as two
ALSA sound cards.

You didn't show the descriptors for a full-duplex mode, so I'm assuming
it works like with any other Roland device.

Please try the following quirk entries:

{
	/* WAVE part only; see ID 0x0093 for MIDI */
	USB_DEVICE(0x0582, 0x0092),
	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
		/* .vendor_name = "EDIROL", */
		/* .product_name = "PC-80", */
		.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 = -1
			}
		}
	}
},
{
	/* MIDI part only; see ID 0x0092 for WAVE */
	USB_DEVICE(0x0582, 0x0093),
	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
		/* .vendor_name = "EDIROL", */
		/* .product_name = "PC-80", */
		.ifnum = 0,
		.type = QUIRK_MIDI_FIXED_ENDPOINT,
		.data = & (const struct snd_usb_midi_endpoint_info) {
			.out_cables = 0x0000,
			.in_cables = 0x0003,
		}
	}
},
--
To unsubscribe from this list: send the line "unsubscribe alsa-devel" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the Alsa-devel mailing list