https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291424

            Bug ID: 291424
           Summary: uaudio: Logitech H390 - mixer misinterprets Feature
                    Unit, sidetone and playback share same control
           Product: Base System
           Version: 14.3-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: [email protected]
          Reporter: [email protected]

On FreeBSD 14.3, the Logitech H390 USB headset exposes an incorrect mixer
topology via the uaudio(4) driver.
The driver maps the headset's sidetone/monitoring Feature Unit and the
playback/PCM output Feature Unit to the same mixer control.

As a result:

- Increasing the control dev.pcm.X.mixer.vol_2_1 enables sidetone (microphone
monitoring) and changes playback output.
- Setting this control to its minimum (e.g. -10496) disables sidetone and
completely disables audio playback on the device.
- This makes the device either unusable due to strong acoustic feedback
(sidetone routed directly to headphones) or silent (playback path disabled).

Linux and Windows handle the device correctly: sidetone is zero or disabled by
default, and playback works independently.

Relevant sysctl changes when adjusting the problematic mixer node:

-dev.pcm.7.mixer.vol_2_1.val: -10496
+dev.pcm.7.mixer.vol_2_1.val: -6508

Setting the value back to minimum eliminates feedback but also removes playback
entirely.

$ mixer  
pcm7:mixer: <Logi USB Headset Logi USB Headset> on uaudio1 (play/rec) (default)
    vol       = 0.64:0.64     pbk
    pcm       = 0.00:0.00     pbk
    mic       = 0.00:0.00     pbk

$ usbconfig -d ugen0.6                 
ugen0.6: <H390 headset with microphone Logitech, Inc.> at usbus0, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON (100mA)

$ grep Logi /dev/sndstat 
pcm7: <Logi USB Headset Logi USB Headset> on uaudio1 (1p:0v/1r:0v) default

$ sysctl dev.pcm.7
dev.pcm.7.feedback_rate: 0
dev.pcm.7.mixer.mute_6.desc: 
dev.pcm.7.mixer.mute_6.max: 1
dev.pcm.7.mixer.mute_6.min: 0
dev.pcm.7.mixer.mute_6.val: 0
dev.pcm.7.mixer.vol_5.desc: 
dev.pcm.7.mixer.vol_5.max: 0
dev.pcm.7.mixer.vol_5.min: -3840
dev.pcm.7.mixer.vol_5.val: -1536
dev.pcm.7.mixer.(null)_4.desc: 
dev.pcm.7.mixer.(null)_4.max: 1
dev.pcm.7.mixer.(null)_4.min: 0
dev.pcm.7.mixer.(null)_4.val: 0
dev.pcm.7.mixer.mute_3.desc: 
dev.pcm.7.mixer.mute_3.max: 1
dev.pcm.7.mixer.mute_3.min: 0
dev.pcm.7.mixer.mute_3.val: 0
dev.pcm.7.mixer.vol_2_1.desc: 
dev.pcm.7.mixer.vol_2_1.max: 0
dev.pcm.7.mixer.vol_2_1.min: -10496
dev.pcm.7.mixer.vol_2_1.val: -10496
dev.pcm.7.mixer.vol_2_0.desc: 
dev.pcm.7.mixer.vol_2_0.max: 0
dev.pcm.7.mixer.vol_2_0.min: -10496
dev.pcm.7.mixer.vol_2_0.val: -1536
dev.pcm.7.mixer.mute_1.desc: 
dev.pcm.7.mixer.mute_1.max: 1
dev.pcm.7.mixer.mute_1.min: 0
dev.pcm.7.mixer.mute_1.val: 0
dev.pcm.7.mixer.vol_0.desc: 
dev.pcm.7.mixer.vol_0.max: 2816
dev.pcm.7.mixer.vol_0.min: -1536
dev.pcm.7.mixer.vol_0.val: -1536
dev.pcm.7.mode: 7
dev.pcm.7.bitperfect: 0
dev.pcm.7.buffersize: 0
dev.pcm.7.rec.vchanformat: s16le:2.0
dev.pcm.7.rec.vchanrate: 48000
dev.pcm.7.rec.vchanmode: fixed
dev.pcm.7.rec.vchans: 1
dev.pcm.7.play.vchanformat: s16le:2.0
dev.pcm.7.play.vchanrate: 48000
dev.pcm.7.play.vchanmode: fixed
dev.pcm.7.play.vchans: 1
dev.pcm.7.hwvol_mixer: vol
dev.pcm.7.hwvol_step: 5
dev.pcm.7.%iommu: 
dev.pcm.7.%parent: uaudio1
dev.pcm.7.%pnpinfo: 
dev.pcm.7.%location: 
dev.pcm.7.%driver: pcm
dev.pcm.7.%desc: Logi USB Headset Logi USB Headset

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to