Sunday, August 6, 2023

Finding your missing HDHomeRun after updating to firmware 20230505 or more...

If after you update your HDHomeRun from SiliconDust to firmware version 20230505 you may find that you can no longer see the tuners in tvheadend's configuration screen and you get the "no devices found" response from the command line hdhomerun_config discover command.

If you specify the HDHomeRun's ipv4 address it works:

$ hdhomerun_config 192.168.1.20 get help
Supported configuration options:
/lineup/scan
/sys/copyright
/sys/debug
/sys/features
/sys/hwmodel
/sys/model
The problem is caused by the march of progress - SiliconDust has discarded the old ipv4 UDP broadcast method to scan your network for HDHomeRuns in its latest firmware for the much more powerful standard ipv6 multicast.

SiliconDust has actually fixed this problem in its newer versions of libhdhomerun - support was first added on March the 16th 2023. [Note there are further improvements to the ipv6 added a bit later so always choose the latest version: https://github.com/Silicondust/libhdhomerun.]

However, updating the internal library or system library of your Linux installation is no trivial matter, but there is a working solution for current tvheadend - you can specify an IP address for your HDHomeRun in tvheadend's config file. 

Firstly set a static IP for the HDHomeRun by assigning a static DHCP lease to it through your router - this is router specific so I cannot help you here.

[If running tvheadend in a docker container (I use https://hub.docker.com/r/linuxserver/tvheadend) enter the container with:

docker exec -it <running container code> bash 

]

Now edit the tvheadend config file config, (/etc/tvheadend/config or /config/config and search for this line:  

         "hdhomerun_ip": "",

and enter the ipv4 address of your HDHomeRun in between the "". 

Restart tvheadend and you are done!

Solving mine was as easy as:

         "hdhomerun_ip": "192.168.1.20",