Controlling DirecTV Set Top Box (STB) via USB or Serial
Contents
Overview
The DirecTV D11 Satellite set top box contains a USB port that can be used as a serial port to change channels and perform other tasks on the box. To do this, you need the following cables:
- USB->Serial Adapter (IOGEAR GUC232A, ATEN UC-232A, BAFO BF-810 are known supported) (usb male to 9 male)
- 9-pin Null-Modem Adapter (9 female to 9 female)
- 9 pin serial cable. (9 female to 9 male)
The end result of this is a null modem serial connection between computers. I assume that using two USB->Serial adapters would also work, given that the Null Modem adapter was still used.
I used the BAFO BF-810 adapter (found for $9 online) and a pair of 9pin DSub to RJ45 adapters wired as a crossover serial cable, along with a straight-through ethernet cable.
I started with the directv.pl script used to control the D10 box. I had to change the speed to 115200 from 9600 (contrary to the installers guide which says 9600 or 155200, which must be a typo). I also had to enable hardware flow control in order to get reliable operation.
Cable Pinout
This is a standard Null-modem cable, but here is the pinout for the sake of being complete:
TD | (Transmit Data) | 3 | -> | 2 | RD |
RD | (Receive Data) | 2 | -> | 3 | TD |
RTS | (Request To Send) | 7 | -> | 8 | CTS |
CTS | (Clear To Send) | 8 | -> | 7 | RTS |
SG | (Signal Ground) | 5 | -> | 5 | SG |
Hardware Compatibility
- DirecTV D11-500: Channel changing works (by key). On/Off, OSD On/Off, Remote Input On/Off all work. Other features not working yet.
- DirecTV D11-300: Channel changing not yet confirmed, some problems reported
Controlling D11 from Windows
I know this isn't myth-related at all, but here is how to control the D11 from windows!
- Install Perl (I recommend [ActivePerl])
- Start Perl Package Manager (PPM)
- Add the BdP Repository:
repository add BdP http://www.bribes.org/perl/ppm
- Install Win32::SerialPort:
install Win32-SerialPort
- Install Win32::API:
install Win32-API
- Install Time::HiRes:
install Time-HiRes
- Download the Windows version of the DirecTV Serial Control Script (see links below). Save it to C:\perl\
- Example Execution:
perl.exe c:\perl\directv2.pl port com1 baudrate 115200 flow none box_type D11 25
External Links
- DirecTV D11 Users Manual
- DirecTV D11 Installers Guide (Contains serial command guides)
- DirecTV Serial Control Script
- Script modified to work with D11
- Windows Version of directv.pl
For More Information
- Contact the author of this article, User:JeffSimpson