I have had lots of people ping me for additional help on my original post at http://blogs.msdn.com/mpoulson/archive/2006/03/09/548255.aspx.

So here are some updates. 

The path that has the STBCode key will not be the same for everyone.  MCE generates a random GUID for your tuner. For my tuner the path to the key is under

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Service\Video\Tuners\{A799A800-A46D-11D0-A18C-00A02401DCD4}\{6DD37A97-7981-4CEC-ACDE-A5F1624E5714}\UserSettings

Your will have a diffrent location under the Video Tuners location.

If you have two tuners that you want to setup for two D11s then follow the MCE steps below for each one before you go into the registry.

The steps to get this to work (most of the time)

  1. Use the 10' UI to setup your tuner source. 
  2. When it fails to find your remote it will ask if you want to teach it the IR commands (say YES)
  3. When you are teaching MCE you need to make sure your cover the front or unplug your D11 SetTop Box. 
  4. MCE will have you teach each button twice (more if it does not get a good read)
  5. Once it is done learning MCE will have you enter a channel to see if it changes correctly (SAY YES, even if it does not)
  6. Once that is done it will try to adjust the speed of the blast.  Say it changed correctly on the first screen.

Once you are done with those steps now we have to customize the regkey.

  1. Close MCE
  2. Open regedit.exe
  3. Go to the key under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Service\Video\Tuners\
  4. Look for the first one that has UserSettings subkey (if you have a dual tuner card or more than one tuner) you will have to make the changes in two locations.
  5. Modify the UserSettings string value. The value below is directly from my value.
  6. Stop the key Ehome services ehrecvr and ehsched
    1. net stop ehrecvr && net stop ehsched
    2. net start ehrecvr && net start ehsched
  7. Then make sure things work.  If not send me some mail

<stb> <codeseturl>\user\S_learn1</codeseturl> <keyinterval>700</keyinterval> <keyduration>400</keyduration> <channelpause>400</channelpause> <useenter>False</useenter> <numdigits>4</numdigits> <target>\\?\usb#vid_045e&amp;pid_006d#ms0rw6eh#{7951772d-cd50-49b7-b103-2baac494fc57}\*</target> </stb>

Things to note:  the <target> attribute tells MCE what IR blaster to send the codes from.  You will see at the end of the string "\\?\usb#vid_045e&amp;pid_006d#ms0rw6eh#{7951772d-cd50-49b7-b103-2baac494fc57}\*" there is a *.  That tells MCE to send the blast out both IR blasters.  If you have more than one STB replace the * with \irport1 or \irport2.

The <codeseturl> attribute tells MCE where the IR codes are stored inside of the file under C:\Documents and Settings\All Users\Application Data\Microsoft\eHome. I have attached user.zip to this post.  It contains the two .ird files from my C:\Documents and Settings\All Users\Application Data\Microsoft\eHome directory

From my past post

  • KeyInterval = 700 (default 200) : How long to wait between button press (CAN NOT BE MORE THAN 1000)
  • KeyDuration = 400 (default xxx) : How long to blast the button
  • ChannelPause = 400 (default yyy) : How long to wait between a Channel Up or Down
  • NumDigits = 4 (default 3)

    I hope this helps a little more.