Remote Control Mini-FAQ (Rev 0.5.0, 2012-12-26 En)
==================================================

1. Which hardware is supported?
   ----------------------------
Configurations which have been reported to work:

card type     driver         connector      IR protocol    notes
---------------------------------------------------------------------
TT S2 6400    saa716x_ff     ir connector   RC5
Activy 300                                  RCMM
DVB-S 1.x     dvb-ttpci      J2             RC5/RCMM       1
DVB-S 1.x     dvb-ttpci      CI module      RC5/RCMM       1
DVB-S 2.x     dvb-ttpci      ir connector   RC5/RCMM       1,2
DVB-S 2.x     dvb-ttpci      CI module      RC5/RCMM       1,2
Nova-CI       budget-ci      ir connector   RC5

[1] All full-featured cards support RC5 and RCMM.
    For RC5 you need a RC5-capable IR receiver.
    For RCMM you need a RCMM-capable IR receiver.

[2] The receivers shipped with rev 2.x cards support RC5.

Other '/dev/input/eventX'-based devices will most probably work,
if the event device is specified using the '-i' parameter.

If supported by udev, an input device can also be selected by pci slot.
See README for an example.

Please report if you have a working configuration not listed here. Thx.


-------------------------------------------------------------------------------


2. It does not work. What should I do?
   -----------------------------------

2.1 All card types
    --------------
Please verify that...
- the remote control really works. Check the batteries!
- the plug of the remote control receiver is connected properly.
  (This is the most common problem with rev 2.x full-featured cards!)
- Use the latest version of the remote control plugin.



2.2 Full-featured cards
    -------------------

2.2.1 The remote control does not work, if a CI is connected
      ------------------------------------------------------
Whenever a CI is connected, the on-board connector will be disabled!

On some CIs there is a jumper to select whether the receiver of the CI
or the receiver of the FF-card should be used. RTFM.

If not, use the integrated receiver of the CI,
or connect the receiver to the ir connector of the CI.


-------------------------------------------------------------------------------


3. Testing - Debugging - Troubleshooting
   -------------------------------------

3.1 Identifying the correct event device
    ------------------------------------
Check the output of 'cat /proc/bus/input/devices'.

For example (full-featured card on /dev/input/event2):
...
I: Bus=0001 Vendor=13c2 Product=0000 Version=0002
N: Name="DVB on-card IR receiver"
P: Phys=pci-0000:00:0c.0/ir0
S: Sysfs=/class/input/input4
U: Uniq=
H: Handlers=kbd event2
B: EV=100013
B: KEY=1 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
B: MSC=18
...

'DVB on-card IR receiver' identifies the receiver of the full-featured card.
'event2' is the device the remote plugin has to use (in this example).



3.2 Check the system log (/var/log/messages, dmesg, logread etc.)
    -------------------------------------------------------------
The remote plugin must use the device identified in 3.1.

For example:
...
Jul 27 07:04:29 orion vdr: [4032] remote: using '/dev/input/event2'
Jul 27 07:04:29 orion vdr: [4032] remote-event2: autorepeat supported
Jul 27 07:04:29 orion vdr: [4032] remote-event2: exclusive access granted
...

If it does not use the correct device, specify the device
using the '-i' parameter.

If supported by udev, an input device can also be selected by pci slot.
See README for an example.



3.3 Enabling ir debugging in the driver
    -----------------------------------
3.3.1 full-featured cards - dvb-ttpci driver

Type
  echo 16 > /sys/module/dvb_ttpci/parameters/debug


3.3.2 budget card - budget-ci driver

Type
  echo 1 > /sys/module/budget_ci/parameters/ir_debug



3.4 What is the expected behavior of evtest?
    ----------------------------------------
You should see something like this:

evtest /dev/input/event2

Input driver version is 1.0.0
Input device ID: bus 0x1 vendor 0x13c2 product 0x0 version 0x2
Input device name: "DVB on-card IR receiver"
Supported events:
  Event type 0 (Reset)
    Event code 0 (Reset)
    Event code 1 (Key)
    Event code 4 (?)
    Event code 20 (Repeat)
  Event type 1 (Key)
    Event code 1 (Esc)
    Event code 2 (1)
    Event code 3 (2)
    Event code 4 (3)
    ...
Testing ... (interrupt to exit)
Event: time 1047342384.790038, type 1 (Key), code 402 (ChannelUp), value 1
Event: time 1047342385.290630, type 1 (Key), code 402 (ChannelUp), value 0
...

'DVB on-card IR receiver' indicates the receiver of the full-featured card.
'Event:' lines are the result of pressing a key on the remote control.

To get 'Event' lines:
- vdr must be stopped.
- A keymap must have been loaded.



3.5 Loading user-defined keymaps
    ----------------------------
For full-featured cards a user-defined keymap may be loaded using
av7110_loadkeys from the dvb-apps package.

3.5.1 Examples:
- RC5, not inverted, keymap 'hauppauge.rc5':
  av7110_loadkeys hauppauge.rc5 > /proc/av7110_ir

- RC5, inverted, keymap 'hauppauge.rc5':
  av7110_loadkeys -i hauppauge.rc5 > /proc/av7110_ir

- RCMM, not inverted, keymap 'activy.rcmm'
  av7110_loadkeys activy.rcmm > /proc/av7110_ir

- RCMM, inverted, keymap 'activy.rcmm'
  av7110_loadkeys -i activy.rcmm > /proc/av7110_ir


3.5.2 How do I have to modify 'runvdr' to load the keymap?

Have a look at the script 'runvdr.remote' in sub-directory 'misc'.


-------------------------------------------------------------------------------


4. Telnet
   ------

4.1 Terminating the telnet session
    ------------------------------
Any telnet session can be terminated by 'escape character' c (close).
The escape character will be displayed when telnet is started,
default is Ctrl-].


4.2 Key mapping example
    -------------------
VDR is able to learn the telnet keys like any other keyboard.

If you cannot see the OSD to perform key learning, add file
misc/remote.conf.tcp3333 to your remote.conf.
The keys are documented in misc/remote.conf.tcp3333.readme.


4.3 Customizing the key mapping
    ---------------------------
It is recommended to use the key learning feature of vdr, but you
might also use your favorite editor to modify the key mapping.

Key codes can be found by using the debug feature of telnet:
- enter command mode by pressing the 'escape character'
- enter 'set netdata on'
Note that the byte order must be reversed for remote.conf.


-------------------------------------------------------------------------------


5. More information
   ----------------
WIKIs:
- VDR and plugins	http://www.vdr-wiki.de
- DVB			http://linuxtv.org/wiki

If nothing helps, please post your problem at
- VDR mailing list	http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
- VDR Portal		http://www.vdr-portal.de
