|
@@ -72,22 +72,21 @@
|
|
|
}
|
|
|
},
|
|
|
|
|
|
-/* Creative/Toshiba Multimedia Center SB-0500 */
|
|
|
+/* Creative/E-Mu devices */
|
|
|
{
|
|
|
- USB_DEVICE(0x041e, 0x3048),
|
|
|
+ USB_DEVICE(0x041e, 0x3010),
|
|
|
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
|
|
|
- .vendor_name = "Toshiba",
|
|
|
- .product_name = "SB-0500",
|
|
|
+ .vendor_name = "Creative Labs",
|
|
|
+ .product_name = "Sound Blaster MP3+",
|
|
|
.ifnum = QUIRK_NO_INTERFACE
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
-/* Creative/E-Mu devices */
|
|
|
+/* Creative/Toshiba Multimedia Center SB-0500 */
|
|
|
{
|
|
|
- USB_DEVICE(0x041e, 0x3010),
|
|
|
+ USB_DEVICE(0x041e, 0x3048),
|
|
|
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
|
|
|
- .vendor_name = "Creative Labs",
|
|
|
- .product_name = "Sound Blaster MP3+",
|
|
|
+ .vendor_name = "Toshiba",
|
|
|
+ .product_name = "SB-0500",
|
|
|
.ifnum = QUIRK_NO_INTERFACE
|
|
|
}
|
|
|
},
|
|
@@ -2521,17 +2520,17 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- USB_DEVICE(0x1235, 0x0018),
|
|
|
- .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
|
|
|
- .vendor_name = "Novation",
|
|
|
- .product_name = "Twitch",
|
|
|
+ USB_DEVICE(0x1235, 0x0010),
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Focusrite",
|
|
|
+ .product_name = "Saffire 6 USB",
|
|
|
.ifnum = QUIRK_ANY_INTERFACE,
|
|
|
.type = QUIRK_COMPOSITE,
|
|
|
.data = (const struct snd_usb_audio_quirk[]) {
|
|
|
{
|
|
|
.ifnum = 0,
|
|
|
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
|
|
|
- .data = & (const struct audioformat) {
|
|
|
+ .data = &(const struct audioformat) {
|
|
|
.formats = SNDRV_PCM_FMTBIT_S24_3LE,
|
|
|
.channels = 4,
|
|
|
.iface = 0,
|
|
@@ -2561,26 +2560,17 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661),
|
|
|
+ USB_DEVICE(0x1235, 0x0018),
|
|
|
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
|
|
|
.vendor_name = "Novation",
|
|
|
- .product_name = "ReMOTE25",
|
|
|
- .ifnum = 0,
|
|
|
- .type = QUIRK_MIDI_NOVATION
|
|
|
- }
|
|
|
-},
|
|
|
-{
|
|
|
- USB_DEVICE(0x1235, 0x0010),
|
|
|
- .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
- .vendor_name = "Focusrite",
|
|
|
- .product_name = "Saffire 6 USB",
|
|
|
+ .product_name = "Twitch",
|
|
|
.ifnum = QUIRK_ANY_INTERFACE,
|
|
|
.type = QUIRK_COMPOSITE,
|
|
|
.data = (const struct snd_usb_audio_quirk[]) {
|
|
|
{
|
|
|
.ifnum = 0,
|
|
|
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
|
|
|
- .data = &(const struct audioformat) {
|
|
|
+ .data = & (const struct audioformat) {
|
|
|
.formats = SNDRV_PCM_FMTBIT_S24_3LE,
|
|
|
.channels = 4,
|
|
|
.iface = 0,
|
|
@@ -2609,6 +2599,66 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661),
|
|
|
+ .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Novation",
|
|
|
+ .product_name = "ReMOTE25",
|
|
|
+ .ifnum = 0,
|
|
|
+ .type = QUIRK_MIDI_NOVATION
|
|
|
+ }
|
|
|
+},
|
|
|
+{
|
|
|
+ /*
|
|
|
+ * Focusrite Scarlett 18i6
|
|
|
+ *
|
|
|
+ * Avoid mixer creation, which otherwise fails because some of
|
|
|
+ * the interface descriptor subtypes for interface 0 are
|
|
|
+ * unknown. That should be fixed or worked-around but this at
|
|
|
+ * least allows the device to be used successfully with a DAW
|
|
|
+ * and an external mixer. See comments below about other
|
|
|
+ * ignored interfaces.
|
|
|
+ */
|
|
|
+ USB_DEVICE(0x1235, 0x8004),
|
|
|
+ .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Focusrite",
|
|
|
+ .product_name = "Scarlett 18i6",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_COMPOSITE,
|
|
|
+ .data = & (const struct snd_usb_audio_quirk[]) {
|
|
|
+ {
|
|
|
+ /* InterfaceSubClass 1 (Control Device) */
|
|
|
+ .ifnum = 0,
|
|
|
+ .type = QUIRK_IGNORE_INTERFACE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ifnum = 1,
|
|
|
+ .type = QUIRK_AUDIO_STANDARD_INTERFACE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ifnum = 2,
|
|
|
+ .type = QUIRK_AUDIO_STANDARD_INTERFACE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ /* InterfaceSubClass 1 (Control Device) */
|
|
|
+ .ifnum = 3,
|
|
|
+ .type = QUIRK_IGNORE_INTERFACE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ifnum = 4,
|
|
|
+ .type = QUIRK_MIDI_STANDARD_INTERFACE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ /* InterfaceSubClass 1 (Device Firmware Update) */
|
|
|
+ .ifnum = 5,
|
|
|
+ .type = QUIRK_IGNORE_INTERFACE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .ifnum = -1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+},
|
|
|
|
|
|
/* Access Music devices */
|
|
|
{
|
|
@@ -2711,7 +2761,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- USB_DEVICE_VENDOR_SPEC(0x2040, 0x7240),
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7210),
|
|
|
.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
@@ -2719,13 +2769,13 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
.bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
|
|
|
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
.vendor_name = "Hauppauge",
|
|
|
- .product_name = "HVR-850",
|
|
|
+ .product_name = "HVR-950Q",
|
|
|
.ifnum = QUIRK_ANY_INTERFACE,
|
|
|
.type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- USB_DEVICE_VENDOR_SPEC(0x2040, 0x7210),
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7217),
|
|
|
.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
@@ -2739,7 +2789,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- USB_DEVICE_VENDOR_SPEC(0x2040, 0x7217),
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x721b),
|
|
|
.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
@@ -2753,7 +2803,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- USB_DEVICE_VENDOR_SPEC(0x2040, 0x721b),
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x721e),
|
|
|
.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
@@ -2767,7 +2817,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- USB_DEVICE_VENDOR_SPEC(0x2040, 0x721e),
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x721f),
|
|
|
.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
@@ -2781,7 +2831,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- USB_DEVICE_VENDOR_SPEC(0x2040, 0x721f),
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7240),
|
|
|
.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
@@ -2789,7 +2839,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
.bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
|
|
|
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
.vendor_name = "Hauppauge",
|
|
|
- .product_name = "HVR-950Q",
|
|
|
+ .product_name = "HVR-850",
|
|
|
.ifnum = QUIRK_ANY_INTERFACE,
|
|
|
.type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
}
|
|
@@ -3092,58 +3142,6 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
|
|
|
-{
|
|
|
- /*
|
|
|
- * Focusrite Scarlett 18i6
|
|
|
- *
|
|
|
- * Avoid mixer creation, which otherwise fails because some of
|
|
|
- * the interface descriptor subtypes for interface 0 are
|
|
|
- * unknown. That should be fixed or worked-around but this at
|
|
|
- * least allows the device to be used successfully with a DAW
|
|
|
- * and an external mixer. See comments below about other
|
|
|
- * ignored interfaces.
|
|
|
- */
|
|
|
- USB_DEVICE(0x1235, 0x8004),
|
|
|
- .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
|
|
|
- .vendor_name = "Focusrite",
|
|
|
- .product_name = "Scarlett 18i6",
|
|
|
- .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
- .type = QUIRK_COMPOSITE,
|
|
|
- .data = & (const struct snd_usb_audio_quirk[]) {
|
|
|
- {
|
|
|
- /* InterfaceSubClass 1 (Control Device) */
|
|
|
- .ifnum = 0,
|
|
|
- .type = QUIRK_IGNORE_INTERFACE
|
|
|
- },
|
|
|
- {
|
|
|
- .ifnum = 1,
|
|
|
- .type = QUIRK_AUDIO_STANDARD_INTERFACE
|
|
|
- },
|
|
|
- {
|
|
|
- .ifnum = 2,
|
|
|
- .type = QUIRK_AUDIO_STANDARD_INTERFACE
|
|
|
- },
|
|
|
- {
|
|
|
- /* InterfaceSubClass 1 (Control Device) */
|
|
|
- .ifnum = 3,
|
|
|
- .type = QUIRK_IGNORE_INTERFACE
|
|
|
- },
|
|
|
- {
|
|
|
- .ifnum = 4,
|
|
|
- .type = QUIRK_MIDI_STANDARD_INTERFACE
|
|
|
- },
|
|
|
- {
|
|
|
- /* InterfaceSubClass 1 (Device Firmware Update) */
|
|
|
- .ifnum = 5,
|
|
|
- .type = QUIRK_IGNORE_INTERFACE
|
|
|
- },
|
|
|
- {
|
|
|
- .ifnum = -1
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-},
|
|
|
-
|
|
|
{
|
|
|
/*
|
|
|
* Some USB MIDI devices don't have an audio control interface,
|