Controlling DirecTV Set Top Box (STB) via USB or Serial

From MythTV Official Wiki
Revision as of 14:37, 7 April 2006 by JeffSimpson (talk | contribs) (Hardware Compatibility)

Jump to: navigation, search

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:

  1. USB->Serial Adapter (IOGEAR GUC232A, ATEN UC-232A, BAFO BF-810 are known supported) (usb male to 9 male)
  2. 9-pin Null-Modem Adapter (9 female to 9 female)
  3. 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!

  1. Install Perl (I recommend [ActivePerl])
  2. Start Perl Package Manager (PPM)
  3. Add the BdP Repository: repository add BdP http://www.bribes.org/perl/ppm
  4. Install Win32::SerialPort: install Win32-SerialPort
  5. Install Win32::API: install Win32-API
  6. Install Time::HiRes: install Time-HiRes
  7. 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

For More Information