All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

* [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

* [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

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] <18af78cd46d0be00-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 - opened
     [not found] <18af78d3948a4100-webhooks-bot@alsa-project.org>
2026-05-14 15:40 ` GitHub issues - edited
     [not found] <18af78d74ec85800-webhooks-bot@alsa-project.org>
2026-05-14 15:40 ` GitHub issues - edited

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.