Re: [PATCH] ALSA: usb-audio: Add quirk flags for SC13A
From: Rong Zhang
Date: Wed Jun 17 2026 - 08:23:33 EST
Hi Ai,
On Wed, 2026-06-17 at 10:52 +0800, Ai Chao wrote:
> The SC13A ( VID 0x1ff7, PID 0x0f81) not support reading the current
> sample rate and results in an error message printed to kmsg. Set
> QUIRK_FLAG_GET_SAMPLE_RATE to skip the sample rate check.
>
> Quirky device sample:
> usb 3-5.2.4.1: new high-speed USB device number 11 using xhci_hcd
> usb 3-5.2.4.1: New USB device found, idVendor=1ff7, idProduct=0f81
IIUC, the VID is owned by CVTE, and the product name matches their
naming convention.
> usb 3-5.2.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> usb 3-5.2.4.1: Product: SC13A
> usb 3-5.2.4.1: Manufacturer: Linux Foundation
> usb 3-5.2.4.1: SerialNumber: 000002
> usb 3-5.2.4.1: Found UVC 1.50 device SC13A (1ff7:0f81)
> usb 3-5.2.4.1: 3:1: cannot get freq at ep 0x86
> usb 3-5.2.4.1: Warning! Unlikely big volume range (=4096),
> cval->res is probably wrong.
> usb 3-5.2.4.1: [5] FU [Mic Capture Volume] ch = 1, val = 0/4096/1
Most CVTE webcams also ship with a microphone. Does it also apply to
SC13A? If so, it probably needs a mixer quirk too, e.g.,
QUIRK_FLAG_MIXER_CAPTURE_LINEAR_VOL, QUIRK_FLAG_MIC_RES_*, or a device-
specific one.
Thanks,
Rong
> usbcore: registered new interface driver snd-usb-audio
> usb 3-5.2.4.1: 3:1: cannot get freq at ep 0x86
> usb 3-5.2.4.1: 3:1: cannot get freq at ep 0x86
>
> Signed-off-by: Ai Chao <aichao@xxxxxxxxxx>
> ---
> sound/usb/quirks.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> index 46718c5499df..e6c011cf8ffd 100644
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -2413,6 +2413,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
> QUIRK_FLAG_GET_SAMPLE_RATE | QUIRK_FLAG_MIC_RES_16),
> DEVICE_FLG(0x1bcf, 0x2283, /* NexiGo N930AF FHD Webcam */
> QUIRK_FLAG_GET_SAMPLE_RATE | QUIRK_FLAG_MIC_RES_16),
> + DEVICE_FLG(0x1ff7, 0x0f81, /* SC13A Webcam */
> + QUIRK_FLAG_GET_SAMPLE_RATE),
> DEVICE_FLG(0x2040, 0x7200, /* Hauppauge HVR-950Q */
> QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER),
> DEVICE_FLG(0x2040, 0x7201, /* Hauppauge HVR-950Q-MXL */