Skip to contentSkip to conversation

ALSA: usb-audio: Fix card name for CVT Touch Device (1ff7:0f33)

PATCH In review Panpan Ren 2 participants 2 messages Oct 27 – Oct 31 Sound

lore
Share & tools
lore

Panpan Ren

author
#0 lore raw

PATCH 1/1 ALSA: usb-audio: Fix card name for CVT Touch Device (1ff7:0f33)

From: renpanpan <[email protected]>

The CVT Touch Device (1ff7:0f33) is a USB composite device (HID + UAC audio). Its iProduct string "Touch Device" is generic and does not identify the audio function. Windows names the audio function "MAXHUB Speaker" from the UAC OUTPUT_TERMINAL iTerminal descriptor.

Add a quirk entry to override the card shortname to "MAXHUB Speaker" with QUIRK_NO_INTERFACE to preserve normal stream and mixer creation.

---
 sound/usb/quirks-table.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
sound/usb/quirks-table.h +21 -0
index dd02c6294edf..9a1dbbb1d1f2 100644
@@ -4133,6 +4133,27 @@ QUIRK_RME_DIGIFACE(0x3fa0),
 	}
 },
 
+/*
+ * CVT Touch Device (1ff7:0f33) is a USB composite device with HID + UAC
+ * audio interfaces. The device iProduct is "Touch Device" but Windows
+ * displays the audio function as "MAXHUB Speaker" (from iTerminal).
+ * Override the card shortname to match the Windows display name, while
+ * keeping normal stream/mixer creation (ifnum = QUIRK_NO_INTERFACE).
+ */
+{
+	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
+		       USB_DEVICE_ID_MATCH_INT_CLASS |
+		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
+	.idVendor = 0x1ff7,
+	.idProduct = 0x0f33,
+	.bInterfaceClass = USB_CLASS_AUDIO,
+	.bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
+	.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
+		.product_name = "MAXHUB Speaker",
+		.ifnum = QUIRK_NO_INTERFACE,
+	}
+},
+
 #undef QUIRK_AF16RIG_CLOCK
 #undef QUIRK_AF16RIG
 
Signature · 1 line
2.43.0
#1 lore raw
Quoted 8 lines · Panpan Ren

From: renpanpan <[email protected]>

The CVT Touch Device (1ff7:0f33) is a USB composite device (HID + UAC audio). Its iProduct string "Touch Device" is generic and does not identify the audio function. Windows names the audio function "MAXHUB Speaker" from the UAC OUTPUT_TERMINAL iTerminal descriptor.

Quoted 4 lines

Add a quirk entry to override the card shortname to "MAXHUB Speaker" with QUIRK_NO_INTERFACE to preserve normal stream and mixer creation.

Applied now. Thanks.

Takashi