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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Heloo I just bought a Roland Edirol PC-80 MIDI controller and found out
that it was not supported on LINUX.  I looked on the web and found
the /usr/src/alsa/alsa-driver-xxx/usbquirks.h file to be the place to
change some code to support it.

I have tried many things but I don't enough info to get it right once
and for all.

Here is what I did :

{
	/* PC-80 Wave */
	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_EDIROL_UAXX
			},
			{
				.ifnum = 1,
				.type = QUIRK_AUDIO_FIXED_ENDPOINT,
				.data = & (const struct audioformat) {
					.format = SNDRV_PCM_FORMAT_S24_3LE,
					.channels = 2,
					.iface = 0,
					.altsetting = 1,
					.altset_idx = 1,
					.attributes = 0,
					.endpoint = 0x81,
					.ep_attr = 0x01,
					.rates = SNDRV_PCM_RATE_CONTINUOUS,
					.rate_min = 48000,
					.rate_max = 48000, //(96?)
				}
			},
			{
				.ifnum = 2,
				.type = QUIRK_MIDI_FIXED_ENDPOINT,
				.data = & (const struct snd_usb_midi_endpoint_info) {
					.out_cables = 0x0007,
					.in_cables  = 0x0007
				}
			},
			{
				.ifnum = -1
			}
		}
}

What I got working is the audio out but cannot have the audio working.

Is there some resources somewhere that I could read to understand what I
need to do?

Thank you, Alain Lauzon

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux