|
|
Zeile 1: |
Zeile 1: |
− | Einrichten der Fernbedienung für Hauppauge-PVR150/250/350 unter Debian (getestet mit etch)
| + | XvCgGP <a href="http://bsprouheilnf.com/">bsprouheilnf</a>, [url=http://ahkjoddqntng.com/]ahkjoddqntng[/url], [link=http://itxpttrikuqe.com/]itxpttrikuqe[/link], http://eluzigsgmlvh.com/ |
− | | + | |
− | Es hat viel Mühe und Zeit gekostet, aus dem Wust von Anleitungen, Links und Hints die richtige Richtung zu finden.
| + | |
− | Es gibt sehr viele Sackgassen und Umwege zum Ziel. Hier ist nun der aktuelle (Stand 10.2006) richtige Weg.
| + | |
− | | + | |
− | Benötigte Kernel-Module:
| + | |
− | ir_kbd_i2c
| + | |
− | ir_common (wird automatisch von ir_kbd_i2c geladen)
| + | |
− | | + | |
− | Pakete:
| + | |
− | input-utils
| + | |
− | udev (standardmäßig installiert)
| + | |
− | | + | |
− | Step-by-Step:
| + | |
− | | + | |
− | 1. Eintragen von ir_kbd_i2c in /etc/modules
| + | |
− | Das Modul kann mit "modprobe ir_kbd_i2c" schon mal geladen werden, um die nächsten Steps durchzuführen.
| + | |
− | Wenn dieses Modul geladen ist, wird ein neuer Eintrag in /dev/input/ generiert.
| + | |
− | Dieser Eintrag heisst dann /dev/input/event<nächste freie Nummer>.
| + | |
− | Die Nummer hängt von der Anzahl der angeschlossenen Eingabegräte ab.
| + | |
− | 2. Erstellen der Datei /etc/udev/rules.d/000_privat.rules
| + | |
− | # cat /etc/udev/rules.d/000_privat.rules
| + | |
− | KERNEL=="event[0-9]*",SUBSYSTEMS=="input",ATTR{dev}=="13:67",NAME="input/%k",mode="666",group="video",SYMLINK="input/videoremote"
| + | |
− |
| + | |
− | Den Eintrag ATTR{dev}=="13:67" bitte mit "udevinfo --query=all --attribute-walk --name=input/event<Nummer von Step 1>" ermitteln.
| + | |
− | Um die Einstellungen zu übernemen, "udevtrigger" ausführen.
| + | |
− | Anschliessend muss in /dev/input ein Symlink "videoremote" existieren, der auf den Event zeigt.
| + | |
− | 3. Setzen der Keycodes für die Fernbedienung
| + | |
− | Da in dem Kernel-Modul ir_kbd_i2c nicht alle Tasten der Fernbedienung eingetragen sind, müssen diese Tasten neu definiert werden.
| + | |
− | Mit "tail -f /var/log/syslog" kann man das überprüfen.
| + | |
− | In der Ausgabe erscheint beim betätigen der "Go"-Taste auf der Fernbedienung:
| + | |
− | i2c IR (Hauppauge): unknown key: <irgendwas dahinter>
| + | |
− |
| + | |
− | Zunächst wird eine Datei "/etc/pvr-remote.keys" erstellt.
| + | |
− | Hierzu folgende Komandozeile ausführen:>
| + | |
− | # for i in $(seq 0 127); do echo -n "0x00"; echo "$(echo "ibase=10; obase=16; $i"|bc) = $i" ; done >/etc/pvr-remote.keys
| + | |
− | Die Datei editieren. Die erste Zeile muss in "0x0000 = 128" geändert werden.
| + | |
− | Dann die Datei mit:
| + | |
− | # input-kdb -f /etc/pvr-remote.keys $(/bin/ls -l /dev/input/videoremote |awk '{print $10 }' |sed 's#[^0-9]\+##')
| + | |
− | laden.
| + | |
− | Damit diese Codes beim Systemstart geladen werden, muss in /etc/init.d/ ein Startscript erstellt werden.
| + | |
− | Mein Script:
| + | |
− | | + | |
− | #!/bin/sh
| + | |
− | #################
| + | |
− | #
| + | |
− | # set keycodes for every key on pvr-remote
| + | |
− | #
| + | |
− | #################
| + | |
− | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
| + | |
− | INPUT_NR=$(ls -l /dev/input/videoremote |awk '{print $11 }' |sed 's#[^0-9]\+##')
| + | |
− | RETURNVAL=2
| + | |
− | [ -n "$INPUT_NR" ] && {
| + | |
− | input-kbd -f /etc/pvr350-remote.keys $INPUT_NR >/dev/null 2>&1
| + | |
− | RETURNVAL=$(input-kbd $INPUT_NR 2>&1 |grep "^map:" |awk '{print $2}')
| + | |
− | }
| + | |
− | case $RETURNVAL in
| + | |
− | 128)
| + | |
− | RETURNVAL="done"
| + | |
− | ;;
| + | |
− | 2)
| + | |
− | RETURNVAL="no event found"
| + | |
− | ;;
| + | |
− | *)
| + | |
− | RETURNVAL="failled ($RETURNVAL)"
| + | |
− | ;;
| + | |
− | esac
| + | |
− | echo "Setting Keycodes for PVR350-REMOTE .... $RETURNVAL"
| + | |
− | echo "Setting Keycodes for PVR350-REMOTE .... $RETURNVAL" |logger -t keycodes
| + | |
− | #-------- end script ----------
| + | |
− | | + | |
− | dieses Script ausführbar machen und mit "update-rc.d <scriptname> start 18 2 3 4 5 ." in die Runlevels einstellen.
| + | |
− | Danach sollten im Sylog keine "unknown key"-Meldungen mehr auftauchen.
| + | |
− | 4. Anlernen der Fernbedienung im lirc
| + | |
− | lirc sollte installiert und funktionsfähig sein. Anleitungen hierfür gibt es genug.
| + | |
− | Dann, bei gestopptem lircd, "irrecord --driver=dev/input --device=/dev/input/videoremote lircd.conf" ausführen und die Tasten einlernen.
| + | |
− | hier mal meine lircd.conf:
| + | |
− | | + | |
− | # Please make this file available to others
| + | |
− | # by sending it to <lirc@bartelmus.de>
| + | |
− | #
| + | |
− | # this config file was automatically generated
| + | |
− | # using lirc-0.8.0(userspace) on Tue Oct 17 10:14:53 2006
| + | |
− | #
| + | |
− | # contributed by
| + | |
− | #
| + | |
− | # brand: lircd.conf.pvr350.conf
| + | |
− | # model no. of remote control:
| + | |
− | # devices being controlled by this remote:
| + | |
− | #
| + | |
− |
| + | |
− | begin remote
| + | |
− |
| + | |
− | name lircd.conf.pvr350.conf
| + | |
− | bits 8
| + | |
− | eps 30
| + | |
− | aeps 100
| + | |
− |
| + | |
− | one 0 0
| + | |
− | zero 0 0
| + | |
− | pre_data_bits 24
| + | |
− | pre_data 0x800100
| + | |
− | gap 135594
| + | |
− | toggle_bit 0
| + | |
− |
| + | |
− |
| + | |
− | begin codes
| + | |
− | GO 0x3B
| + | |
− | POWER 0x3D
| + | |
− | TV 0x1C
| + | |
− | VIDEOS 0x18
| + | |
− | MUSIC 0x19
| + | |
− | PICTURES 0x1A
| + | |
− | GUIDE 0x1B
| + | |
− | UP 0x14
| + | |
− | RADIO 0x0C
| + | |
− | LEFT 0x16
| + | |
− | OK 0x25
| + | |
− | RIGHT 0x17
| + | |
− | BACK 0x1F
| + | |
− | DOWN 0x15
| + | |
− | MENU 0x0D
| + | |
− | VOL+ 0x10
| + | |
− | PREV-CHANNEL 0x12
| + | |
− | CHANNEL+ 0x20
| + | |
− | VOL- 0x11
| + | |
− | MUTE 0x0F
| + | |
− | CHANNEL- 0x21
| + | |
− | REC 0x37
| + | |
− | STOP 0x36
| + | |
− | REW 0x32
| + | |
− | PLAY 0x35
| + | |
− | FF 0x34
| + | |
− | CHAPTER- 0x24
| + | |
− | PAUSE 0x30
| + | |
− | CHAPTER+ 0x1E
| + | |
− | 1 0x01
| + | |
− | 2 0x02
| + | |
− | 3 0x03
| + | |
− | 4 0x04
| + | |
− | 5 0x05
| + | |
− | 6 0x06
| + | |
− | 7 0x07
| + | |
− | 8 0x08
| + | |
− | 9 0x09
| + | |
− | ASTERISK 0x0A
| + | |
− | 0 0x80010080
| + | |
− | RAUTE 0x0E
| + | |
− | RED 0x0B
| + | |
− | GREEN 0x2E
| + | |
− | YELLO 0x38
| + | |
− | BLUE 0x29
| + | |
− | end codes
| + | |
− |
| + | |
− | end remote
| + | |
− | # --- end lircd.conf -----
| + | |
− | | + | |
− | Schließlich noch in der /etc/lirc/hardware.conf
| + | |
− | DRIVER="dev/input"
| + | |
− | DEVICE="/dev/input/videoremote"
| + | |
− | eintragen und den lircd starten.
| + | |
− | Beim Start des VDR sollte dann eine Abfrage nach den zu lernenden Tasten erfolgen. Hierbei die Tasten der Fernbedienung entsprechend einlernen.
| + | |
− | | + | |
− | | + | |
− | | + | |
− | [[Kategorie:Debian]][[Kategorie:Fernbedienungen]]
| + | |