This is an old revision of the document!
SiliconDust TECH manual
Hardware
Ethernet
Connect the Ethernet port(s) to a network switch. On models with multiple ports, all ports must be connected in order for all tuners to be accessible. A single port can be directly connected to the network interface on a PC to access that specific device. All ports are auto-crossover so a standard Ethernet cable can be used.
Additional Tools and Software
Firmware
Firmware downloads: https://www.silicondust.com/support/tech/
Windows
Download and install the latest Windows release of the HDHomeRun software: https://download.silicondust.com/hdhomerun/hdhomerun_tech_windows.exe
The HDHomeRun Setup wizard is optional.
When the installation process is complete it is recommended that the HDHomeRun program directory be added to the PATH so that the hdhomerun_config utility can be run from a cmd prompt. The default program directory is “C:\Program Files\Silicondust\HDHomeRun\”
Linux
Download and extract the libhdhomerun archive.
Run “make” to compile hdhomerun_config (systems that use a non-GNU make by default may need to install and use “gmake” instead).
Copy hdhomerun_config to /usr/local/bin
Command Line Utility (hdhomerun_config)
Open a command prompt or terminal window and change directory to the HDHomeRun installation directory: “C:\Program Files\Silicondust\HDHomeRun\”
The list of supported commands can be obtained by running hdhomerun_config without any parameters:
hdhomerun_config discover hdhomerun_config <id> get help hdhomerun_config <id> get <item> hdhomerun_config <id> set <item> <value> hdhomerun_config <id> scan <tuner> [<filename>] hdhomerun_config <id> save <tuner> <filename> hdhomerun_config <id> upgrade <filename>
Discover devices on the network
The discover command will find devices that are on the same subnet as the host:
hdhomerun_config discover
Sending commands to a specific device
The “<id>” shown above represents a unique identifier for a device, this can be either Device ID, or IP address:
hdhomerun_config <device id> get help hdhomerun_config <ip address> get help
To address by Device ID the device must be on the same subnet as the host.
A Device ID of FFFFFFFF can be used as a wild card for the first device found on the network. Do not use this syntax if there are multiple devices on the network, as the device used will be random based on discovery order, which may change between commands.
Supported Commands
The get/set options supported by a specific device can be queried using the get help command:
hdhomerun_config <id> get help
Example output:
| /card/status | Get status of CableCARD (6CC only) |
| /oob/channel | <modulation>:<freq> Get/set out of band channel (6CC only) |
| /oob/debug | Get out of band channel debug info (6CC only) |
| /oob/status | Get out of band channel status info (6CC only) |
| /sys/boot | <config> Get/set boot configuration |
| /sys/copyright | Get copyright information |
| /sys/debug | Get/set system debug information |
| /sys/features | Get system feature information |
| /sys/hwmodel | Get system hardware model string |
| /sys/ipaddr dhcp|"<ip> <mask> <gw> <dns>" | Get/set system IP address |
| /sys/model | Get/set model string |
| /sys/restart | <resource> Restart device/component |
| /sys/version | Get firmware version |
| /tuner<n>/channel <modulation>:<freq|ch> | Get/set channel |
| /tuner<n>/channelmap <channelmap> | Get/set channelmap |
| /tuner<n>/debug | Get tuner debug information |
| /tuner<n>/filter “0x<nnnn>-0x<nnnn> […]” | Get/set tuner PID filter |
| /tuner<n>/lockkey | Get/set tuner locking |
| /tuner<n>/plotsample | Get raw plotsample data from tuner |
| /tuner<n>/program <program number> | Get/set MPEG program |
| /tuner<n>/streaminfo | Get list of programs on current channel |
| /tuner<n>/status | Get tuner status |
| /tuner<n>/target <ip>:<port> | Get/set stream target |
| /tuner<n>/vchannel <vchannel> | Get/set virtual channel number (6CC only) |
| /tuner<n>/vstatus | Get/set subscription/protection status (6CC only) |
Channel scan
To run a channel scan:
Format: hdhomerun_config <id> scan /tuner<n> [log filename] Example: hdhomerun_config FFFFFFFF scan /tuner0 scan0.log
This command will scan all channels on the selected channel map plus any additional channel maps associated with the selected channel map. All standard modulation types for the selected channel map are tested.
When a digital channel is found it will identify the programs on the channel.
The log filename is optional; if included it will log to the given filename.
Tuning a physical channel
To set a channel use the set channel command:
Format: hdhomerun_config <id> set /tuner<n>/channel <modulation>:<frequency> Format: hdhomerun_config <id> set /tuner<n>/channel <modulation>:<channel> Example: hdhomerun_config FFFFFFFF set /tuner0/channel auto:651000000 Example: hdhomerun_config FFFFFFFF set /tuner0/channel auto:60
To auto-detect the modulation type use “auto” for the modulation.
Supported modulation types can be queried with the get sys-features command:
hdhomerun_config <id> get /sys/features
To stop the tuner set the channel to none:
Format: hdhomerun_config <id> set /tuner<n>/channel none Example: hdhomerun_config FFFFFFFF set /tuner0/channel none
Tuning a virtual channel (TECH3-6CC only)
To set a virtual channel use the set vchannel command:
Format: hdhomerun_config <id> set /tuner<n>/vchannel <virtual channel> Example: hdhomerun_config FFFFFFFF set /tuner0/vchannel 702
To stop the tuner set the vchannel to none:
Format: hdhomerun_config <id> set /tuner<n>/vchannel none Example: hdhomerun_config FFFFFFFF set /tuner0/vchannel none