[PATCH] ALSA: usb-audio: Fix card name for CVT Touch Device (1ff7:0f33)
From: Panpan Ren
Date: Tue Oct 27 2026 - 05:09:37 EST
From: renpanpan <renpanpan@xxxxxxxxxx>
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.
Signed-off-by: renpanpan <renpanpan@xxxxxxxxxx>
---
sound/usb/quirks-table.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index dd02c6294edf..9a1dbbb1d1f2 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -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
--
2.43.0