[mythtv-users] Help with Dish 301 receiver

Endaf Jones jonese at zener.com
Thu Jan 5 02:36:58 UTC 2006


On 1/4/06, Dan Wilga <dwilga at mtholyoke.edu> wrote:
> At 11:30 PM -0500 12/30/05, Maverick wrote:
> >Can anyone please provide me a working Dish 301 lircd config file and
>
> The important bit in lircd.conf is the "begin codes" section. Using
> the remote config file called "3100" as a starting point, below is
> what I use to control two dish receivers at once. One is set using ID
> 1 (names ending in "-1"), the other with ID 2.
>
>           power-1                    0x0000000000000800
>           0-1                        0x0000000000004400
>           1-1                        0x0000000000001000
>           2-1                        0x0000000000001400
>           3-1                        0x0000000000001800
>           4-1                        0x0000000000002000
>           5-1                        0x0000000000002400
>           6-1                        0x0000000000002800
>           7-1                        0x0000000000003000
>           8-1                        0x0000000000003400
>           9-1                        0x0000000000003800
>           sel-1                     0x0000000000004000
>
>           power-2                    0x0000000000000A00
>           0-2                       0x0000000000004600
>           1-2                       0x0000000000001200
>           2-2                       0x0000000000001600
>           3-2                       0x0000000000001A00
>           4-2                       0x0000000000002200
>           5-2                       0x0000000000002600
>           6-2                       0x0000000000002A00
>           7-2                       0x0000000000003200
>           8-2                       0x0000000000003600
>           9-2                       0x0000000000003A00
>           sel-2                     0x0000000000004200
>
> I haven't quite worked out how to calculate values for other IDs, but
> I think it has to do with bits 7-9. I'll bet they use a sort of
> backward OR, so for a given ID you'd add these values to the code
> when ID=1:
>
> ID  add
> 2    0x200
> 3    0x100
> 4    0x300
> 5    0x080
> 6    0x280
> 7    0x180
> 8    0x380
>
> (The above chart is unconfirmed.)
>
> --
> Dan Wilga                                         dwilga at mtholyoke.edu
> Web Administrator                             http://www.mtholyoke.edu
> Mount Holyoke College                                Tel: 413-538-3027
> South Hadley, MA  01075            "Who left the cake out in the rain?"


A little more crafted breakdown of the protocol (for sending codes) is
as follows (you may need to modify the timing slightly with different
hardware configurations with LIRC).  This assumes a modern lircd is
used (less than 6 months) as there was a bug in a earlier version that
handled repeats.

This will also work for Bell ExpressVu receivers as well (like the 3100,510x)

Basically, the protocol is made up of 16 bits broken down into three parts.
KEY(6 bits), UNIT(5 bits), DEVICE (5 bits).

All all MSB except for UNIT and its LSB.

KEY: The key to be sent.
UNIT: The selected unit or remote ID code in Dish Network setup screen
DEVICE:  Used to identify a second device.  For older Dish Network
hardware, this is always "0".  For PVR's, it's "1" for some PVR
specific keys like Play/Stop/RWD/FWD and such.  If your using this for
basic channel changing, you don't need those keys.

The real hard part is getting the timing correct.  The protocol is so
fast (57Khz) that it's hard to get the timing absolutely correct
without using a hardware IR sender.  You can play with the repeat
values.

Here's the lircd.conf file:

begin remote
  name            echostar1
  flags           SPACE_ENC
  eps             30
  aeps            100

  frequency       57600
  duty_cycle      32
  one             394  1676
  zero            394  2830

  header          394  6156

  ptrail          394
  gap             6116

  min_repeat      4


  bits            6
  post_data_bits  10


# unit code selection (1-16)
#  1=0x000  2=0x200  3=0x100  4=0x300
#  5=0x080  6=0x280  7=0x180  8=0x380
#  9=0x040 10=0x240 11=0x140 12=0x340
# 13=0x0C0 14=0x2C0 15=0x1C0 16=0x3C0

  post_data       0x000


  begin codes
    info        0
    power_on    1
    power       2
    1           4
    2           5
    3           6
    4           8
    5           9
    6           10
    menu        11
    7           12
    8           13
    9           14
    select      16
    0           17
    cancel      18
    guide       20
    view        22
    tv_vcr      23
    right       24
    up          26
    recall      27
    left        28
    down        30
    record      31
    pause       32
    stop        33
    sys_info    36
    asterisk    37
    pound       38
    power_off   39
    dish_home   52
    sys_info2   54
    dish_home2  56
  end codes

end remote


--
# Endaf


More information about the mythtv-users mailing list