HDHomeRun: Linux/OSX command line reference for hdhomerun_config

You use hdhomerun_config to manually configure HDHomeRun to stream video to a PC running VLC…

You will need:

VLC – http://www.videolan.org/vlc/
hdhomerun_config – http://www.silicondust.com/forum/viewtopic.php?t=1923

1) Discover HDHomeRun

Run “hdhomerun_config discover” to find the HDHomeRun units on the local network.

If you have more than one HDHomeRun on your network then replace the wildcard FFFFFFFF Device ID in the examples with the Device ID of the HDHomeRun you wish to control.

2) Run a channel scan

hdhomerun_config FFFFFFFF scan /tuner0

3) Set the channel

hdhomerun_config FFFFFFFF set /tuner0/channel 8vsb:
hdhomerun_config FFFFFFFF set /tuner0/channel qam:

Note that the channel is the physical ATSC channel, not the channel advertised by the TV station. Antennaweb.org is a good site for determining which stations are nearby and what physical channels they operate on: http://www.antennaweb.org/aw/Address.aspx

Check the signal strength using the following command:
hdhomerun_config FFFFFFFF get /tuner0/status

4) Select the program number

hdhomerun_config FFFFFFFF get /tuner0/streaminfo

hdhomerun_config FFFFFFFF set /tuner0/program

5) Launch VLC and open network stream
From the command line:
vlc udp://@:1234

From the GUI:
Launch VLC
File -> Open Network Stream
Choose UDP/RTP, Port 1234

6) Set the target for the video stream

hdhomerun_config FFFFFFFF set /tuner0/target :1234

Note that the target setting is automatically cleared if the target machine is not listening on the specified port. ie if VLC is not running or you quit VLC.


Check the signal strength using the following command:
hdhomerun_config FFFFFFFF get /tuner0/status

Check the target using the following command:
hdhomerun_config FFFFFFFF get /tuner0/target

If it reports “none” then most likely the pc was not listening on the target port and the ip/port was automatically cleared. Double check the following and then set the target again:
– Check that VLC is running and is using “udp://@” or “udp://@:1234”.
– Check the IP address of the machine VLC is running on.
– Check that the port is not blocked by a firewall.

If the target is correct and the LED on the HDHomeRun indicates it is streaming video then the most likely problem is a firewall blocking the port (UDP port 1234 used in this example).

, , ,

2 responses to “HDHomeRun: Linux/OSX command line reference for hdhomerun_config”

  1. I ended up not liking the entering multiple commands, as some others have noted. wrote a script ‘hdtune.sh’ that takes the ‘channel’ and ‘program’ numbers as parameters and launches vlc tunes one of the tuners, and points the tuner at the client. It looks like:

    vlc udp://@:1234 &
    sleep 1
    hdhomerun_config FFFFFFFF set /tuner1/channel qam:${1}
    hdhomerun_config FFFFFFFF set /tuner1/program ${2}
    hdhomerun_config FFFFFFFF set /tuner1/target

    Obviously no error checking here, and you’ll need to change the IP address as appropriate.

    I told the script to sleep for a second after launching vlc, as not doing so was giving me occasions where the port wasn’t ready for the stream. Also change qam: to 8vsb: as appropriate for off the air in your area.

    To get a usefull listing of channels in use, I used the command

    hdhomerun_config FFFFFFFF scan /tuner0 | grep -B 2 PROGRAM

    This gives each program line and the two preceding lines, which give you the channel number as well as the lock type (qam or 8tsc) You can then use the resuts which look something like:

    SCANNING: 599000000 (us-bcast:35)
    LOCK: 8vsb (ss=80 snq=20 seq=100)
    PROGRAM: 3: 11.1 KARE-HD
    PROGRAM: 4: 11.2 KARE-WX

    to generate a table like:

    11.1 “KARE-HD” 35 3
    11.2 “KARE-WX” 35 4

    Ultimately I may throw together a script that you give it the channel label you want, and it starts vlc and points hdhomerun to that program and client. A status and tuner app might be a better solution though, we’ll see.

Leave a Reply