Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tech [2026/03/24 06:20] nedstech [2026/04/11 01:39] (current) neds
Line 1: Line 1:
 ====== SiliconDust TECH manual ====== ====== SiliconDust TECH manual ======
-<lead>Documentation relating to the commercial-grade TECH product line from SiliconDust.</lead>+<lead>Documentation relating to the commercial TECH product line from SiliconDust.</lead>
  
 ===== Hardware ===== ===== Hardware =====
 <WRAP indent> <WRAP indent>
  
 +==== Current models ====
 +<WRAP indent>
 +
 +^ Model numbers  ^ Tuners ^ Signal type ^ Size ^ 
 +^ TECH5-16US-4X4 | 16 (4 modules of 4 tuners) | ATSC 1.0, QAM64/256 | 1U 19" rack-mount | 
 +| | //Power supply information and other notes:// \\  |||
 +^ TECH5-16DT-4X4 | 16 (4 modules of 4 tuners) | DVB-T1, DVB-T2, DVB-C | 1U 19" rack-mount | 
 +| | //Power supply information and other notes:// \\  |||
 +^ TECH-4K | 4 (1 module of 4 tuners) | **Tuners 0+1:** ATSC 3.0, ATSC 1.0, QAM64/256 \\ **Tuners 2+3:** ATSC 1.0, QAM64/256 | 3.4"x3.4"x0.8"
 +| | //Power supply information and other notes:// \\ <wrap>5Volt 1.5Amp regulated power adapter (higher Amp rating ok) \\  1.7mm ID / 4.0mm OD plug, 9.5mm depth, center positive \\  Max 5.25V @ no-load \\  Min 4.75V @ 1.5A \\  Noise <= 150mVp-p </wrap> |||
 +^ TECH5-4K8-2X4 | 8 (4 modules of 2 tuners) | ATSC 3.0, ATSC 1.0, QAM64/256 | 1U 19" rack-mount | 
 +| | //Power supply information and other notes:// \\  |||
 +
 +</WRAP>
 +==== Past models (still supported) ====
 +<WRAP indent>
 +
 +<button collapse="past">Click to see table of past models</button>
 + 
 +<collapse id="past" collapsed="true">
 +
 +^ Model numbers  ^ Tuners ^ Signal type ^ Size ^ 
 +| TECH-US | 
 +| TECH3-US | 
 +| TECH3-8US-2X4 | 
 +| TECH4-2US | 
 +| TECH4-8US-2X4 | 
 +| TECH4-8IS-2X4 | 
 +| TECH3-EU | 
 +| TECH3-8EU-2X4 | 
 +| TECH4-2DT | 
 +| TECH4-8DT-2X4 | 
 +| TECH3-6CC-3X2 | 
 +| TECH3-3CC | 
 +| TECH3-8DC-4X2 | 
 +| TECH5-16DC-4X4 | 
 +</collapse>
 +
 +</WRAP>
 +==== LEDs and ports ====
 +<WRAP indent>
 +
 +
 +
 +</WRAP>
 +==== Power ====
 +<WRAP indent>
 +
 +All devices should be used with the included power supply or power cable.
 +
 +</WRAP>
 ==== Ethernet ==== ==== Ethernet ====
 <WRAP indent> <WRAP indent>
Line 25: Line 76:
 <WRAP indent> <WRAP indent>
  
-Download and install the latest Windows release of the HDHomeRun software: https://download.silicondust.com/hdhomerun/hdhomerun_tech_windows.exe+Download and install the latest Windows release of TECH Setup utility: https://download.silicondust.com/hdhomerun/hdhomerun_tech_windows.exe
  
 The HDHomeRun Setup wizard is optional. The HDHomeRun Setup wizard is optional.
Line 35: Line 86:
 <WRAP indent> <WRAP indent>
  
-Download and extract the libhdhomerun archive.+Download and extract the libhdhomerun archive: https://download.silicondust.com/hdhomerun/libhdhomerun.tgz
  
 Run "make" to compile hdhomerun_config (systems that use a non-GNU make by default may need to install and use "gmake" instead). Run "make" to compile hdhomerun_config (systems that use a non-GNU make by default may need to install and use "gmake" instead).
Line 110: Line 161:
 <code> <code>
 /card/status Get status of CableCARD (6CC only) /card/status Get status of CableCARD (6CC only)
-/oob/channel <modulation>:<freq> Get/set out of band channel (6CC only) +/oob/channel <modulation>:<freq> Get/set out of band channel (TECH3-CC only) 
-/oob/debug Get out of band channel debug info (6CC only) +/oob/debug Get out of band channel debug info (TECH3-CC only) 
-/oob/status Get out of band channel status info (6CC only)+/oob/status Get out of band channel status info (TECH3-CC only)
 /sys/boot <config> Get/set boot configuration /sys/boot <config> Get/set boot configuration
 /sys/copyright Get copyright information /sys/copyright Get copyright information
Line 120: Line 171:
 /sys/ipaddr dhcp|"<ip> <mask> <gw> <dns>" Get/set system IP address /sys/ipaddr dhcp|"<ip> <mask> <gw> <dns>" Get/set system IP address
 /sys/model Get/set model string /sys/model Get/set model string
-/sys/restart <resource> Restart device/component+/sys/restart <resource> Restart device/component, example "restart self" will reboot the unit
 /sys/version Get firmware version /sys/version Get firmware version
 /tuner<n>/channel <modulation>:<freq|ch> Get/set channel /tuner<n>/channel <modulation>:<freq|ch> Get/set channel
Line 132: Line 183:
 /tuner<n>/status Get tuner status /tuner<n>/status Get tuner status
 /tuner<n>/target <ip>:<port> Get/set stream target /tuner<n>/target <ip>:<port> Get/set stream target
-/tuner<n>/vchannel <vchannel> Get/set virtual channel number (6CC only+/tuner<n>/target forward ATSC 3.0 only. Forwards all multicast IP packets to the LAN 
-/tuner<n>/vstatus Get/set subscription/protection status (6CC only)+/tuner<n>/vchannel <vchannel> Get/set virtual channel number (TECH3-CC, TECH4 and later
 +/tuner<n>/vstatus Get/set subscription/protection status (TECH3-CC only) 
 +/tuner<0|1>/plpinfo ATSC 3.0 only 
 +/tuner<0|1>/l1detail ATSC 3.0 only
 </code> </code>
 </WRAP> </WRAP>
Line 189: Line 243:
  
 </WRAP> </WRAP>
-==== Tuning a virtual channel (TECH3-CC only) ====+==== Tuning a virtual channel ====
 <WRAP indent> <WRAP indent>
 +TECH3-CC, TECH4, and later models support tuning by virtual channel number.
  
 To set a virtual channel use the set vchannel command: To set a virtual channel use the set vchannel command:
Line 322: Line 377:
 <WRAP indent> <WRAP indent>
  
-TECH3 and later supports automatic PID filtering by program number or virtual channel number:+Automatic PID filtering by program number or virtual channel number:
  
 <WRAP indent> <WRAP indent>
Line 417: Line 472:
 </WRAP> </WRAP>
  
-The target machine must be listening on the given UDP port. The TECH3 will automatically clear the target if a ICMP port unreachable message is received when sending to a unicast address. To override this, add no_clear to the target.+The target machine must be listening on the given UDP port. The TECH will automatically clear the target if a ICMP port unreachable message is received when sending to a unicast address. To override this, add no_clear to the target.
  
 <WRAP indent> <WRAP indent>
Line 500: Line 555:
 </WRAP> </WRAP>
  
-===== HTTP Streaming (TECH3-CC only) =====+===== HTTP Streaming =====
 <WRAP indent> <WRAP indent>
-TECH3-CC models can be used to stream via HTTP (unicast only) to VLC or other clients.+<btn type="success" size="xs" icon="fa fa-chevron-right">[[:http_api|See also: HTTP API documentation]]</btn> 
 + 
 +TECH3-CC, TECH4, and later models can be used to stream via HTTP (unicast only) to VLC or other clients.
  
 <WRAP indent> <WRAP indent>
Line 513: Line 570:
 </WRAP> </WRAP>
  
-===== Lineup file (TECH3-CC only) =====+===== Lineup file =====
 <WRAP indent> <WRAP indent>
-TECH3-CC units support virtual channel lineup information transmitted by the cable provider and received via the CableCARD. This is available in XML and JSON format.+TECH3-CC, TECH4, and later models support virtual channel lineup information. This is available in XML and JSON format.
  
 <WRAP indent> <WRAP indent>
Line 523: Line 580:
 </code> </code>
 </WRAP> </WRAP>
 +
 +</WRAP>
 +
 +===== Datacast operation =====
 +<WRAP indent>
 +
 +TECH units support Datacast TCP/IP over OTA broadcast. Datacasting often provides news, weather, traffic, stock market, and other information which may or may not relate to the program[s] it is carried with. An electronic program guide is usually included. Datacast TCP-IP packets are reassembled and then routed to the LAN port.
 +
 +Example:
 +
 +Discover the device:
 +
 +<WRAP indent>
 +<code>
 +hdhomerun_config discover
 +</code>
 +</WRAP>
 +
 +Set the physical channel:
 +
 +<WRAP indent>
 +<code>
 +hdhomerun_config FFFFFFFF set /tuner0/channel auto:651000000
 +</code>
 +</WRAP>
 +
 +Set the datacast PID:
 +
 +<WRAP indent>
 +<code>
 +hdhomerun_config FFFFFFFF set /tuner0/filter 0x0A00
 +</code>
 +</WRAP>
 +
 +Set the target:
 +
 +<WRAP indent>
 +<code>
 +hdhomerun_config FFFFFFFF set /tuner0/target datacast
 +</code>
 +</WRAP>
 +
 +</WRAP>
 +
 +===== Boot scripts =====
 +<WRAP indent>
 +
 +The /sys/boot variable allows the TECH unit to automatically set variables at startup, allowing you to preserve settings across power outages or simply set the power on defaults.
 +
 +The syntax for the /sys/boot consists of multiple lines of text; a variable name followed by a single space and then the value: (there should not be any space before the variable name)
 +
 +<WRAP indent>
 +<code>
 +<variable1> <value of variable1>
 +<variable2> <value of variable2>
 +...
 +<variableN> <value of variableN>
 +</code>
 +</WRAP>
 +
 +Example (save as boot.txt):
 +
 +<WRAP indent>
 +<code>
 +/tuner0/channelmap us-cable
 +/tuner0/channel 103
 +/tuner0/program 4
 +</code>
 +</WRAP>
 +
 +To place a wait period between commands you can use the "sleep" command followed by the number of seconds:
 +
 +<WRAP indent>
 +<code>
 +<first command>
 +
 +sleep 60
 +
 +<next command>
 +</code>
 +</WRAP>
 +
 +
 +To store the configuration to the device:
 +
 +<WRAP indent>
 +<code>
 +Format: hdhomerun_config <id> set /sys/boot - < filename
 +Example: hdhomerun_config FFFFFFFF set /sys/boot - < boot.txt
 +</code>
 +</WRAP>
 +
 +Changes will be applied the next boot; to execute the new /sys/boot immediately:
 +
 +<WRAP indent>
 +<code>
 +Format: hdhomerun_config <id> execute
 +Example: hdhomerun_config FFFFFFFF execute
 +</code>
 +</WRAP>
 +
 +</WRAP>
 +===== Static IP assignment =====
 +<WRAP indent>
 +
 +A static IP address can be configured using the following command (the quotes are required as shown):
 +
 +<WRAP indent>
 +<code>
 +Format: hdhomerun_config <old ip> set /sys/ipaddr "<new ip> <subnet> <gateway>"
 +Example: hdhomerun_config 169.254.34.98 set /sys/ipaddr "10.10.20.43 255.255.255.0 10.10.20.1"
 +</code>
 +</WRAP>
 +
 +Note: The TECH requires a gateway when used to stream multicast, even if on the same subnet.
 +
 +==== Reverting to DHCP ====
 +<WRAP indent>
 +
 +The TECH can be configured for DHCP operation (default) using the following command:
 +
 +<WRAP indent>
 +<code>
 +Format: hdhomerun_config <old ip> set /sys/ipaddr dhcp
 +Example: hdhomerun_config 169.254.34.98 set /sys/ipaddr dhcp
 +</code>
 +</WRAP>
 +
 +<WRAP info>
 +If you cannot access the TECH due to the IP address change, do the following to reset:
 +
 +Set a static IP on the computer in the 169.254.x.y range (e.g. 169.254.1.9) with a 255.255.0.0 subnet mask. The auto IP address for the TECH device will be randomly chosen within the 169.254.x.y range. Use the [[https://download.silicondust.com/hdhomerun/hdhomerun_tech_windows.exe|TECH Config GUI]] to locate it and reset the IP.
 +</WRAP>
 +
 +</WRAP>
 +
 +</WRAP>
 +
 +===== Setting the channel map =====
 +<WRAP indent>
 +
 +The channel map is a non-volatile configuration option that is used to set the channel to frequency table, to configure the channel scan table, and to optimize the auto-modulation detection.
 +
 +GUI: The channel map can be set for each tuner by running HDHomeRun Config (GUI).
 +
 +Command line: The channel map can be set for each tuner using the following command:
 +
 +<WRAP indent>
 +<code>
 +Format: hdhomerun_config <ip|id> set /tuner<n>/channelmap <channelmap>
 +Example: hdhomerun_config 10001000 set /tuner0/channelmap us-cable
 +Example: hdhomerun_config 10001000 set /tuner1/channelmap us-cable
 +</code>
 +</WRAP>
 +
 +Channel maps supported by US hardware:
 +
 +<WRAP indent>
 +^ Name ^ Description ^ Location ^
 +| us-bcast | Digital Antenna (ATSC). | US, Canada |
 +| us-cable | Digital Cable - Normal frequency layout. | US, Canada |
 +| us-hrc | Digital Cable - HRC frequency layout. | US, Canada |
 +| us-irc | Digital Cable - IRC frequency layout. | US, Canada |
 +</WRAP>
 +
 +Channel maps supported by DVB hardware:
 +
 +<WRAP indent>
 +^ Name ^ Description ^ Location ^
 +| au-bcast | Digital Antenna (Australia). | Australia |
 +| au-cable | Digital Cable (Australia). | Australia |
 +| eu-bcast | Digital Antenna (Europe). | Europe, New Zealand |
 +| eu-cable | Digital Cable (Europe). | Europe, New Zealand |
 +| tw-bcast | Digital Antenna (Taiwan). | Taiwan |
 +| tw-cable | Digital Cable (Taiwan). | Taiwan |
 +</WRAP>
 +
 +</WRAP>
 +===== Multicast =====
 +<WRAP indent>
 +
 +TECH supports multicast streaming within a network.
 +
 +  - Using HDHomeRun Config GUI or hdhomerun_config choose a desired channel and program number for each tuner. In this example we will use channel 19 program 3 on tuner 0 and channel 30 program 1 on tuner 1.
 +  - Choose a multicast IP address for each stream. As a general rule the multicast address should be in the range of 239.255.0.0 to 239.255.255.255. In this example we will use 239.255.1.1 and 239.255.1.2
 +  - Choose a destination (client) port number. The port should be outside the the well-known ports range (we recommend 50000+) and should be unique for each stream. In this example we will use 59001 and 59002.
 +  - Write the boot script (text file):<WRAP><code>
 +/tuner0/channelmap us-bcast
 +/tuner0/channel 19
 +/tuner0/program 3
 +/tuner0/target rtp://239.255.1.1:59001 ttl=64
 +
 +/tuner1/channelmap us-bcast
 +/tuner1/channel 30
 +/tuner1/program 1
 +/tuner1/target rtp://239.255.1.2:59002 ttl=64</code></WRAP>
 +  - Write the boot script to the device: <WRAP><code>hdhomerun_config 10010003 set /sys/boot - < boot.txt</code></WRAP>
 +  - Execute the boot script: <WRAP><code>hdhomerun_config 10010003 execute</code></WRAP>
 +  - Check the tuner status and target for each tuner. The packets-per-second “pps” number should be non-zero indicating that the device is sending the stream. <WRAP><code>hdhomerun_config 10010003 get /tuner0/debug
 +hdhomerun_config 10010003 get /tuner0/target
 +hdhomerun_config 10010003 get /tuner1/debug
 +hdhomerun_config 10010003 get /tuner1/target</code></WRAP>
 +
 +</WRAP>
 +===== Example Boot Script Configurations =====
 +<WRAP indent>
 +
 +Tuning 2 ATSC channels and streaming to multicast addresses using RTP:
 +
 +<WRAP indent>
 +<code>
 +/tuner0/channelmap us-bcast
 +/tuner0/channel 31
 +/tuner0/program 3
 +/tuner0/target rtp://239.255.1.1:59001
 +/tuner1/channelmap us-bcast
 +/tuner1/channel 8
 +/tuner1/program 1
 +/tuner1/target rtp://239.255.1.2:59002
 +</code>
 +</WRAP>
 +
 +Tuning 3 digital cable channels using a CableCARD and streaming to multicast addresses using RTP:
 +
 +<WRAP indent>
 +<code>
 +/tuner0/vchannel 702
 +/tuner0/target rtp://239.255.1.1:59001
 +/tuner1/vchannel 740
 +/tuner1/target rtp://239.255.1.2:59002
 +/tuner2/vchannel 771
 +/tuner1/target rtp://239.255.1.3:59003
 +</code>
 +</WRAP>
 +
 +Tuning 2 DVB-T channels in Australia and streaming to multicast addresses using UDP:
 +
 +<WRAP indent>
 +<code>
 +/tuner0/channelmap au-bcast
 +/tuner0/channel 5
 +/tuner0/program 20121
 +/tuner0/target udp://239.255.1.1:59001
 +/tuner1/channelmap au-bcast
 +/tuner1/channel 44
 +/tuner1/program 28753
 +/tuner1/target udp://239.255.1.2:59002
 +</code>
 +</WRAP>
 +
 +Tuning 2 DVB-C channels in Europe and streaming to a single PC, ignoring rejection messages from the PC due to a closed port:
 +
 +<WRAP indent>
 +<code>
 +/tuner0/channelmap eu-cable
 +/tuner0/channel 646
 +/tuner0/program 231
 +/tuner0/target udp://192.168.0.22:59001 no_clear
 +/tuner1/channelmap eu-cable
 +/tuner1/channel 770
 +/tuner1/program 24112
 +/tuner1/target udp://192.168.0.22:59002 no_clear
 +</code>
 +</WRAP>
 +
 +</WRAP>
 +===== HDHomeRun app =====
 +<WRAP indent>
 +
 +{{ :tech_guide.png?direct&400|}}
 +When using the TECH3-CC or TECH4 and later, the consumer [[:app|HDHomeRun app]] can be used, allowing the TECH to behave as a consumer HDHomeRun unit. To enable this the TECH will need to sync with the HDHomeRun guide server on the internet:
 +
 +  - Access the web interface of the TECH unit //(for example, <nowiki>http://192.168.0.49</nowiki> )//
 +  - Check the option **"Sync with guide server"**
 +  - All other features of the TECH can still be used in this mode.
 +
 +<WRAP clear/>
  
 </WRAP> </WRAP>
  • Last modified: 2026/03/24 06:20