USB-C headset detected, unmuted, but doesn't show up in pavucontrol and sound settings, no sound output

I had to do a few things to get the intergrated speakers on my Lenovo Ideapad Flex 5 chromebook working, but it seems to have had the side effect that pulseaudio no longer shows my USB-C headphones as an output device, so sound doesn’t go through them when they’re plugged in. This is despite the fact that lsusb lists it correctly (Bus 001 Device 002: ID 04e8:a051 Samsung Electronics Co., Ltd USBC Headset)

And they’re properly detected by alsamixer, and are unmuted.

The problem seems to be specific to USB-C, as I can still switch sound output from internal speakers to bluetooth devices. Pavucontrol (and the default “volume settings” app) just does not seem to detect the headset as an audio device, while it correctly detects bluetooth devices.

The specific USB-C port isn’t the problem, as the same thing happens if I switch ports.

I’m pretty sure I know the culprit, but I’m not sure how to solve it: in order for the internal speakers to be used properly, I needed to create ~/.asound.conf and include the following:

defaults.pcm.card 0

defaults.pcm.device 5

defaults.ctl.card 0

If I comment out those three lines and reboot, I go back to the previous situation, i.e. Bluetooth and USB-C devices work (the headset shows up properly in pavucontrol), but the integrated speakers are never used. Obviously I would like to default to integrated speakers while still having USB-C as an option.

Welcome to Manjaro forum

Bluetooth audio operates independent of ALSA and would not be affected by changes to ALSA configuration

ALSA configuration ~/.asound.conf will override the Manjaro ALSA
sysdefault configuration

The asound.conf posted will lock audio playback to card 0 device 5
(use aplay -l to list available playback devices)

If the configuration was modified to use to the card and device numbers appropriate to the USB headset, PulseAudio would use the USB headset exclusively

If everything is commented out in ~/.asound.conf the ‘empty’ file will still override the Manjaro defaults but has nothing to replace them with

If you want to use both internal speakers and USB headphones selected from within PulseAudio
I suggest:

  1. remove file ~/.asound.conf

  2. clear old settings from PulseAudio databases

    rm ~/.config/pulse/*.tdb ~/.config/pulse/cookie
    
  3. reboot system to load default Manjaro ALSA configuration

  4. check devices are recognised and error-free in ALSA – sudo alsa-info.sh --upload
    (onboard audio for Intel Comet Lake systems had problems with support for internal digital microphones that can affect other capture and playback devices, but audio codec should be patched and working with kernel v5.13)

  5. check PulseAudio configuration – pacmd dump

2 Likes

Thanks for the complete reply. Unfortunately, after removing asound.conf and clearing the old settings, it’s back to its original behavior, i.e. internal speakers don’t output any sound, while USB-C and Bluetooth work. Here is the result of alsa-info, and here is the result of pacmd dump:

### Configuration dump generated at Tue Aug 31 14:49:37 2021

load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-switch-on-port-available
load-module module-udev-detect
load-module module-alsa-card device_id="0" name="pci-0000_00_1f.3-platform-sof_rt5682" card_name="alsa_card.pci-0000_00_1f.3-platform-sof_rt5682" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
load-module module-jackdbus-detect channels=2
load-module module-bluetooth-policy
load-module module-bluetooth-discover
load-module module-bluez5-discover
load-module module-dbus-protocol
load-module module-native-protocol-unix
load-module module-gsettings
load-module module-default-device-restore
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-console-kit
load-module module-systemd-login
load-module module-position-event-sounds
load-module module-role-cork
load-module module-filter-heuristics
load-module module-filter-apply
load-module module-x11-publish display=:0 xauthority=/home/olivier/.Xauthority
load-module module-x11-xsmp display=:0 xauthority=/home/olivier/.Xauthority session_manager=local/olivier-akemi:@/tmp/.ICE-unix/1034,unix/olivier-akemi:/tmp/.ICE-unix/1034
load-module module-alsa-card device_id="1" name="usb-Samsung_USBC_Headset-00" card_name="alsa_card.usb-Samsung_USBC_Headset-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
load-module module-cli-protocol-unix

set-sink-volume alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback 0x8000
set-sink-mute alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback no
suspend-sink alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback yes
set-sink-volume alsa_output.usb-Samsung_USBC_Headset-00.analog-stereo 0xa148
set-sink-mute alsa_output.usb-Samsung_USBC_Headset-00.analog-stereo no
suspend-sink alsa_output.usb-Samsung_USBC_Headset-00.analog-stereo yes

set-source-volume alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback.monitor 0x10000
set-source-mute alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback.monitor no
suspend-source alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback.monitor yes
set-source-volume alsa_input.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback 0x10000
set-source-mute alsa_input.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback no
suspend-source alsa_input.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback yes
set-source-volume alsa_output.usb-Samsung_USBC_Headset-00.analog-stereo.monitor 0x10000
set-source-mute alsa_output.usb-Samsung_USBC_Headset-00.analog-stereo.monitor no
suspend-source alsa_output.usb-Samsung_USBC_Headset-00.analog-stereo.monitor yes
set-source-volume alsa_input.usb-Samsung_USBC_Headset-00.mono-fallback 0xdfd3
set-source-mute alsa_input.usb-Samsung_USBC_Headset-00.mono-fallback no
suspend-source alsa_input.usb-Samsung_USBC_Headset-00.mono-fallback yes

set-card-profile alsa_card.pci-0000_00_1f.3-platform-sof_rt5682 output:stereo-fallback+input:stereo-fallback
set-card-profile alsa_card.usb-Samsung_USBC_Headset-00 output:analog-stereo+input:mono-fallback

set-default-sink alsa_output.usb-Samsung_USBC_Headset-00.analog-stereo
set-default-source alsa_input.usb-Samsung_USBC_Headset-00.mono-fallback

### EOF

Just realised I did pacmd dump with my headphones plugged in, and that changes the output. Here is the output of pacmd dump when the headphones are not plugged in, i.e. it’s attempting to use the internal speaker:

### Configuration dump generated at Tue Aug 31 14:54:32 2021

load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-switch-on-port-available
load-module module-udev-detect
load-module module-alsa-card device_id="0" name="pci-0000_00_1f.3-platform-sof_rt5682" card_name="alsa_card.pci-0000_00_1f.3-platform-sof_rt5682" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
load-module module-jackdbus-detect channels=2
load-module module-bluetooth-policy
load-module module-bluetooth-discover
load-module module-bluez5-discover
load-module module-dbus-protocol
load-module module-native-protocol-unix
load-module module-gsettings
load-module module-default-device-restore
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-console-kit
load-module module-systemd-login
load-module module-position-event-sounds
load-module module-role-cork
load-module module-filter-heuristics
load-module module-filter-apply
load-module module-x11-publish display=:0 xauthority=/home/olivier/.Xauthority
load-module module-x11-xsmp display=:0 xauthority=/home/olivier/.Xauthority session_manager=local/olivier-akemi:@/tmp/.ICE-unix/1034,unix/olivier-akemi:/tmp/.ICE-unix/1034
load-module module-cli-protocol-unix

set-sink-volume alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback 0x8000
set-sink-mute alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback no
suspend-sink alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback yes

set-source-volume alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback.monitor 0x10000
set-source-mute alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback.monitor no
suspend-source alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback.monitor yes
set-source-volume alsa_input.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback 0x10000
set-source-mute alsa_input.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback no
suspend-source alsa_input.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback yes

set-card-profile alsa_card.pci-0000_00_1f.3-platform-sof_rt5682 output:stereo-fallback+input:stereo-fallback

set-default-sink alsa_output.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback
set-default-source alsa_input.pci-0000_00_1f.3-platform-sof_rt5682.stereo-fallback

### EOF

Any chance of getting more help on this? So far, I can get the integrated speakers to work, or USB devices to work, but not both to work in the same session. It seems like alsa recognises the speakers, but unless I lock it into the correct sound card and device for the speakers (thus locking out USB devices), pulseaudio won’t see or use them. Logically, it seems like there should be a way to get pulseaudio to see and use the right card and device without having to configure it to use ONLY that device, but I don’t know what that way is at all.