[mythtv] HDHomeRun discover broadcast
hdtv at silicondust.com
Tue Oct 31 09:36:47 UTC 2006
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
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
For supporting other platforms (non windows, non linux) it will send out
a global broadcast as before.
More information about the mythtv-dev