[mythtv] HDHomeRun discover broadcast

Jafa hdtv at silicondust.com
Tue Oct 31 09:36:47 UTC 2006


Hi guys,

The HDHomeRun uses a simple address resolution protocol over broadcast
UDP. The HDHomeRun with the matching DeviceID responds to the UDP
broadcast thus telling the requestor the IP address of the HDHomeRun.

The version of the hdhomerun lib used in MythTV sends out a global
broadcast (255.255.255.255). If the machine has multiple interfaces then
it looks like Linux will only send it out one interface. Windows also
does weird things - it will send it out all interfaces but with the
source address from only one interface.

The solution is to iterate all IP addresses on all interfaces to send
out subnet-broadcasts.

I have this working under Windows using the built in API and under Linux
using the netlink/route2 API.

The potential issue is that this fix introduces a new library
dependency. The Ubuntu distribution includes the library as standard but
you need to install libnl-dev and route2-dev for it to compile.

What is the policy/process for handling adding library dependencies to
MythTV?

For supporting other platforms (non windows, non linux) it will send out
a global broadcast as before.

Nick




More information about the mythtv-dev mailing list