|
Hardware Support Discussions related to using various hardware setups with SageTV products. Anything relating to capture cards, remotes, infrared receivers/transmitters, system compatibility or other hardware related problems or suggestions should be posted here. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Simple utility to control multiple USB or Serial HD DirecTV STBs
Nov 07 2009 - IMPORTANT NOTE: The instructions and file described here have been replaced by the version described here!
This is an attempt to document my configuration of a system controlling multiple DirecTV HD receivers via PC serial and set-top-box USB ports. This system supports the "-1" designation for applicable DirecTV channels. I. Prerequisites A. EXEMultiTunerPlugin B. DirecTV Channel Control Program for GBPVR (directv.exe) C. DirecTVMultiChg.bat file D. One (1) USB to Serial Adapter per DirecTV receiver E. One (1) Null Modem Cable (or Null Modem Adapter and Serial Cable) per DirecTV Receiver F. One (1) PC Serial port per DirecTV receiver A. EXEMultiTunerPlugin Obtain a copy of the SageTV-provided plugin. http://forums.freytechnologies.com/f...33&postcount=7Place the plugin into your SageTV directory B. DirecTV Channel Control Program for GBPVR (directv.exe) This is a serial control utility designed for GBPVR and is available on the GBPVR Wiki under "Utilities" It's a simple, DOS-based program that works from a command prompt and supports a wide variety of DirecTV receivers. See the Wiki page for details. C. DirecTVMultiChg.bat file This is a simple DOS-based batch file I created. It must be placed into the SageTV directory. This is the program that is executed by the EXEMultiTunerPlugin as referenced by the associated registry command. More on this batch file appears below. D. and E. USB-to-Serial Adapter and Null Modem Cable DirecTV boxes with USB ports (such as the Model H21) can be controlled via a USB-To-Serial adapter when paired with a null modem cable. You can easily find USB-To-Serial adapters for around $10 and null modem cables for around $2 online. F. One (1) PC Serial port per DirecTV receiver Obviously you will need a COM port on your PC for each receiver you want to control. If you have only one (or zero) COM ports on your motherboard you can add additional ports via onboard connectors (if available) and brackets, or via add-in PCI card, or more likely via USB-To-Serial adapters. II. Configuration A. Registry edits B. Sage.properties Requirements C. "IR" File and Tuner Control Setup D. Channel Remapping (if applicable) E. DirecTVMultiChg.bat file edits A. Registry Edits Add (or modify) a registry key to the following location: HKLM\Software\Frey Technologies\Common\EXEMultiTunerPlugin Add a DWORD with the following command DirecTVMultiChg.bat %DEVICE% %CHANNEL% B. Sage.properties Requirements The key to the EXEMultiTunerPlugin is that it passes both "device" and "channel" parameters to the command it executes. The "device" parameter is that which is referenced in the device_name property for each input of the applicable capture device. IMPORTANT: To use this batch file you must set device_name as an integer. For simplicity, you can set the first device_name as "1", second as "2", et cetera. Again: it is important that you set the device_name properties in this manner. C. "IR" File and Tuner Control Setup I'm not sure this is required, but I believe the plugin requires an ".ir" file, even though it's not sending infrared commands. For what it's worth, I created a file named "1.ir" which has only one line "StubDevice 38000 400 4 600 800". The pertinent pieces of information here are the filename "x.ir", where "x" is the number referenced in the device_name property and the "4", which specifies the number of digits for the %CHANNEL% parameter. I also believe you can set the number of digit using the "Remote Options" setup under the Tuner Setup menu. This file is stored in the \SageTV\Common\Remote Codes directory. Again: I am not sure if this step is required. D. Channel Remapping One of the added features of using this batch file is that it supports sending the "dash" character via serial control, which is not supported via the native DirecTV serial plugin. However, to tune any of the "dash-1" channels you have to remap both the physical and logical channel numbers. As an example: HD NFL Sunday Ticket games are all shown on channels with "-1" extensions. To configure the system to tune a channel such as "704-1", remap the logical channel of the HD 704 channel in the guide to "704-1". This will show the channel's listing in its appropriate place in the Guide. To actually tune the channel you must remap the physical channel to "7041". Note the lack of a dash in the physical mapping; this is required for the batch file to work correctly. You should map any desired "dash" channels in this manner. E. DirecTVMultiChg.bat File Edits As it is curently configured this program handles up to six serially-controlled set-top boxes, though it can be easily edited to accommodate more. Also it assumes that your device_name properties are "1","2","3"... "6", and are connected to corresponding COM ports "COM1", COM2", "COM3"... "COM6". You can modify these assignments as required, but it's probably simple enough to map your receivers in this manner. In some cases your COM ports will install as ports other than "2", "3", et cetera, but you can either change the port number within Windows Device Manager, or modify the device_name property to correspond to the COM port. III. Other Notes & Limitations As it is configured today this attached batch file only supports generic 3-digit channels and channels with "-1" extensions. To date, DirecTV only uses "-1" for its national channels. Users who receive local channels via sub-channels with other extensions will not be able to tune such channels with this batch file. Use this batch file at your own risk. Hopefully this guide helps someone... -J.R. Last edited by jchiso; 11-07-2009 at 03:02 PM. Reason: Added link to newer version |
#2
|
|||
|
|||
Ive been using Sage for close to 4 years.. setup ir control, dtvcontrol, and I still cant understand your directions because they are not detailed enough Can I get a step by step process please.. I would love to get this working....
__________________
Server: Asus M3A; AMD Phenom quad core CPU; 3Gb RAM ; ATi x1600 PCIe Video Card Tuners: 1 Adaptec PVR 3610, 2 PVR 500s; 1 HDHomerun; 2 HD PVR Storage: 1.2 Tb Clients: 2 HD Extenders |
#3
|
|||
|
|||
Where are you having problems? I did not want to burden this write-up with generic Sage knowledgebase stuff and tried to focus on the critical elements unique to the batch file.
|
#4
|
|||
|
|||
Things like where to put the batch file, what to change in sage.properties, steps to determine if what you are doing is working... step by step. I have found that most guides to utilities in Sage that people publish should be able to implemented by folks who are fairly new to Sage. I appreciate your efforts but it reads like a technical document. Any further clarity would be greatly appreciated .. Im not a total noob, I have several other plugins and sagemc going in my own version...
__________________
Server: Asus M3A; AMD Phenom quad core CPU; 3Gb RAM ; ATi x1600 PCIe Video Card Tuners: 1 Adaptec PVR 3610, 2 PVR 500s; 1 HDHomerun; 2 HD PVR Storage: 1.2 Tb Clients: 2 HD Extenders |
#5
|
|||
|
|||
Directly into your SageTV directory. This is mentioned in Section C. of Prerequisites.
The "device_name" property. This is mentioned in Section B. of Configuration. You can test the functionality of your hardware by using the "directv.exe" program outside of the batch file. Check that utility's online documentation for details. |
#6
|
||||
|
||||
Is anyone else using this with success?
Just curious b/c I was going to try it out since I can't get sage to properly tune sunday ticket on DirecTV properly.
But man, mapping the channels is a pain. . .
__________________
AMD Ryzen 9 3900XT 12 Core+HT, 64GB DDR5, GeForce 1060, MSI Prestige x570 Creation Mobo, SIIG 4 port Serial PCIe Card, Win10, 1TB M.2 SSD OS HDD, 1 URay HDMI Network Encoder, 3 HD-PVR, 4 DirecTV STB serial tuned |
#7
|
|||
|
|||
First, I apologize in advance for the Monster Post. For those who may wish not to read on, I am looking for help mainly with the registry and Sage.Properties edit portion of this process (and guidance on anything else I may have wrong).
I just came across this thread when searching for a solution to tuning sub-channels (with a dash). Looks like it's just what I need, but I haven't been successful getting it working. I appreciate the effort you put into developing this and posting here, but I'm hoping you can help me get the rest of the way there. First of all, I'm a noob. New to SageTV (still in the evaluation period trying to get things working before I commit), and new to a lot of the concepts and approaches used here. I've been running a MCE 2005 DVR that I built for several years. I've built a new machine and I'm trying to make the transition to SageTV running 2 DirecTV boxes through HD-PVRs. I'm focusing on getting one working first, and then I'll tackle the other. I have serial control working currently on the one box (HR20) for most channels, but I'm integrating an OTA antenna and need to be able to tune the local sub-channels (i.e. 2-1, 56-1, etc.). I know you say the batch file isn't set up to work for local sub-channels, but I think I can modify it pretty easily. I'd consider myself intermediate when it comes to computers. Like BBCritical wrote before, my head was spinning after I initially read this post. But I've read it over and over, and have done other research. So I think I've gotten pretty far on my own. Here's where I'm at – following the outline in the OP: I. Prerequisites: A., B., and C. – I've downloaded all 3 (EXEMultiTunerPlugin.dll, directv.exe, and DirecTVMultiChg.bat) and put them in my SageTV folder (C:\Program Files\SageTV\SageTV). When configuring the HD-PVR in Sage, it didn't give me the EXEMultiTunerPlugin as a tuning control option. I had to put the .dll in the Common folder for it to appear – so I put a copy of the other two files in there as well (all three are currently in both folders).II. Configuration – here's where I need help A. I've edited the registry before, but never have created keys. There was no EXEMultiTunerPlugin entry in the HKLM\Software\Frey Technologies\Common folder, so here's what I did…So I think I'm nearly there. If I have the registry mod correct, then I think I just need to get the Sage.Properties file modified correctly – and have it stay that way. Once I do that, I assume I'll just reconfigure the HD-PVR tuner, select EXEMultiTunerPlugin for tuning, then remap the physical address of the channels. Any help would be GREATLY appreciate! |
#8
|
|||
|
|||
Quote:
Quote:
Make these changes and see if you've made any progress... |
#9
|
|||
|
|||
Thanks for the quick response.
I made the changes you suggested, and I've been working a lot more to get this to work, but unfortunately its STILL not working. I figured out how to make the changes to the Sage.Properties file stick - thanks to a response in another post. I needed to use the SageTVServiceControl to shut down the service - killing the process in Windows wasn't working. I changed StubDevice to 1 as suggested. I also tried changing all of the device_names for the HD PVR device to 1 (except the video_capture_device_name). I've configured the HD-PVR device to use the EXEMultiTunerPlugin. When I try to change channels - SageTV reacts like its tuning to a new channel, but the channel on the DirecTV box doesn't change - for ANY channels. I've tried running your batch file from the SageTV directory (after replacing the %1 and %2 with actual device and channel values), and it works. Is there any kind of diagnostic I can run that will tell me where this process if falling down? I've attached a screenshot of my registy, showing what I put in per your instructions. Can you take a quick look and let me know if this part is correct? I've also attached my Sage.Properties file (saved as a .txt) showing what I've changed there. I'd appreciate it if you could take a quick look at that as well to see if you find anything I may have incorrect. Again, I really appreciate your help! And I REALLY need to get this working! Registry - EXEMultiTunerPlugin.JPG Sageproperties.txt |
#10
|
|||
|
|||
Quote:
If it still doesn't work, check your #.ir file. There should be a lot of spaces after everything. Here is an example of mine: Code:
1 38000 400 4 |
#11
|
|||
|
|||
I thought I would also post my updated batch file here. I currently have the HD-DVR from DirecTV (because it was free), but I don't have the HD service since I don't have the HD-PVR. DirecTV updated all there HD boxes so they will tune into the HD channel by default. I have the choice xtra package and these are the SD/HD channel duplicates in the batch file.
Code:
rem Created Oct 20 2008 rem This batch file uses the DirecTVChannelControl executable designed for GBPVR rem rem This batch file and the "directv.exe" file go into the SageTV directory rem Registry command: DirecTVMultiChg.bat %DEVICE% %CHANNEL% rem rem The %1 represents the tuner device (%DEVICE%) number passed from SageTV rem The %2 represents the channel (%CHANNEL%) value passed from SageTV rem Both values used as arguments to the executable batch file rem Each device must be assigned to a COM port SET /A CURDEVICE = %1 IF %CURDEVICE% EQU 1 SET USEPORT=1 IF %CURDEVICE% EQU 2 SET USEPORT=2 IF %CURDEVICE% EQU 3 GOTO HDDVR IF %CURDEVICE% EQU 4 SET USEPORT=4 IF %CURDEVICE% EQU 5 SET USEPORT=5 IF %CURDEVICE% EQU 6 SET USEPORT=6 GOTO tunechan :tunechan rem This is the command for generic 3-digit channels directv.exe -port COM%USEPORT% -box D10100 -key %2 GOTO end :HDDVR IF %CURDEVICE% EQU 3 SET USEPORT=3 directv.exe -port COM%USEPORT% -box D10100 -key %2 ping -n 3 localhost IF %2 EQU 202 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 206 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 207 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 209 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 212 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 213 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 215 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 217 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 218 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 224 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 229 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 231 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 241 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 242 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 244 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 245 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 247 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 248 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 249 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 265 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 266 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 269 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 273 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 276 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 278 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 280 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 282 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 284 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 286 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 290 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 292 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 296 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 299 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 311 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 327 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 331 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 335 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 355 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 359 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 360 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 362 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 501 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 504 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 512 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 514 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 520 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 521 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 522 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 537 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 538 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 539 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 540 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 542 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 544 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 603 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 607 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 610 directv.exe -port COM%USEPORT% -box D10100 -key ch_up IF %2 EQU 618 directv.exe -port COM%USEPORT% -box D10100 -key ch_up GOTO end :end |
#12
|
|||
|
|||
Quote:
I recreated the registry entry as a String Value (reg_sz) as suggested. I then had to go back and reconfigure Sage for the EXEMultiTunerPlugin (since I had set it back to the default DirecTV Serial Tuner). When I first tried to tune a channel in Sage, it successfully invoked the direct.exe program. I know this because I got the quick flash of the pop-up window of it excecuting - too fast to tell what it is or see what it says, but I figured that's what it is. Unfortunately, it did not change the channel on the DirecTV box. In trying to diagnose the problem, I checked the Sage.Properties file and notice that the device_name changed back to "StubDevice". When I change it back to "1", the directv.exe program doesn't get invoked. I've switched back and forth several times, and it runs for "StubDevice", but not for "1". To further diagnose, I tried modifying your batch file again to get it to change channels. I replaced %1 with 1 (my COM port) and %2 with a channel number. And with device_name set to "StubDevice" (so directv.exe would be invoked), when I try to change a channel in Sage, it will tune the DirecTV box to the channel I put in place of %2. I also tried changing your line setting the port to: IF %CURDEVICE% EQU StubDevice SET USEPORT=1 to see if it was sending StubDevice as the %DEVICE%, but this didn't work, either. So it looks like I have 2 remaining problems. 1) It seems as though the DEVICE and CHANNEL are not being passed properly to your batch file (because it works if I set specific device and channel values). 2) It won't get through to the point of excecuting directv.exe with the device_name set to 1, which is an essential part of using this batch file - especially for multiple tuners. I've attached a new .jpg of my registry as it appears now. Any ideas what else I could try? Is there any way to step through the process to see where the process if falling down? |
#13
|
|||
|
|||
OK, so the registry is fine now. Make sure in your tuner setup that for tuning device, it is set to 1(or whatever your com port number is).
If you don't know how to do this, you click on that button and select change tuning device. Let me know how that works for you. |
#14
|
|||
|
|||
Mind did say "EXEMultiTunerPlugin StubDevice". When I click on it and select "Change Tuning Device", it doesn't give me an option to change it. My only option is to select "Cancel". I then edited the Sage.Properties file to replace StubDevice with 1. Now the tuner control entry looks like yours "EXEMultiTunerPlugin 1", but I'm back to the directv.exe excecution window not popping up again when i try to tune within Sage.
|
#15
|
|||
|
|||
OK, I see your problem. You need to have the #.ir files in this folder:
C:\Program Files\SageTV\Common\RemoteCodes\EXEMultiTunerPlugin All the #.ir files will then show up in the list. This will be the file to use if your receiver is on COM1. Rename 1.ir.txt to 1.ir |
#16
|
|||
|
|||
Quote:
THANK YOU SO MUCH! You're my hero. When I first moved the 1.ir file to that folder, Sage would crash when I tried to select the Program Guide. I still had the original input you put in the file - StubDevice 38000 400 4. I edited to look like your current 1.ir file and now it works. FYI, and for anyone else reading this thread, here's how I achieved tuning the local -1 subchannels. 1) I edited the batch file, replacing "- .1" with "- 100.1" 2) Assigned all of my locals on my DirecTV tuner to a new physical address as follows: 2-1 to 1021 56-1 to 1561 etcThis allows me to tune my locals (all below channel 100), but won't tune the higher -1 channels - which is not an issue for me. Now I'm going to work on modifying it to tune -2, -3, etc. channels. Hopefully everything goes smoothly now when I try to integrate the second DirecTV box and HD-PVR. Thanks again. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Multiple HD PVRs? Or any other multiple component video capture solution | supergerg | Hardware Support | 12 | 09-03-2008 06:52 PM |
Switching from Verizon FiOS to DirecTV, please help | ONLYinHD | Hardware Support | 4 | 03-17-2008 08:38 PM |
Serial control works on DirecTV H21 | mrwolf | Hardware Support | 0 | 02-25-2008 04:52 PM |
DirecTV Serial Port Control Just Stopped Working | jsiemon | Hardware Support | 4 | 02-12-2008 04:33 PM |
Multiple STBs, Same Provider, Different Lineups? | bretm | SageTV EPG Service | 3 | 01-31-2008 02:47 PM |