Re: Configure ALSA to handle a USB sound card

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

 



Casi wrote:
> I intend to use the snd-usb-audio module with a Yamaha MOX6/8 built-in
> USB audio card.
>
> I would be glad if only get it works as 2 audio channels (full-duplex)
> and 1 midi port.
> Is it possible?

No, streaming works only with the correct number of channels.  :)

> $ lsusb -v
> [...]
>        bInterfaceClass       255 Vendor Specific Class

This device claims not to be compatible with a standard driver.
To force the driver to attach to it anyway, we need to add a quirk entry.
Please try to apply the patch below and to recompile the driver.

> The modules loaded when I plug the USB cord:
> $ dmesg
> ...
> [ 2455.275205] usb 2-1.2: new full speed USB device number 4 using ehci_hcd
> [ 2455.387555] input: Yamaha Corporation Yamaha MOX6/MOX8 as
> /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.4/input/input13
> [ 2455.387726] generic-usb 0003:0499:1503.0002: input,hidraw0: USB HID
> v1.00 Keyboard [Yamaha Corporation Yamaha MOX6/MOX8] on
> usb-0000:00:1d.0-1.2/input4
>
> $ diff before_plug.txt after_plug.txt
> 1a2,3
>  > usbhid                 47198  0
>  > hid                    95463  1 usbhid
>
> I reported a bug cause I think this isn't the expected module for a USB
> audio card:

This device also has a HID interface; this driver is correct.


Regards,
Clemens


--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -269,6 +269,32 @@ YAMAHA_DEVICE(0x105a, NULL),
 YAMAHA_DEVICE(0x105b, NULL),
 YAMAHA_DEVICE(0x105c, NULL),
 YAMAHA_DEVICE(0x105d, NULL),
+{
+	USB_DEVICE(0x0499, 0x1503),
+	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+		/* .vendor_name = "Yamaha", */
+		/* .product_name = "MOX6/MOX8", */
+		.ifnum = QUIRK_ANY_INTERFACE,
+		.type = QUIRK_COMPOSITE,
+		.data = (const struct snd_usb_audio_quirk[]) {
+			{
+				.ifnum = 1,
+				.type = QUIRK_AUDIO_STANDARD_INTERFACE
+			},
+			{
+				.ifnum = 2,
+				.type = QUIRK_AUDIO_STANDARD_INTERFACE
+			},
+			{
+				.ifnum = 3,
+				.type = QUIRK_MIDI_YAMAHA
+			},
+			{
+				.ifnum = -1
+			}
+		}
+	}
+},
 YAMAHA_DEVICE(0x2000, "DGP-7"),
 YAMAHA_DEVICE(0x2001, "DGP-5"),
 YAMAHA_DEVICE(0x2002, NULL),

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user


[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux