New media server

I have used mt-daapd, together with my SoundBridge devices, for several years now. It works well except that is disconnects after about one hour. Also it is discontinued. Therefore I'll try some new options in OpenBSD to see if I can find a replacement.

Coherence UPnP server

Before succeding with coherence setup I tried PlayBack on MacOS X to test UPnP capability of the SoundBridge.

Because coherence is based on UPnP networking which in turn uses multicast IP networking it is neccesary to setup a static route to a virtual multicast network.

route -nv add -interface 224/4

Rather you need to activate MULTICAST_HOST in rc.conf ...

This means setup a static route to 224/4 network, i.e. addresses which is a reserved IP class for specifically for multicasting. 224/4 is stated to be directly reachable (without any gateway hopping) via -interface modifier. Stating is just a way to say that the network is reachable via re0. Check routing with netstat.

# netstat -rn                                
Routing tables

Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default          UGS        3     4637     -     8 re0
127/8              UGRS       0        0 33200     8 lo0          UH         1       75 33200     4 lo0
192.168.0/24       link#1             UC         2        0     -     4 re0        00:40:63:ed:a0:dc  UHLc       1        0     -     4 re0      00:16:cb:ab:fd:fb  UHLc       1     2158     -     4 re0
224/4              link#1             UCS        0        0     -     8 re0

Test multicast by ping and tcpdump.

tcpdump -ni en0 host  # on the server
ping -t 1 -c 2 # on any client
ping -c 2 # actually works

Coherence complains about inotify support. I suspect that this has something to do with fam or gamin in OpenBSD 4.7. See background in Inotify, FAM and Gamin.

Audio format transcoding. TBD. AAC/m4p doesn't seem to be supported.

PF configuration. TBD.

Does multicast routing have to be enabled. No routing within one single subnet??

net.inet.ip.mforwarding=1      # 1=Permit forwarding (routing) of IPv4 multicast packets

Enabling transcoding

From OpenBSD 4.8 coherence is part of ports. So installation is a simple. Transcoding is supported by py-gstreamer. I also install dbus support to remove one warning at start up. I create a config file under /etc/coherence.conf.

pkg_add coherence
pkg_add py-gstreamer
pkg_add dbus-python
coherence -c /etc/coherence.conf


Squeezecenter is not allowed to be included as FTP or CD-ROM so it must be installed from ports. Assuming that you have ports source installed.

cd /usr/ports/audio/squeezecenter
make print-run-depends
pkg_add <all dependent packages> # This will save a lot of time
make package # optional, just to check
make install

Start slimserver and configure via web interface, http://localhost:9000.

It shows up on SoundBridge but when I try to connect nothing happens.


MediaTomb is ported to OpenBSD and will be part of OpenBSD 4.9.


MiniDLNA MiniDLNA is the DLNA server used in Netgear NAS servers. It is available in OpenBSD is and is very easy to use.