3

Sound on my Dell XPS 13 works (and always worked) fine when not plugged in to the docking station. Audio is routed to the built-in speakers by default and when headphones are plugged in, they are used. This also used to work when connected to a docking station. The docking station is a ThinkPad USB-C Dock Audio.

However, since last week Friday, neither headphones nor built-in speakers work anymore when the laptop is connected to the docking station.

When plugging in headphones, the system detects them and shows the dialog to select what device they are (headphones, headset, ...). I have verified that the correct device is selected in Gnome settings and that the volume is set correctly. I also can hear the short volume feedback on the headphones when changing volume.

The only thing that I can remember changing is: For the first time I plugged in a speaker to the 3.5mm jack of the docking station. That was on the day before I first noticed the problem. Since then it seems as if the audio is always routed to the docking station no matter what device I select. I can confirm this by connecting a speaker to the docking station. Sound is always played on that speaker no matter what device I select.

I don't know how to diagnose this problem. This is the output of a command that I found in similar questions:

> aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC3246 Analog [ALC3246 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Audio [ThinkPad USB-C Dock Audio], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

With pacmd list-sinks I see the following output:

2 sink(s) available.
  * index: 1
    name: <alsa_output.pci-0000_00_1f.3.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 9039
    volume: front-left: 30537 /  47% / -19.90 dB,   front-right: 30537 /  47% / -19.90 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 1
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    card: 0 <alsa_card.pci-0000_00_1f.3>
    module: 20
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ALC3246 Analog"
        alsa.id = "ALC3246 Analog"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xdc328000 irq 131"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1f.3"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "9d71"
        device.product.name = "Sunrise Point-LP HD Audio"
        device.form_factor = "internal"
        device.string = "front:0"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "Built-in Audio Analog Stereo"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-speakers"
        analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: yes)
            properties:
                device.icon_name = "audio-headphones"
    active port: <analog-output-headphones>
    index: 2
    name: <alsa_output.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00.iec958-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: RUNNING
    suspend cause: (none)
    priority: 9048
    volume: front-left: 61872 /  94% / -1.50 dB,   front-right: 61872 /  94% / -1.50 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 34.06 ms
    max request: 6 KiB
    max rewind: 6 KiB
    monitor source: 4
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 4
    linked by: 5
    configured latency: 36.00 ms; range is 36.00 .. 2000.00 ms
    card: 2 <alsa_card.usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00>
    module: 25
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "USB Audio"
        alsa.id = "USB Audio"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "2"
        alsa.card_name = "ThinkPad USB-C Dock Audio"
        alsa.long_card_name = "Lenovo ThinkPad USB-C Dock Audio at usb-0000:39:00.0-1.4.2.3, full speed"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:39:00.0-usb-0:1.4.2.3:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:39:00.0/usb3/3-1/3-1.4/3-1.4.2/3-1.4.2.3/3-1.4.2.3:1.0/sound/card2"
        udev.id = "usb-Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000-00"
        device.bus = "usb"
        device.vendor.id = "17ef"
        device.vendor.name = "Lenovo"
        device.product.id = "3063"
        device.product.name = "ThinkPad USB-C Dock Audio"
        device.serial = "Lenovo_ThinkPad_USB-C_Dock_Audio_000000000000"
        device.string = "iec958:2"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "iec958-stereo"
        device.profile.description = "Digital Stereo (IEC958)"
        device.description = "ThinkPad USB-C Dock Audio Digital Stereo (IEC958)"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-usb"
    ports:
        iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
            properties:
                
    active port: <iec958-stereo-output>

Is it significant that the sink with ID 1 that includes the internal speakers and the headphones lists used by: 0?

I am happy to provide more information if necessary.

Edit: Temporarily moving one sink input

Inspired by this answer I was able to change the sink of a single input to play on the internal speakers again by running:

pacmd move-sink-input 610 1

(where 610 is from pacmd list-sink-inputs and 1 is the index from the sink listed above).

However this is only works temporarily (I have no clue why it switches back) and only affects one of the inputs. I'd like to find a solution that let's me go back to my previous setup in which I can use the Gnome settings to switch what device audio is played on.

My question:

How can I debug and fix the wrong routing of audio and go back to the way it was before: I was able to select the audio device in the Gnome settings?

4
  • 1
    One curious observation: In Zoom (the video conferencing software), the internal speakers do work. When testing other software such as VLC, I was also able to play sound on the internal speakers. However, in Firefox and — most peculiarly — when using the "Test" functionality of the Gnome sound settings, sound is always routed to the docking station. Oct 5, 2021 at 8:01
  • I have the same issue and the same behaviour, with Zoom the speakers works well but with Slack and browsers not. I can hear message sound (like notifications) but I cannot hear audio from other sources. Dec 9, 2021 at 8:28
  • The issue had disappeared after I had purged and re-installed a lot of sound related packages. Unfortunately, now it resurfaced again (with a different speaker). I am still at a loss what the problem is. Jan 25, 2022 at 13:59
  • I have the same strange problem happening to me randomly on a Thursday afternoon when everything has worked well for years (no upgrade done in the four days before). I now use pavucontrol as a workaround. Mar 31, 2022 at 19:26

1 Answer 1

3

I can (at least temporarily) resolve the problem by using pavucontrol to change the output device for specific applications.

The problem seems to be that both applications Firefox and Gnome Settings are configured to use a wrong audio device. I don't know the cause but for some reason switching the output device in Gnome Settings does not affect how audio is routed for any of the applications that use audio.

However, when using pavucontrol I can change the audio device for each application separately. This makes Firefox use the correct output device again.

Install it with:

sudo apt install pavucontrol

Run the application. Several applications that use audio are listed in the tab Playback. I chose the correct audio device in the dropdown next to the entry for Firefox.

2
  • This fixed for me the problem as a workaround. Mar 31, 2022 at 19:24
  • This helped as I could disable the docking station as a speaker Nov 13, 2022 at 14:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.