You are not logged in.
I am using a Lenovo ThinkPad with Intel CPU/Graphics/Audio.
If the Laptop is not connected to the dock, audio works (mostly [1]) and the output of `wpctl status` is:
[...]
Audio
├─ Devices:
│ 34. Core Ultra 200H/200V Series Processors HD Audio [alsa]
│
├─ Sinks:
│ 55. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 1 Output [vol: 1.00]
│ 59. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 3 Output [vol: 1.00]
│ * 60. Core Ultra 200H/200V Series Processors HD Audio Speaker [vol: 0.25]
│ 61. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 2 Output [vol: 1.00]
│
├─ Sources:
│ 58. Core Ultra 200H/200V Series Processors HD Audio Stereo Microphone [vol: 1.00]
│ * 97. Core Ultra 200H/200V Series Processors HD Audio Digital Microphone [vol: 1.00]
│
├─ Filters:
│
└─ Streams:
Video
├─ Devices:
│ 46. Integrated RGB Camera [v4l2]
│ 47. Integrated RGB Camera [v4l2]
│ 48. Integrated RGB Camera [v4l2]
│ 49. Integrated RGB Camera [v4l2]
│
├─ Sinks:
│
├─ Sources:
│ * 79. Integrated RGB Camera (V4L2)
│ 81. Integrated RGB Camera (V4L2)
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
0. Audio/Sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sinkAfter plugging in the Laptop to the dock, audio stops working and the output of `wpctl status` is:
[...]
Audio
├─ Devices:
│ 34. Core Ultra 200H/200V Series Processors HD Audio [alsa]
│ 56. ThinkPad USB-C Dock Gen2 USB Audio [alsa]
│
├─ Sinks:
│ 54. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 1 Output [vol: 1.00]
│ 57. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 2 Output [vol: 1.00]
│ 58. Core Ultra 200H/200V Series Processors HD Audio Headphones [vol: 1.00]
│ 97. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 3 Output [vol: 1.00]
│ * 109. ThinkPad USB-C Dock Gen2 USB Audio Analog Stereo [vol: 0.50]
│
├─ Sources:
│ 53. Core Ultra 200H/200V Series Processors HD Audio Digital Microphone [vol: 1.00]
│ 63. Core Ultra 200H/200V Series Processors HD Audio Stereo Microphone [vol: 1.00]
│ * 95. ThinkPad USB-C Dock Gen2 USB Audio Mono [vol: 1.00]
│
├─ Filters:
│
└─ Streams:
Video
├─ Devices:
│ 46. Integrated RGB Camera [v4l2]
│ 47. Integrated RGB Camera [v4l2]
│ 48. Integrated RGB Camera [v4l2]
│ 49. Integrated RGB Camera [v4l2]
│
├─ Sinks:
│
├─ Sources:
│ * 79. Integrated RGB Camera (V4L2)
│ 81. Integrated RGB Camera (V4L2)
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
0. Audio/Sink alsa_output.usb-Lenovo_ThinkPad_USB-C_Dock_Gen2_USB_Audio_000000000000-00.analog-stereoI have sof-firmware installed.
I suspect, that it is not playing audio, because there is no speaker connected to the dock. However i don't understand why i can't swap back to the internal speakers.
I have tried to disable the dock using an also monitor rule in "/usr/share/wireplumber/wireplumber.conf.d/alsa-dock.conf":
monitor.alsa.rules = [
{
matches = [
{
node.name = "~alsa_output.usb-Lenovo_ThinkPad_USB-C_Dock_Gen2_USB_Audio_000000000000-00.analog-stereo"
}
]
actions = {
update-props = {
device.disable = true
}
}
}
]I am not sure whether this syntax is correct or it is the right approach. It did not work.
[1] Mostly working, because sometimes i cant change the volume for a while.
Last edited by bonsaiiv (2026-08-10 14:43:04)
Offline
What makes you think that you can't switch back to the integrated card? Everything get's detected as distinct sinks, so a simple
wpctl set-default 58 #Assuming your second output, double check with infoshould work, does it not?
As for the disable rule, you are making two mistakes that could lead to this,
you shouldn't populate /usr/share with user configs, those are usually reserved for the system, use something in /etc.
You are matching on the node but try to disable the device, while they are not in the same context anymore, you'd rather do
monitor.alsa.rules = [
{
matches = [
{
device.name = "alsa_card.usb-Lenovo_ThinkPad_USB-C_Dock_Gen2_USB_Audio_000000000000-00"
}
]
actions = {
update-props = {
device.disable = true
}
}
}
]or so
See https://wiki.archlinux.org/title/WirePl … evice/node as well.
Online
What makes you think that you can't switch back to the integrated card? Everything get's detected as distinct sinks, so a simple
wpctl set-default 58 #Assuming your second output, double check with infoshould work, does it not?
If you look closely, there is a difference in the list of detected sinks for the internal card, before and after the dock is plugged in. The node
60. Core Ultra 200H/200V Series Processors HD Audio Speakeris not listed as sink after i plug in my dock. Instead the headphone-sink is detected. I tried to change to the headphone-sink of the internal card (which has the id 58, that you suggested). This had no effect, possibly because there are no headphones connected.
PS: After looking again closely, i now understand that the default device changed, but it had no impact on the device in use. I changed the default to the speaker, but the dock is still in use. However your suggestion worked for the microphone:
[...]
Audio
├─ Devices:
│ 52. Core Ultra 200H/200V Series Processors HD Audio [alsa]
│ 67. ThinkPad USB-C Dock Gen2 USB Audio [alsa]
│
├─ Sinks:
│ 48. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 2 Output [vol: 1.00]
│ 51. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 3 Output [vol: 1.00]
│ 53. Core Ultra 200H/200V Series Processors HD Audio HDMI / DisplayPort 1 Output [vol: 1.00]
│ * 55. ThinkPad USB-C Dock Gen2 USB Audio Analog Stereo [vol: 0.50]
│ 66. Core Ultra 200H/200V Series Processors HD Audio Headphones [vol: 1.00]
│
├─ Sources:
│ * 56. Core Ultra 200H/200V Series Processors HD Audio Digital Microphone [vol: 1.00]
│ 76. ThinkPad USB-C Dock Gen2 USB Audio Mono [vol: 1.00]
│ 80. Core Ultra 200H/200V Series Processors HD Audio Stereo Microphone [vol: 1.00]
│
├─ Filters:
│
└─ Streams:
Video
├─ Devices:
│ 68. Integrated RGB Camera [v4l2]
│ 69. Integrated RGB Camera [v4l2]
│ 72. Integrated RGB Camera [v4l2]
│ 82. Integrated RGB Camera [v4l2]
│
├─ Sinks:
│
├─ Sources:
│ 36. Integrated RGB Camera (V4L2)
│ * 38. Integrated RGB Camera (V4L2)
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
0. Audio/Sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink
1. Audio/Source alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__sourceAs for the disable rule, you are making two mistakes that could lead to this,
you shouldn't populate /usr/share with user configs, those are usually reserved for the system, use something in /etc.
You are matching on the node but try to disable the device, while they are not in the same context anymore, you'd rather do [...]
See https://wiki.archlinux.org/title/WirePl … evice/node as well.
Thanks for the hint. I misunderstood the documentation of wireplumber and thought "wireplumber.conf.d/" needed to be next to the "wireplumber.conf", that is in use.
Is there a way to reload wireplumber, that does not require a reboot?
How can i check whether the configuration actually applies?
I moved the config to ".config/..." and changed it to match the device.
I tried to reload it with
systemctl restart --user wireplumberand by restarting but it seems to have no effect.
New config:
monitor.alsa.rules = [
{
matches = [
{
device.name = "alsa_card.usb-Lenovo_ThinkPad_USB-C_Dock_Gen2_USB_Audio_000000000000-00"
}
]
actions = {
update-props = {
device.disable = true
}
}
}
]Last edited by bonsaiiv (2026-08-11 08:57:59)
Offline