Re: [PATCH] ALSA: usb-audio: Add quirk flags for JBL Pebbles
From: Takashi Iwai
Date: Mon May 04 2026 - 11:43:28 EST
On Mon, 04 May 2026 13:38:05 +0200,
Rong Zhang wrote:
>
> JBL Pebbles is a pair of desktop speakers with UAC interface. Its
> Playback and Capture mixers use linear volume with val = 0/999/1 and
> 0/3996/4. Meanwhile, the reported sample rates are truncated to
> multiples of 0x100 (i.e., 44100 => 44032), resulting in noisy kmsg, as a
> warning message is printed each time a stream is opened.
>
> Add a quirk table entry matching VID/PID=0x05fc/0x0231 and applying
> linear volume and sample rate quirk flags, so that it can work properly.
>
> Also note that the volume control knob on device is an incremental
> encoder. It does nothing but sends KEY_VOLUMEUP and KEY_VOLUMEDOWN per
> rotation, controlling the UAC Playback volume mixer indirectly. Hence,
> the linear volume quirk flags also enable the volume control knob to
> function properly.
>
> Quirky device sample:
>
> usb 5-1.1: new full-speed USB device number 12 using xhci_hcd
> usb 5-1.1: New USB device found, idVendor=05fc, idProduct=0231, bcdDevice= 1.00
> usb 5-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> usb 5-1.1: Product: JBL Pebbles
> usb 5-1.1: Manufacturer: Harman International Industries
> usb 5-1.1: SerialNumber: 1.0.0
> usb-storage 5-1.1:1.0: USB Mass Storage device detected
> scsi host0: usb-storage 5-1.1:1.0
> usb 5-1.1: Found last interface = 1
> usb 5-1.1: 2:1: add audio endpoint 0x5
> usb 5-1.1: Creating new data endpoint #5
> usb 5-1.1: 2:1 Set sample rate 44100, clock 0
> usb 5-1.1: current rate 44032 is different from the runtime rate 44100
> usb 5-1.1: 3:1: add audio endpoint 0x84
> usb 5-1.1: Creating new data endpoint #84
> usb 5-1.1: 3:1 Set sample rate 44100, clock 0
> usb 5-1.1: current rate 44032 is different from the runtime rate 44100
> usb 5-1.1: [2] FU [PCM Playback Switch] ch = 1, val = 0/1/1
> usb 5-1.1: Warning! Unlikely big volume step count (=999), linear volume or wrong cval->res?
> usb 5-1.1: [2] FU [PCM Playback Volume] ch = 2, val = 0/999/1
> usb 5-1.1: [5] FU [Mic Capture Switch] ch = 1, val = 0/1/1
> usb 5-1.1: Warning! Unlikely big volume step count (=999), linear volume or wrong cval->res?
> usb 5-1.1: [5] FU [Mic Capture Volume] ch = 2, val = 0/3996/4
> input: Harman International Industries JBL Pebbles as /devices/pci0000:00/0000:00:08.3/0000:67:00.3/usb5/5-1/5-1.1/5-1.1:1.4/0003:05FC:0231.0018/input/input55
> hid-generic 0003:05FC:0231.0018: input,hidraw2: USB HID v2.01 Device [Harman International Industries JBL Pebbles] on usb-0000:67:00.3-1.1/input4
>
> Signed-off-by: Rong Zhang <i@xxxxxxxx>
Applied now. Thanks.
Takashi