mic not working on JBL Quantum series USB headsets
Hello Alsa people,
hope this is the right place to post.
My Quantum 800's microphone doesn't work and I found other reports suggesting this issue affects the whole Quantum product line.
It's a wireless headset with USB dongle.
I *think* the issue is with Alsa because the Capture device is "detected" but not populated under /sys:
arecord list of devices: ``` % arecord -l **** List of CAPTURE Hardware Devices **** (...) card 1: Q800 [Quantum 800], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 ```
amixer knobs: ``` % amixer -c1 Simple mixer control 'PCM',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on] Simple mixer control 'PCM',1 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on] Simple mixer control 'Headset',0 Capabilities: cvolume cvolume-joined cswitch cswitch-joined Capture channels: Mono Limits: Capture 0 - 64 Mono: Capture 64 [100%] [0.00dB] [on] ```
arecord trying to use the capture device: ``` % arecord -Dhw:1,0 /tmp/out.wav arecord: main:831: audio open error: No such file or directory ```
/sys pcm "endpoints" (missing capture endpoint): ``` % ls -1d /sys/class/sound/pcm* /sys/class/sound/pcmC1D0p /sys/class/sound/pcmC1D1p ```
nothing suspicious in dmesg: ``` usb 3-1.3: new full-speed USB device number 12 using xhci_hcd usb 3-1.3: New USB device found, idVendor=0ecb, idProduct=203e, bcdDevice= 1.00 usb 3-1.3: New USB device strings: Mfr=4, Product=5, SerialNumber=0 usb 3-1.3: Product: Quantum 800 usb 3-1.3: Manufacturer: JBL usb 3-1.3: Found post-registration device assignment: 0ecb203e:02 input: JBL Quantum 800 Consumer Control as /devices/pci0000:00/0000:00:1d.4/0000:05:00.0/0000:06:01.0/0000:08:00.0/0000:09:02.0/0000:0a:00.0/us 3/3-1/3-1.3/3-1.3:1.5/0003:0ECB:203E.0024/input/input51 input: JBL Quantum 800 as /devices/pci0000:00/0000:00:1d.4/0000:05:00.0/0000:06:01.0/0000:08:00.0/0000:09:02.0/0000:0a:00.0/us 3/3-1/3-1.3/3-1.3:1.5/0003:0ECB:203E.0024/input/input52 hid-generic 0003:0ECB:203E.0024: input,hiddev96,hidraw0: USB HID v1.11 Device [JBL Quantum 800] on usb-0000:0a:00.0-1.3/input5 ```
Nothing at all in either Pulse or Pipewire logs.
alsa-info: http://alsa-project.org/db/?f=d9e7a91d97b2f64a0b2d00a05dfc9f9dace3a6f6
Linux 5.12.14-lqx2
Other reports:
https://bbs.archlinux.org/viewtopic.php?pid=1983686 https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/998
The headset also works for me on Windows 10 out of the box (and according to the Internet, it works on Mac, too).
Note that I updated the headset and dongle to the latest firmware (v3.1.5.0) with no effect.
The 800 model also has Bluetooth with both A2DP and HSP profile. Not sure if this is relevant but for clarity:
- with Pulse A2DP profile works only as output device (SBC and AAC), other profiles, such as HSP, are listed but "unavailable" - with Pipewire only HSP profiles are listed and available (mSBC, CVSD and "plain"), microphone *works*
I'd like to help with debugging, just tell me how (or if) I can.
thanks,
-jakub.
В Вт, 20/07/2021 в 18:00 +0000, Jakub Fišer пишет:
Hello Alsa people,
hope this is the right place to post.
My Quantum 800's microphone doesn't work and I found other reports suggesting this issue affects the whole Quantum product line.
This device consists of two interfaces. The first interface contains a single playback endpoint and the second interface contains playback and capture endpoints. So JBL Quantum probably needs a registration quirk similar to Kingston HyperX devices. Please try the patch below:
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 8b8bee3c3dd6..f54331892d7a 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1897,6 +1897,7 @@ static const struct registration_quirk registration_quirks[] = { REG_QUIRK_ENTRY(0x0951, 0x16d8, 2), /* Kingston HyperX AMP */ REG_QUIRK_ENTRY(0x0951, 0x16ed, 2), /* Kingston HyperX Cloud Alpha S */ REG_QUIRK_ENTRY(0x0951, 0x16ea, 2), /* Kingston HyperX Cloud Flight S */ + REG_QUIRK_ENTRY(0x0ecb, 0x203e, 2), /* JBL Quantum 800 */ { 0 } /* terminator */ };
July 21, 2021 10:17 PM, "Alexander Tsoy" alexander@tsoy.me wrote:
В Вт, 20/07/2021 в 18:00 +0000, Jakub Fišer пишет:
My Quantum 800's microphone doesn't work and I found other reports suggesting this issue affects the whole Quantum product line.
This device consists of two interfaces. The first interface contains a single playback endpoint and the second interface contains playback and capture endpoints. So JBL Quantum probably needs a registration quirk similar to Kingston HyperX devices. Please try the patch below:
The patch works! Thanks. Two new profiles appeared in Pulseaudio (via Pipewire) with "Mono input" and the profile "Pro Audio" gained the mono input as well. Both analog and digital profiles work for playback but only the "Pro Audio" profile exposes the second output as well. This profile is only available when using Pipewire (not in "plain" Pulse) but I guess this is not an Alsa-related issue.
The microphone works in all three profiles as expected, everything is there out-of-the-box with the patched kernel. What's the process to get this patch to mainline? Should I be involved in it somehow?
- REG_QUIRK_ENTRY(0x0ecb, 0x203e, 2), /* JBL Quantum 800 */
I think this is needed for the whole JBL Quantum headset product line with USB connection according to what people have been reporting so far.
I'm not familiar with the brand but from what I can tell, this only includes models 300, 400, 600, 800 and "One" where 600 and 800 are wireless via USB dongle and the others are wired USB.
As far as I can tell all of the above except 300 have two outputs. Might be relevant according to what you said:
This device consists of two interfaces. The first interface contains a single playback endpoint and the second interface contains playback and capture endpoints.
Just FYI, the headset also claims to have support for DTS Surround and a 7.1 ultimate-something, the latter being explicitly a proprietary thing.
I guess DTS support is proprietary, too, but I couldn't find anything about it except that "it is there". In Windows both modes are only available via the proprietary application.
-j.
В Ср, 21/07/2021 в 22:53 +0000, Jakub Fišer пишет:
....
- REG_QUIRK_ENTRY(0x0ecb, 0x203e, 2), /* JBL Quantum 800 */
I think this is needed for the whole JBL Quantum headset product line with USB connection according to what people have been reporting so far.
I'm not familiar with the brand but from what I can tell, this only includes models 300, 400, 600, 800 and "One" where 600 and 800 are wireless via USB dongle and the others are wired USB.
As far as I can tell all of the above except 300 have two outputs. Might be relevant according to what you said:
I can confirm that Quantum 400 (0ecb:2039) and Quantum 600 (0ecb:1f46) also need this quirk. Quantum 300 should work just fine without any quirks (all according to publicly available lsusb outputs).
participants (2)
-
Alexander Tsoy
-
Jakub Fišer