On Sun, 2017-01-01 at 19:30 +0100, Linux User #330250 wrote: > Hello! > > > I have an Apple Airport Express (1st version) and wanted to finally use > its RAOP function in Linux. But I have a couple of problems with it and > don't know how to get past them... so I thought, I'll ask for help. > > > Help! > > > My setup: > > 1. The Airport Express in the LAN (local, RJ45) and has a static IP > 192.168.1.21. > > 2. The PC has another static IP 192.168.1.47, it runs Debian testing amd64. > > 3. The router is running pfSense (current Community Edition), provides a > DHCP server and is configured with static IP addresses for known devices > (a list that I manage manually). All of them are also reachable by local > DNS names, i.e. "airport" is the same as 192.168.1.21. > > > So, I installed pulseaudio-module-raop on Debian (apt install). I > followed https://wiki.ubuntuusers.de/PulseAudio/AirTunes/ and also > installed paprefs. > > Using paprefs, I checked "Make discoverable Apple AirTunes sound devices > available locally". After a reboot I see TWO devices with the DNS name > of my AirPort Express WLAN router. But none worked. > > > I checked pactl list modules and found that their IP addresses are > completely wrong: 169.254.145.142:5000. So I tried to load the modules > manually. I removed the wrong ones with "pactl unload-module ##" (the > modules number from the list) and reloaded the module: > > pactl load-module module-raop-sink server=airport sink_name=raop.AirPort > > (server=192.168.1.21 works just the same) > > That worked. > > > Modul #35 > > Name: module-raop-sink > > Argument: server=airport sink_name=raop.AirPort > > Usage counter: 1 > > Properties: > > module.author = "Colin Guthrie" > > module.description = "RAOP Sink" > > module.version = "9.0" > > What did not work was to add option > sink_properties='device.description="AirPort Express"' -- the module > always failed to load that way. I am also not able to change its name > later, using: > > pacmd update-sink-proplist raop.AirPort device.description="AirPort Express" > > only writes "Failed to parse proplist." I also tried module.description, > which also failed. The failure is probably because of quoting issues. I'm not sure what was wrong when you tried to add the sink_properties argument when loading the module, but the update-sink-proplist command will definitely fail, because the quotes around "AirPort Express" will be removed by the shell, so pulseaudio will see this: device.description=AirPort Express "Express" gets interpreted as a property name, and parsing fails because it's not followed by '='. > Anyway, I can now see the "sink" as an output choice in pacucontrol and > I can make an application use this output for sound. > > This is partly success -- finally I got the module loaded correctly! > > > Only, the sound doesn't work. I get parts of the sound every 2-4 seconds > or so, inbetween is silence. The sound piece that comes through is about > 1/3rd of a second long (or less). > > > I see the same effect both on the output device itself (I hear the sound > as mentioned: only pieces of it now and then) as well as I see the > levels likewise in pavocontrol on this output sink. So I assume that the > problem is in the module, or in the configuration of it or in pulseaudio > configuration. > > > My questions: > > 1. What should I try or what have I done wrong in the first place? > > 2. Is there a way to get steady sound output to the RAOP device and how > do I configure this? I don't have answers to these questions. > 3. Is there a way to set the sink statically (without > module-raop-discover which gets the wrong IP addresses and creates two > devices with it) and to automatically set this up with the start of > pulseaudio? You can add modules to /etc/pulse/default.pa. -- Tanu https://www.patreon.com/tanuk