Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1031719: libpipewire-0.3-modules: pipewire module zeroconf discover filters out sources

63 views
Skip to first unread message

Landry MINOZA

unread,
Feb 21, 2023, 8:51:53 AM2/21/23
to
Package: libpipewire-0.3-modules
Version: 0.3.65-2
Severity: normal

Dear Maintainer,

Trying to use remote devices with pipewire, I don't see some devices
(specificaly a headset mic in my case).
Reproduce on 2 sid clients.

I load zeroconf module:

pactl load-module module-zeroconf-discover

When listing available devices:
Audio
├─ Devices:
│ 42. Audio interne [alsa]

├─ Sinks:
│ * 45. Audio interne Stéréo analogique [vol: 0.40]
│ 62. Starship/Matisse HD Audio Controller Stéréo analogique on landry@demetra [vol: 1.00]
│ 64. [G533 Wireless Headset Dongle] [vol: 1.00]

├─ Sink endpoints:

├─ Sources:
│ * 46. Audio interne Stéréo analogique [vol: 1.00 MUTED]
│ 60. Starship/Matisse HD Audio Controller Stéréo analogique on landry@demetra [vol: 1.00]

├─ Source endpoints:

└─ Streams:

The headset mic (source [G333 Wireless Headset Dongle] is exposed by
avahi:

❯ avahi-browse --resolve _pulse-source._tcp -t
+ wlan0 IPv4 landry@demetra: [G533 Wireless Headset Dongle] Mono PulseAudio Sound Source local
+ wlan0 IPv4 landry@demetra: Starship/Matisse HD Audio Controller St__r__o a PulseAudio Sound Source local
= wlan0 IPv4 landry@demetra: [G533 Wireless Headset Dongle] Mono PulseAudio Sound Source local
hostname = [demetra.local]
address = [2a01:e0a:8db:8861:dead:beef:0:f0f8]
port = [4713]
txt = ["description=[G533 Wireless Headset Dongle] Mono" "subtype=hardware" "channel_map=mono" "format=s16le" "channels=1" "rate=48000" "device=alsa_input.usb-Logitech_G533_Gaming_Headset-00.mono-fallback" "cookie=0x4a6f9a3a" "fqdn=demetra" "uname=Linux x86_64 6.1.0-5-amd64" "user-name=landry" "server-version=PipeWire 0.3.65"]
= wlan0 IPv4 landry@demetra: Starship/Matisse HD Audio Controller St__r__o a PulseAudio Sound Source local
hostname = [demetra.local]
address = [10.0.0.144]
port = [4713]
txt = ["description=Starship/Matisse HD Audio Controller St\195\169r\195\169o analogique" "subtype=hardware" "channel_map=front-left,front-right" "format=s32le" "channels=2" "rate=48000" "device=alsa_input.pci-0000_0a_00.4.analog-stereo" "cookie=0x4a6f9a3a" "fqdn=demetra" "uname=Linux x86_64 6.1.0-5-amd64" "user-name=landry" "server-version=PipeWire 0.3.65"]

On the remote host, this source is visible and usable:
Audio
├─ Devices:
│ 44. GM204 High Definition Audio Controller [alsa]
│ 46. [G533 Wireless Headset Dongle] [alsa]
│ 47. Starship/Matisse HD Audio Controller [alsa]
│ 122. Fairphone 4 5G [bluez5]

├─ Sinks:
│ * 39. [G533 Wireless Headset Dongle] Stéréo analogique [vol: 0.65]
│ 53. Starship/Matisse HD Audio Controller Stéréo analogique [vol: 0.25]

├─ Sink endpoints:

├─ Sources:
│ * 52. [G533 Wireless Headset Dongle] Mono [vol: 1.00]
│ 54. Starship/Matisse HD Audio Controller Stéréo analogique [vol: 1.00]


It used to work when my client host was using pulseaudio (bullseye).

-- System Information:
Debian Release: bookworm/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-5-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.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 libpipewire-0.3-modules depends on:
ii libavahi-client3 0.8-8
ii libavahi-common3 0.8-8
ii libc6 2.36-8
ii libdbus-1-3 1.14.6-1
ii libglib2.0-0 2.74.5-1
ii liblilv-0-0 0.24.14-1
ii libpipewire-0.3-0 0.3.65-2
ii libpulse0 16.1+dfsg1-2+b1
ii libsndfile1 1.2.0-1
ii libssl3 3.0.8-1
ii libsystemd0 252.5-2

libpipewire-0.3-modules recommends no packages.

libpipewire-0.3-modules suggests no packages.

-- no debconf information

Landry Minoza

unread,
Feb 21, 2023, 9:10:06 AM2/21/23
to
Additionally this is what I see from a Bullseye desktop in the same network

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

$ pactl load-module module-zeroconf-discover
21

$ pactl list sources
Source #0
État : SUSPENDED
Nom : alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
[…]

Source #1
État : IDLE
Nom : tunnel.demetra.local.alsa_output.pci-0000_0a_00.4.analog-stereo.monitor
[…]

Source #2
État : IDLE
Nom : tunnel.demetra.local.alsa_input.usb-Logitech_G533_Gaming_Headset-00.mono-fallback
Description : [G533 Wireless Headset Dongle] Mono on landry@demetra
Pilote : module-tunnel.c
Spécification de l'échantillon : s16le 1ch 48000Hz
Plan des canaux : mono
Module du propriétaire : 23
Sourdine : non
Volume : mono: 65536 / 100% / 0,00 dB
       balance 0,00
Volume de base : 65536 / 100% / 0,00 dB
Moniteur de la destination : n/d
Latence : 77655 usec, configuré 250000 usec
Marqueurs : NETWORK DECIBEL_VOLUME LATENCY
Propriétés :
device.description = "[G533 Wireless Headset Dongle] Mono on landry@demetra"
tunnel.remote.server = "[10.0.0.144]:4713"
tunnel.remote.source = "alsa_input.usb-Logitech_G533_Gaming_Headset-00.mono-fallback"
device.icon_name = "audio-input-microphone"
tunnel.remote_version = "35"
tunnel.remote.user = "landry"
tunnel.remote.fqdn = "demetra"
tunnel.remote.description = "[G533 Wireless Headset Dongle] Mono"
Formats :
pcm

Source #3
État : IDLE
Nom : tunnel.demetra.local.alsa_input.pci-0000_0a_00.4.analog-stereo
[…]

Source #4
État : IDLE
Nom : tunnel.demetra.local.alsa_output.usb-Logitech_G533_Gaming_Headset-00.analog-stereo.monitor
Description : Monitor Source of [G533 Wireless Headset Dongle] Stéréo analogique on landry@demetra
Pilote : module-tunnel.c
Spécification de l'échantillon : s16le 2ch 48000Hz
Plan des canaux : front-left,front-right
Module du propriétaire : 25
Sourdine : non
Volume : front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
       balance 0,00
Volume de base : 65536 / 100% / 0,00 dB
Moniteur de la destination : tunnel.demetra.local.alsa_output.usb-Logitech_G533_Gaming_Headset-00.analog-stereo
Latence : 0 usec, configuré 250000 usec
Marqueurs : DECIBEL_VOLUME LATENCY
Propriétés :
device.description = "Monitor Source of [G533 Wireless Headset Dongle] Stéréo analogique on landry@demetra"
device.class = "monitor"
device.icon_name = "audio-input-microphone"
Formats :
pcm

--
Landry MINOZA
landry...@gmail.com

Alban Browaeys

unread,
May 2, 2023, 9:50:04 AM5/2/23
to
Likely an upstream issue.

I see the headset mic has an IPv6 address:
address = [2a01:e0a:8db:8861:dead:beef:0:f0f8]
while advertised as IPv4.

pipewire now filter IPv6 zeroconf advertisment in its zeroconf-discover
module to avoid showing duplicate entries (one for IPv4 the other for
IPv6) in the client UI this might be related.
The fact that no IPv4 service is advertised (well it is but with an
IPv6 address) might explain why the pipewire zeroconf discover module
hide your headless mic.
You could try older pipewire debs (snapshot.debian.org) as this IPv6
hide was introduced recently or simply open a bug in the upstream bug
tracker. This was introduced due to
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2031

The change was made on the publishing side ie the server is the one
were you should downgrade pipewire. The version that introduced this
behaviour is 0.6.32 so downgtrading to 0.6.31 will do. see
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2861

The fact that an IPv6 address is published in an IPv4 entry might be
another upstream pipewire bug namely inhte zeroconf-publish module.
Though before reporting to upstream you should try at least pipewire
0.3.70 from debian experimental (and maybe even upstream code).

Mind that for me 0.3.70 module-zeroconf-discover module might crash on
startup but this is another issue that I am investigating. Might not
crash for you (the crash depends on the server box adverstising which
will be different for your setup). upstream git code is also affected.
This is https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035280 not
yet reported upstream (as I have a hard time to reproduce properly with
my git master build).


Cheers,
Alban

Landry Minoza

unread,
May 23, 2023, 3:21:36 AM5/23/23
to
Thanks

It works as expected with version `0.3.70-2` from experimental.

Cheers,
Landry
--
Landry MINOZA
landry...@gmail.com
0 new messages