Hallo,
ich habe ein Problem mit yaVDR 0.3 und meiner Fernbedienung und hoffe, das mir hier jemand auf die richtige Spur helfen kann.
In meinem System stecken zwei Hauppauge WinTV Nova-HD-S2.
Ich habe nur an einer Karte einen IR Empfänger angeschlossen, und möchte die original Hauppauge Fernbedienung verwenden.
Leider kommen nur drei verschiedene Tasten der Fernbedienung bei vdr-sxfe an.
Ich habe nach längeren Versuchen das System gerade neu aufgesetzt und beschreibe nun alle meine Anpassungen.
Da für die IR-Sensor devices bei jedem Start andere Events erzeugt werden, lasse ich udev mit folgenden rules für die in Frage kommenden Adressen Links anlegen:
KERNEL=="event*",ATTRS{phys}=="pci-0000:01:06.[0-9]/ir0",MODE="0777", GROUP="vdr", SYMLINK+="input/ira"
KERNEL=="event*",ATTRS{phys}=="pci-0000:01:07.[0-9]/ir0",MODE="0777", GROUP="vdr", SYMLINK+="input/irb"
KERNEL=="event*",ATTRS{phys}=="pci-0000:01:08.[0-9]/ir0",MODE="0777", GROUP="vdr", SYMLINK+="input/irc"
Durch den Eintrag in /usr/share/hal/fdi/preprobe/20thirdparty/lirc.fdi
<match key="info.product" contains_ncase="cx88 IR">
<merge key="info.ignore" type="bool">true</merge>
</match>
zeigt lshal das die entsprechenden devices von hal ignoriert werden.
udi = '/org/freedesktop/Hal/devices/temp/109'
info.ignore = true (bool)
info.parent = '/org/freedesktop/Hal/devices/pci_14f1_8802_0' (string)
info.product = 'Ignored Device' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/ignored-device' (string)
input.device = '/dev/input/event7' (string)
input.originating_device = '/org/freedesktop/Hal/devices/pci_14f1_8802_0' (string)
input.product = 'cx88 IR (Hauppauge WinTV-HVR400' (string)
linux.device_file = '/dev/input/event7' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:08.0/0000:01:07.2/input/input7/event7' (string)
udi = '/org/freedesktop/Hal/devices/temp/99'
info.ignore = true (bool)
info.parent = '/org/freedesktop/Hal/devices/pci_14f1_8802' (string)
info.product = 'Ignored Device' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/ignored-device' (string)
input.device = '/dev/input/event6' (string)
input.originating_device = '/org/freedesktop/Hal/devices/pci_14f1_8802' (string)
input.product = 'cx88 IR (Hauppauge WinTV-HVR400' (string)
linux.device_file = '/dev/input/event6' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:08.0/0000:01:06.2/input/input6/event6' (string)
über das Webfrontend habe ich inputlirc mit der Fernbedienung "-" eingestellt, so das die folgenden Parameter in /etc/default/inputlircd verwendet werden
Das fürt dazu das ich in der Prozessliste immer wie erwartet den inputlirc Prozess sehe:
local@yavdr:~$ ps ax |grep inputlirc
959 ? Ss 0:00 /usr/sbin/inputlircd -f -m 0 -c -g /dev/input/ira /dev/input/irb
irw zeigt auch eine entsprechende Ausgabe:
local@yavdr:~$ irw /dev/lircd
67 1 KEY_UP irb
69 0 KEY_LEFT irb
6a 0 KEY_RIGHT irb
6c 0 KEY_DOWN irb
8b 0 KEY_MENU irb
1c 0 KEY_ENTER irb
192 0 KEY_CHANNELUP irb
193 0 KEY_CHANNELDOWN irb
2 0 KEY_1 irb
3 0 KEY_2 irb
4 0 KEY_3 irb
5 0 KEY_4 irb
6 0 KEY_5 irb
7 0 KEY_6 irb
8 0 KEY_7 irb
9 0 KEY_8 irb
a 0 KEY_9 irb
172 0 KEY_SUBTITLE irb
18e 0 KEY_RED irb
18f 0 KEY_GREEN irb
190 0 KEY_YELLOW irb
191 0 KEY_BLUE irb
74 0 KEY_POWER irb
... (es werden alle Tasten korrekt angezeigt)
Für die remote.conf des vdr habe ich im custom template meine LIRC konfiguration eingetragen:
local@yavdr:~$ more /var/lib/vdr/remote.conf |grep LIRC
LIRC.Up KEY_UP
LIRC.Down KEY_DOWN
LIRC.Menu KEY_MENU
LIRC.Ok KEY_ENTER
LIRC.Back KEY_BACKSPACE
LIRC.Left KEY_LEFT
LIRC.Right KEY_RIGHT
LIRC.Red KEY_RED
LIRC.Green KEY_GREEN
LIRC.Yellow KEY_YELLOW
LIRC.Blue KEY_BLUE
LIRC.0 KEY_0
LIRC.1 KEY_1
LIRC.2 KEY_2
LIRC.3 KEY_3
LIRC.4 KEY_4
LIRC.5 KEY_5
LIRC.6 KEY_6
LIRC.7 KEY_7
LIRC.8 KEY_8
LIRC.9 KEY_9
LIRC.Info KEY_EPG
LIRC.Play KEY_PLAY
LIRC.Pause KEY_PAUSE
LIRC.Stop KEY_STOP
LIRC.Record KEY_RECORD
LIRC.FastFwd KEY_FASTFORWARD
LIRC.FastRew KEY_REWIND
LIRC.Next KEY_NEXT
LIRC.Prev KEY_PREVIOUS
LIRC.Power KEY_POWER
LIRC.Channel+ KEY_CHANNELUP
LIRC.Channel- KEY_CHANNELDOWN
LIRC.Volume+ KEY_VOLUMEUP
LIRC.Volume- KEY_VOLUMEDOWN
LIRC.Mute KEY_MUTE
LIRC.Audio KEY_AUDIO
LIRC.Subtitles KEY_SUBTITLE
LIRC.Timers KEY_TV
LIRC.Setup KEY_GO
Dem vdr habe ich in /etc/default/vdr noch folgende Parameter eingetragen (sollte eigentlich überflüssig sein)
# Options that will be passed to vdr's commandline
# for example: OPTIONS="-w 15"
OPTIONS="--lirc=/dev/lircd -w 60"
vdr meldet in /var/log/syslog:
Jan 2 20:21:25 yavdr vdr: [960] remote control LIRC - keys known
Jan 2 20:21:25 yavdr vdr: [1263] LIRC remote control thread started (pid=960, tid=1263)
Die Prozesse für vdr und vdr-sxfe sehen dann in der Prozessliste so aus:
960 ? S<sl 4:07 /usr/bin/vdr -v /srv/vdr/video.00 -c /var/lib/vdr -L /usr/lib/vdr/plugins -r /usr/lib/vdr/vdr-recordingaction -s /usr/lib/vdr/vdr-shutdown.wrapper -E /var/cache/vdr/epg.data -u vdr -g /tmp --port 6419 --lirc=/dev/lircd -w 60 -Pchannellists -Pxineliboutput --local=none --primary --remote=127.0.0.1:37890 -Pepgsearchonly -Pmenuorg -Pextrecmenu -Ptext2skin -Pconflictcheckonly -Pstreamdev-server -Pquickepgsearch -Pepgsearch -Pfemon -Plive --port=8008 --ip=0.0.0.0 --epgimages=/var/cache/vd/epgimages -Piptv -Pwirbelscan -Pburn --iso=/srv/vdr/video.00/iso -Pvnsiserver
1601 ? S<l 7:40 /usr/bin/vdr-sxfe --post tvtime:method=use_vo_driver --reconnect --audio=alsa --syslog --config /etc/vdr-sxfe/config_xineliboutput --video=vdpau xvdr://127.0.0.1:37890
Leider reagiert vdr-sxfe nur auf die Tasten KEY_CHANNELUP, KEY_CHANNELDOWN und KEY_SUBTITLE.
Was läuft hier schief ?
Für jeden Tipp bin ich dankbar
Gruß H.