Package: pipewire Version: 0.3.42-1 Severity: important Dear Maintainer,
I have a headset that I connect with a USB dongle. It used to work in December. Today, sound output still works, but not input. I can select the headset as input source in gnome settings, I see it in pavucontrol, etc, but they don't actually get any sound (unlike the internal mic of the laptop, for which I see a bar that moves when I talk). In the log, I first see Jan 7 12:17:57 hippo /usr/libexec/gdm-x-session[1449]: (II) event10 - EPOS EPOS BTD 800 Consumer Control: is tagged by udev as: Keyboard Hmm, no, that's a headset... But whatever, this also happens on a debian stable system where the headset still works. Then Jan 7 11:06:18 hippo pipewire[1542]: spa.alsa: 0x55da812704c8: card already opened at rate:48000 Jan 7 11:06:18 hippo pipewire[1542]: pw.node: (alsa_input.usb-EPOS_EPOS_BTD_800_A000871203310101-00.mono-fallback-93) suspended -> error (Start error: Invalid argument) Jan 7 11:06:18 hippo pipewire[1542]: spa.audioadapter: params Spa:Enum:ParamId:EnumFormat: 0:0 (convert format) Success Jan 7 11:06:18 hippo pipewire[1542]: Object: size 160, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3) Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Id 1 (Spa:Enum:MediaType:audio) Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Id 1 (Spa:Enum:MediaSubtype:raw) Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:Audio:format (65537), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Id 259 (Spa:Enum:AudioFormat:S16LE) Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:Audio:rate (65539), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Int 16000 Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:Audio:channels (65540), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Int 1 Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:Audio:position (65541), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Array: child.size 4, child.type Spa:Id Jan 7 11:06:18 hippo pipewire[1542]: Id 2 (Spa:Enum:AudioChannel:MONO) Jan 7 11:06:18 hippo pipewire[1542]: Object: size 216, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3) Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Id 1 (Spa:Enum:MediaType:audio) Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Id 1 (Spa:Enum:MediaSubtype:raw) Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:Audio:format (65537), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Choice: type Spa:Enum:Choice:None, flags 00000000 24 4 Jan 7 11:06:18 hippo pipewire[1542]: Id 259 (Spa:Enum:AudioFormat:S16LE) Jan 7 11:06:18 hippo pipewire[1542]: Id 259 (Spa:Enum:AudioFormat:S16LE) Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:Audio:rate (65539), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4 Jan 7 11:06:18 hippo pipewire[1542]: Int 16000 Jan 7 11:06:18 hippo pipewire[1542]: Int 48000 Jan 7 11:06:18 hippo pipewire[1542]: Int 16000 Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:Audio:channels (65540), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Choice: type Spa:Enum:Choice:None, flags 00000000 20 4 Jan 7 11:06:18 hippo pipewire[1542]: Int 1 Jan 7 11:06:18 hippo pipewire[1542]: Prop: key Spa:Pod:Object:Param:Format:Audio:position (65541), flags 00000000 Jan 7 11:06:18 hippo pipewire[1542]: Array: child.size 4, child.type Spa:Id Jan 7 11:06:18 hippo pipewire[1542]: Id 2 (Spa:Enum:AudioChannel:MONO) Jan 7 11:06:18 hippo pipewire[1542]: spa.audioadapter: failed filter: Jan 7 11:06:30 hippo pipewire[1542]: spa.audioadapter: params Spa:Enum:ParamId:EnumFormat: 0:0 (convert format) Success Jan 7 11:06:30 hippo pipewire[1542]: Object: size 160, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3) etc I have packages (with "wire") gstreamer1.0-pipewire:amd64/testing 0.3.42-1 uptodate libpipewire-0.3-0:amd64/testing 0.3.42-1 uptodate libpipewire-0.3-common:all/testing 0.3.42-1 uptodate libpipewire-0.3-modules:amd64/testing 0.3.42-1 uptodate libwireplumber-0.4-0:amd64/testing 0.4.5-1 uptodate pipewire:amd64/testing 0.3.42-1 uptodate pipewire-bin:amd64/testing 0.3.42-1 uptodate pipewire-pulse:amd64/testing 0.3.42-1 uptodate wireplumber:amd64/testing 0.4.5-1 uptodate (with "pulse") gstreamer1.0-pulseaudio:amd64/testing 1.18.5-1+b1 uptodate libcanberra-pulse:amd64/testing 0.30-8 uptodate libkf5pulseaudioqt3:amd64/testing 1.3-2 uptodate libpulse-dev:amd64/testing 15.0+dfsg1-3 uptodate libpulse-mainloop-glib0:amd64/testing 15.0+dfsg1-3 uptodate libpulse0:amd64/testing 15.0+dfsg1-3 uptodate libpulsedsp:amd64/testing 15.0+dfsg1-3 uptodate pipewire-pulse:amd64/testing 0.3.42-1 uptodate pulseaudio:amd64/testing 15.0+dfsg1-3 uptodate pulseaudio-module-bluetooth:amd64/testing 15.0+dfsg1-3 uptodate pulseaudio-module-gsettings:amd64/testing 15.0+dfsg1-3 uptodate pulseaudio-utils:amd64/testing 15.0+dfsg1-3 uptodate Since many people were complaining about wireplumber, I tried pipewire-media-session but the error remained the same. I found https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1916 and followed their advice to add ["api.alsa.multi-rate"] = true, in /usr/share/wireplumber/main.lua.d/50-alsa-config.lua and now the mic works again! Editing a file in /usr is obviously not good. I don't know if it would make sense to backport https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f8cdc05720bf13bd78e42eb6890fc2f855c8f554 for the debian package (and I haven't checked if that actually works, although it does look likely). Since this used to work, I don't know if something used to enable multi-rate, or if some new client appeared that uses a "bad" rate, that could point to another workaround. -- System Information: Debian Release: bookworm/sid APT prefers testing-debug APT policy: (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'testing'), (500, 'stable'), (50, 'unstable-debug'), (50, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.15.0-2-amd64 (SMP w/16 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages pipewire depends on: ii init-system-helpers 1.61 ii libpipewire-0.3-modules 0.3.42-1 ii pipewire-bin 0.3.42-1 pipewire recommends no packages. pipewire suggests no packages. -- no debconf information