* [ALSA/usb-audio] Weltrend/XiiSound Headset (040b:0897) splits channels into independent 'PCM'/'PCM 1' mixer elements and suffers from severe dB volume curve mismatch [not found] <18af78d3948a4100-webhooks-bot@alsa-project.org> @ 2026-05-14 15:40 ` GitHub issues - edited 0 siblings, 0 replies; 3+ messages in thread From: GitHub issues - edited @ 2026-05-14 15:40 UTC (permalink / raw) To: alsa-devel alsa-project/alsa-ucm-conf issue #760 was edited from skye6034: <img width="717" height="298" alt="Image" src="https://github.com/user-attachments/assets/3f81ef7d-5973-493c-a2c1-b2046bb958c1" /> <img width="958" height="529" alt="Image" src="https://github.com/user-attachments/assets/b49f830a-255a-4283-a561-0aa957a86b68" /> ### Description of the Bug The Weltrend Semiconductor / XiiSound wireless headset dongle (USB ID 040b:0897) is incorrectly handled by the `snd-usb-audio` driver. Instead of presenting a single unified stereo hardware volume control interface, the driver registers two completely separate hardware playback controls simultaneously: 1. `PCM` (Controls overall initial gain / Left physical channel) 2. `PCM 1` (Controls the hardware amplification exclusively for the physical Right ear channel) Because of this firmware descriptor misinterpretation, standard desktop environments (like GNOME/KDE) parse the device into separate, conflicting "Analog Output" and "Digital Output (S/PDIF)" hardware profiles simultaneously. When a user adjusts the system volume slider, the audio engine modulates the primary `PCM` element but leaves `PCM 1` un-synchronized at 0%. This instantly kills the physical Left audio channel entirely, leaving sound playing exclusively out of the Right side. Furthermore, the hardware volume scaling curve is completely non-linear and broken. Small adjustments to the user-space volume slider result in massive, disproportionate drops in the hardware mixer levels. For example, lowering the desktop system volume slider slightly from 100% down to 98% causes the ALSA hardware `PCM` channel level to violently plummet down to approximately 33%. The hardware functions perfectly as a standard, unified single stereo device on Windows and macOS. ### Steps to Reproduce 1. Connect the wireless USB dongle. 2. See two "Analog Output" and "Digital Output (S/PDIF)" profiles on the desktop (GNOME/KDE) 3. Audio won't play until you set "Analog" to 100%, and then, it would only play on the Right Channel 4. Open `alsamixer` and select the `H878 Wireless headset` sound card. 5. Observe two independent, unlinked channel elements: `PCM` and `PCM 1`. 6. Set `PCM 1` to 100. The physical left speaker starts outputting audio. 7. Attempting to lower system volume via desktop controls drops the main `PCM` element while leaving the channels permanently split and mismatched. 8. Drop the system volume slider slightly from 100% to 98% and observe the hardware `PCM` slider collapse immediately to ~33% gain.### Current User Workaround: To achieve functional stereo, a user must manually force both `PCM` and `PCM 1` to exactly 100% in `alsamixer` to force open both physical speaker channels, and then instruct their user-space audio server (PipeWire/PulseAudio) to utilize software-side attenuation rather than mapping to the hardware mixer paths. ### Hardware Details (`lsusb -v`): Bus 005 Device 003: ID 040b:0897 Weltrend Semiconductor H878 Wireless headset Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 [unknown] bDeviceSubClass 0 [unknown] bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x040b Weltrend Semiconductor idProduct 0x0897 H878 Wireless headset bcdDevice 0.31 iManufacturer 1 XiiSound Technology Corporation iProduct 2 H878 Wireless headset bNumConfigurations 1 ### Alsamixer Controls Detected: - Card: H878 Wireless headset - Chip: USB Mixer - Item: PCM [dB gain: 0.39, 0.39] -> Controls Left channel pathing - Item: PCM 1 [Volume: 0] -> Hard-muted by default, controls Right hardware amp pathing ### Suggested Fix / Quirk Needed This chip requires a custom driver mapping entry added to the Linux kernel (`sound/usb/quirks.c` or `sound/usb/mixer.c`). The driver needs a mixer quirk targeting USB ID `040b:0897` to: 1. Alias or hard-link `PCM 1` to the master `PCM` control for unified, locked stereo tracking. 2. Implement a custom volume map (`dB_map`) to override the broken firmware descriptors, preventing the hardware volume level from collapsing to 33% when a minor user-space attenuation (98%) is requested. Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/760 Repository URL: https://github.com/alsa-project/alsa-ucm-conf ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <18af78d74ec85800-webhooks-bot@alsa-project.org>]
* [ALSA/usb-audio] Weltrend/XiiSound Headset (040b:0897) splits channels into independent 'PCM'/'PCM 1' mixer elements and suffers from severe dB volume curve mismatch [not found] <18af78d74ec85800-webhooks-bot@alsa-project.org> @ 2026-05-14 15:40 ` GitHub issues - edited 0 siblings, 0 replies; 3+ messages in thread From: GitHub issues - edited @ 2026-05-14 15:40 UTC (permalink / raw) To: alsa-devel alsa-project/alsa-ucm-conf issue #760 was edited from skye6034: ### Description of the Bug The Weltrend Semiconductor / XiiSound wireless headset dongle (USB ID 040b:0897) is incorrectly handled by the `snd-usb-audio` driver. Instead of presenting a single unified stereo hardware volume control interface, the driver registers two completely separate hardware playback controls simultaneously: 1. `PCM` (Controls overall initial gain / Left physical channel) 2. `PCM 1` (Controls the hardware amplification exclusively for the physical Right ear channel) Because of this firmware descriptor misinterpretation, standard desktop environments (like GNOME/KDE) parse the device into separate, conflicting "Analog Output" and "Digital Output (S/PDIF)" hardware profiles simultaneously. When a user adjusts the system volume slider, the audio engine modulates the primary `PCM` element but leaves `PCM 1` un-synchronized at 0%. This instantly kills the physical Left audio channel entirely, leaving sound playing exclusively out of the Right side. Furthermore, the hardware volume scaling curve is completely non-linear and broken. Small adjustments to the user-space volume slider result in massive, disproportionate drops in the hardware mixer levels. For example, lowering the desktop system volume slider slightly from 100% down to 98% causes the ALSA hardware `PCM` channel level to violently plummet down to approximately 33%. The hardware functions perfectly as a standard, unified single stereo device on Windows and macOS. ### Steps to Reproduce 1. Connect the wireless USB dongle. 2. See two "Analog Output" and "Digital Output (S/PDIF)" profiles on the desktop (GNOME/KDE) 3. Audio won't play until you set "Analog" to 100%, and then, it would only play on the Right Channel 4. Open `alsamixer` and select the `H878 Wireless headset` sound card. 5. Observe two independent, unlinked channel elements: `PCM` and `PCM 1`. 6. Set `PCM 1` to 100. The physical left speaker starts outputting audio. 7. Attempting to lower system volume via desktop controls drops the main `PCM` element while leaving the channels permanently split and mismatched. 8. Drop the system volume slider slightly from 100% to 98% and observe the hardware `PCM` slider collapse immediately to ~33% gain.### Current User Workaround: To achieve functional stereo, a user must manually force both `PCM` and `PCM 1` to exactly 100% in `alsamixer` to force open both physical speaker channels, and then instruct their user-space audio server (PipeWire/PulseAudio) to utilize software-side attenuation rather than mapping to the hardware mixer paths. ### Hardware Details (`lsusb -v`): Bus 005 Device 003: ID 040b:0897 Weltrend Semiconductor H878 Wireless headset Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 [unknown] bDeviceSubClass 0 [unknown] bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x040b Weltrend Semiconductor idProduct 0x0897 H878 Wireless headset bcdDevice 0.31 iManufacturer 1 XiiSound Technology Corporation iProduct 2 H878 Wireless headset bNumConfigurations 1 ### Alsamixer Controls Detected: - Card: H878 Wireless headset - Chip: USB Mixer - Item: PCM [dB gain: 0.39, 0.39] -> Controls Left channel pathing - Item: PCM 1 [Volume: 0] -> Hard-muted by default, controls Right hardware amp pathing ### Suggested Fix / Quirk Needed This chip requires a custom driver mapping entry added to the Linux kernel (`sound/usb/quirks.c` or `sound/usb/mixer.c`). The driver needs a mixer quirk targeting USB ID `040b:0897` to: 1. Alias or hard-link `PCM 1` to the master `PCM` control for unified, locked stereo tracking. 2. Implement a custom volume map (`dB_map`) to override the broken firmware descriptors, preventing the hardware volume level from collapsing to 33% when a minor user-space attenuation (98%) is requested. <img width="717" height="298" alt="Image" src="https://github.com/user-attachments/assets/3f81ef7d-5973-493c-a2c1-b2046bb958c1" /> <img width="958" height="529" alt="Image" src="https://github.com/user-attachments/assets/b49f830a-255a-4283-a561-0aa957a86b68" /> Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/760 Repository URL: https://github.com/alsa-project/alsa-ucm-conf ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <18af78cd46d0be00-webhooks-bot@alsa-project.org>]
* [ALSA/usb-audio] Weltrend/XiiSound Headset (040b:0897) splits channels into independent 'PCM'/'PCM 1' mixer elements and suffers from severe dB volume curve mismatch [not found] <18af78cd46d0be00-webhooks-bot@alsa-project.org> @ 2026-05-14 15:40 ` GitHub issues - opened 0 siblings, 0 replies; 3+ messages in thread From: GitHub issues - opened @ 2026-05-14 15:40 UTC (permalink / raw) To: alsa-devel alsa-project/alsa-ucm-conf issue #760 was opened from skye6034: ### Description of the Bug The Weltrend Semiconductor / XiiSound wireless headset dongle (USB ID 040b:0897) is incorrectly handled by the `snd-usb-audio` driver. Instead of presenting a single unified stereo hardware volume control interface, the driver registers two completely separate hardware playback controls simultaneously: 1. `PCM` (Controls overall initial gain / Left physical channel) 2. `PCM 1` (Controls the hardware amplification exclusively for the physical Right ear channel) Because of this firmware descriptor misinterpretation, standard desktop environments (like GNOME/KDE) parse the device into separate, conflicting "Analog Output" and "Digital Output (S/PDIF)" hardware profiles simultaneously. When a user adjusts the system volume slider, the audio engine modulates the primary `PCM` element but leaves `PCM 1` un-synchronized at 0%. This instantly kills the physical Left audio channel entirely, leaving sound playing exclusively out of the Right side. Furthermore, the hardware volume scaling curve is completely non-linear and broken. Small adjustments to the user-space volume slider result in massive, disproportionate drops in the hardware mixer levels. For example, lowering the desktop system volume slider slightly from 100% down to 98% causes the ALSA hardware `PCM` channel level to violently plummet down to approximately 33%. The hardware functions perfectly as a standard, unified single stereo device on Windows and macOS. ### Steps to Reproduce 1. Connect the wireless USB dongle. 2. See two "Analog Output" and "Digital Output (S/PDIF)" profiles on the desktop (GNOME/KDE) 3. Audio won't play until you set "Analog" to 100%, and then, it would only play on the Right Channel 4. Open `alsamixer` and select the `H878 Wireless headset` sound card. 5. Observe two independent, unlinked channel elements: `PCM` and `PCM 1`. 6. Set `PCM 1` to 100. The physical left speaker starts outputting audio. 7. Attempting to lower system volume via desktop controls drops the main `PCM` element while leaving the channels permanently split and mismatched. 8. Drop the system volume slider slightly from 100% to 98% and observe the hardware `PCM` slider collapse immediately to ~33% gain.### Current User Workaround: To achieve functional stereo, a user must manually force both `PCM` and `PCM 1` to exactly 100% in `alsamixer` to force open both physical speaker channels, and then instruct their user-space audio server (PipeWire/PulseAudio) to utilize software-side attenuation rather than mapping to the hardware mixer paths. ### Hardware Details (`lsusb -v`): Bus 005 Device 003: ID 040b:0897 Weltrend Semiconductor H878 Wireless headset Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 [unknown] bDeviceSubClass 0 [unknown] bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x040b Weltrend Semiconductor idProduct 0x0897 H878 Wireless headset bcdDevice 0.31 iManufacturer 1 XiiSound Technology Corporation iProduct 2 H878 Wireless headset bNumConfigurations 1 ### Alsamixer Controls Detected: - Card: H878 Wireless headset - Chip: USB Mixer - Item: PCM [dB gain: 0.39, 0.39] -> Controls Left channel pathing - Item: PCM 1 [Volume: 0] -> Hard-muted by default, controls Right hardware amp pathing ### Suggested Fix / Quirk Needed This chip requires a custom driver mapping entry added to the Linux kernel (`sound/usb/quirks.c` or `sound/usb/mixer.c`). The driver needs a mixer quirk targeting USB ID `040b:0897` to: 1. Alias or hard-link `PCM 1` to the master `PCM` control for unified, locked stereo tracking. 2. Implement a custom volume map (`dB_map`) to override the broken firmware descriptors, preventing the hardware volume level from collapsing to 33% when a minor user-space attenuation (98%) is requested. Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/760 Repository URL: https://github.com/alsa-project/alsa-ucm-conf ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-14 15:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <18af78d3948a4100-webhooks-bot@alsa-project.org>
2026-05-14 15:40 ` [ALSA/usb-audio] Weltrend/XiiSound Headset (040b:0897) splits channels into independent 'PCM'/'PCM 1' mixer elements and suffers from severe dB volume curve mismatch GitHub issues - edited
[not found] <18af78d74ec85800-webhooks-bot@alsa-project.org>
2026-05-14 15:40 ` GitHub issues - edited
[not found] <18af78cd46d0be00-webhooks-bot@alsa-project.org>
2026-05-14 15:40 ` GitHub issues - opened
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.