* [PATCH] ALSA: usb-audio: Add quirk flags for JBL Pebbles
@ 2026-05-04 11:38 Rong Zhang
2026-05-04 15:40 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Rong Zhang @ 2026-05-04 11:38 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai; +Cc: linux-sound, linux-kernel, Rong Zhang
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@rong.moe>
---
sound/usb/quirks.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 0b4ecc2c6bcc..3a4caec3f8ff 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2277,6 +2277,9 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
QUIRK_FLAG_ALIGN_TRANSFER),
DEVICE_FLG(0x05e1, 0x0480, /* Hauppauge Woodbury */
QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER),
+ DEVICE_FLG(0x05fc, 0x0231, /* JBL Pebbles */
+ QUIRK_FLAG_MIXER_PLAYBACK_LINEAR_VOL | QUIRK_FLAG_MIXER_CAPTURE_LINEAR_VOL |
+ QUIRK_FLAG_GET_SAMPLE_RATE),
DEVICE_FLG(0x0624, 0x3d3f, /* AB13X USB Audio */
QUIRK_FLAG_FORCE_IFACE_RESET | QUIRK_FLAG_IFACE_DELAY),
DEVICE_FLG(0x0644, 0x8043, /* TEAC UD-501/UD-501V2/UD-503/NT-503 */
---
base-commit: 6d35786de28116ecf78797a62b84e6bf3c45aa5a
change-id: 20260504-uac-jbl-pebbles-7d186716aa41
Thanks,
Rong
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ALSA: usb-audio: Add quirk flags for JBL Pebbles
2026-05-04 11:38 [PATCH] ALSA: usb-audio: Add quirk flags for JBL Pebbles Rong Zhang
@ 2026-05-04 15:40 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-05-04 15:40 UTC (permalink / raw)
To: Rong Zhang; +Cc: Jaroslav Kysela, Takashi Iwai, linux-sound, linux-kernel
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@rong.moe>
Applied now. Thanks.
Takashi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-04 15:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-04 11:38 [PATCH] ALSA: usb-audio: Add quirk flags for JBL Pebbles Rong Zhang
2026-05-04 15:40 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox