[Pkg-utopia-maintainers] Bug#1003273: pipewire: headset mic not working

Marc Glisse marc.glisse at normalesup.org
Fri Jan 7 11:58:54 GMT 2022


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



More information about the Pkg-utopia-maintainers mailing list