User Tools

Site Tools


mld:tutorials:fernbedienungen54serial

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

mld:tutorials:fernbedienungen54serial [2018/04/14 16:30]
MarMic [Liste der devices anzeigen]
mld:tutorials:fernbedienungen54serial [2019/04/28 12:55] (current)
Line 1: Line 1:
 ====== Step by Step ir-serial mit ir-keytable ====== ====== Step by Step ir-serial mit ir-keytable ======
 +
 +  Die hier beschriebene Konfiguration ist inzwischen in das Setup übernommen worden.
  
 ===== Liste der devices anzeigen ===== ===== Liste der devices anzeigen =====
-''​+
 <​code>​ <​code>​
 BVDR> ir-keytable BVDR> ir-keytable
Line 12: Line 14:
         bus: 1, vendor/​product:​ d464:9022, version: 0x0001         bus: 1, vendor/​product:​ d464:9022, version: 0x0001
         Repeat delay = 500 ms, repeat period = 125 ms         Repeat delay = 500 ms, repeat period = 125 ms
-        ​</​code>​ +</​code>​ 
-''​+
 hier sieht man nur das device der DVB Karte - dieses soll allerdings nicht genutzt werden. hier sieht man nur das device der DVB Karte - dieses soll allerdings nicht genutzt werden.
  
Line 20: Line 22:
  
 festlegen an welchem COM Port es angeschloßen ist(hier com1) festlegen an welchem COM Port es angeschloßen ist(hier com1)
-''​setserial /dev/ttyS0 uart none''​+<​code>​setserial /dev/ttyS0 uart none</​code>​
  
 nun die Treiber laden: nun die Treiber laden:
-''​modprobe serial-ir''​+<​code>​modprobe serial-ir</​code>​
  
 dmesg sagt nun: dmesg sagt nun:
-''​[ 3689.460620] serial_ir serial_ir.0:​ auto-detected active low receiver+<​code>​[ 3689.460620] serial_ir serial_ir.0:​ auto-detected active low receiver
 [ 3689.483767] Registered IR keymap rc-rc6-mce [ 3689.483767] Registered IR keymap rc-rc6-mce
 [ 3689.484744] IR RC6 protocol handler initialized [ 3689.484744] IR RC6 protocol handler initialized
Line 32: Line 34:
 [ 3689.506875] input: Serial IR type home-brew as /​devices/​platform/​serial_ir.0/​rc/​rc1/​input18 [ 3689.506875] input: Serial IR type home-brew as /​devices/​platform/​serial_ir.0/​rc/​rc1/​input18
 [ 3689.507978] ir-keytable[3573] [ 3689.507978] ir-keytable[3573]
-[ 3689.516070] rc rc1: lirc_dev: driver serial_ir registered at minor = 1''​+[ 3689.516070] rc rc1: lirc_dev: driver serial_ir registered at minor = 1</​code>​
  
 ==== Device Liste überprüfen ==== ==== Device Liste überprüfen ====
 nun überprüfen wir die Device List nun überprüfen wir die Device List
-''​BVDR> ir-keytable+<​code>​BVDR> ir-keytable
 Found /​sys/​class/​rc/​rc1/​ (/​dev/​input/​event15) with: Found /​sys/​class/​rc/​rc1/​ (/​dev/​input/​event15) with:
         Driver serial_ir, table rc-rc6-mce         Driver serial_ir, table rc-rc6-mce
Line 52: Line 54:
         Repeat delay = 500 ms, repeat period = 125 ms         Repeat delay = 500 ms, repeat period = 125 ms
 BVDR> BVDR>
-''​+</​code>​
  
 das Device rc1 ist nun vorhanden aber es empfängt noch keine Daten, da das Protokol falsch ist. das Device rc1 ist nun vorhanden aber es empfängt noch keine Daten, da das Protokol falsch ist.
  
 ==== device test mit evtest ==== ==== device test mit evtest ====
-''​BVDR> evtest+<​code>​BVDR> evtest
 No device specified, trying to scan all of /​dev/​input/​event* No device specified, trying to scan all of /​dev/​input/​event*
 Available devices: Available devices:
Line 64: Line 66:
 /​dev/​input/​event15: ​    ​Serial IR type home-brew /​dev/​input/​event15: ​    ​Serial IR type home-brew
 Select the device event number [0-15]: Select the device event number [0-15]:
-''​+</​code>​
 event15 ist unser Empfänger er hat aber noch kein passendes Protokoll event15 ist unser Empfänger er hat aber noch kein passendes Protokoll
  
-''​evtest /​dev/​input/​event15 +<​code>​evtest /​dev/​input/​event15 
-''​+</​code>​
 liefert noch keine TASTEN beim drücken. liefert noch keine TASTEN beim drücken.
  
Line 76: Line 78:
  
 == Protokolle einzeln laden == == Protokolle einzeln laden ==
-''​BVDR> ir-keytable -s rc1 -p NEC+<​code>​BVDR> ir-keytable -s rc1 -p NEC
 Protocols changed to nec Protocols changed to nec
-''​+</​code>​
 NEC ersetzen durch den Namen des zu testenden Protokolls NEC ersetzen durch den Namen des zu testenden Protokolls
 in unserem Fall sagt ir-keytable:​ in unserem Fall sagt ir-keytable:​
-''​Supported protocols: lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp''​+<​code>​Supported protocols: lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp</​code>​
  
 nun mit evtest Testen: nun mit evtest Testen:
-''​BVDR> evtest /​dev/​input/​event15+<​code>​BVDR> evtest /​dev/​input/​event15
 Input driver version is 1.0.1 Input driver version is 1.0.1
 Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100 Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Line 172: Line 174:
 Event: time 1523714088.877285,​ type 4 (EV_MSC), code 4 (MSC_SCAN), value 00 Event: time 1523714088.877285,​ type 4 (EV_MSC), code 4 (MSC_SCAN), value 00
 Event: time 1523714088.877285,​ -------------- SYN_REPORT ------------ Event: time 1523714088.877285,​ -------------- SYN_REPORT ------------
-''​+</​code>​
  
 Es sieht gut aus - wir haben scan codes ABER noch keine Zuweißung. Es sieht gut aus - wir haben scan codes ABER noch keine Zuweißung.
Line 178: Line 180:
 == EINFACH ALLE Protokolle laden == == EINFACH ALLE Protokolle laden ==
 Man lädt einfach mit -p alle Protokolle die laut ir-keytable unterstützt werden aufeinmal rein: Man lädt einfach mit -p alle Protokolle die laut ir-keytable unterstützt werden aufeinmal rein:
-''​BVDR> ir-keytable -s rc1 -p lirc -p rc-5 -p rc-5-sz -p jvc -p sony -p nec -p sanyo -p mce_kbd -p rc-6 -p sharp -p x+<​code>​BVDR> ir-keytable -s rc1 -p lirc -p rc-5 -p rc-5-sz -p jvc -p sony -p nec -p sanyo -p mce_kbd -p rc-6 -p sharp -p x
 mp mp
 Protocols changed to lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp Protocols changed to lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
-''​+</​code>​
  
 Damit sollten aufjedenfall wieder keycodes funktionieren! Damit sollten aufjedenfall wieder keycodes funktionieren!
-''​+<​code>​
 BVDR> evtest /​dev/​input/​event15 BVDR> evtest /​dev/​input/​event15
 Input driver version is 1.0.1 Input driver version is 1.0.1
Line 275: Line 277:
 Event: time 1523714340.048912,​ type 4 (EV_MSC), code 4 (MSC_SCAN), value 15 Event: time 1523714340.048912,​ type 4 (EV_MSC), code 4 (MSC_SCAN), value 15
 Event: time 1523714340.048912,​ -------------- SYN_REPORT ------------ Event: time 1523714340.048912,​ -------------- SYN_REPORT ------------
-''​+</​code>​
  
 Wie auf bei Möglichkeit eins muss man diese nun einem Key zuweißen oder man hat bereits eine map datei und lädt diese. Wie auf bei Möglichkeit eins muss man diese nun einem Key zuweißen oder man hat bereits eine map datei und lädt diese.
Line 283: Line 285:
 Beispiel mit Taste 1. Beispiel mit Taste 1.
 Bei Taste 1 kommt folgende evtest Ausgabe: Bei Taste 1 kommt folgende evtest Ausgabe:
-''​Event: time 1523714338.384568,​ type 4 (EV_MSC), code 4 (MSC_SCAN), value 11 +<​code>​Event: time 1523714338.384568,​ type 4 (EV_MSC), code 4 (MSC_SCAN), value 11 
-Event: time 1523714338.384568,​ -------------- SYN_REPORT ​''​+Event: time 1523714338.384568,​ -------------- SYN_REPORT ​</​code>​
  
 der scan code ist somit 11 und dieser muss nun Key_1 zugewiesen werden. der scan code ist somit 11 und dieser muss nun Key_1 zugewiesen werden.
  
 dazuerstellt man eine Datei in /​etc/​rc_keymaps/​name_der_remote und füllt diese mit folgender Syntax: dazuerstellt man eine Datei in /​etc/​rc_keymaps/​name_der_remote und füllt diese mit folgender Syntax:
-''​0x[SCANCODE] LEERZEICHEN [KEY]''​+<​code>​0x[SCANCODE] LEERZEICHEN [KEY]</​code>​
 also für uns Beispiel: also für uns Beispiel:
-''​0x11 KEY_1''​+<​code>​0x11 KEY_1</​code>​
 Speichern fertig! Speichern fertig!
  
Line 297: Line 299:
 Nun testen wir diese zuweißung indem wir die map auch mit laden -w. Nun testen wir diese zuweißung indem wir die map auch mit laden -w.
  
-''​ir-keytable -s rc1 -c -p NEC -w /​etc/​rc_keymaps/​rc-test-nec+<​code>​ir-keytable -s rc1 -c -p NEC -w /​etc/​rc_keymaps/​rc-test-nec
 Old keytable cleared Old keytable cleared
 Wrote 1 keycode(s) to driver Wrote 1 keycode(s) to driver
 Protocols changed to nec Protocols changed to nec
-''​+</​code>​
  
 es wurde ein keycode geladen (klar wir haben nur einen hinzugefügt). Dabei habe ich bewusst das richtige Protokoll eingefügt. es wurde ein keycode geladen (klar wir haben nur einen hinzugefügt). Dabei habe ich bewusst das richtige Protokoll eingefügt.
  
 ir-keytable sieht nun so aus: ir-keytable sieht nun so aus:
-'' ​ir-keytable+<​code> ​ir-keytable
 Found /​sys/​class/​rc/​rc1/​ (/​dev/​input/​event15) with: Found /​sys/​class/​rc/​rc1/​ (/​dev/​input/​event15) with:
         Driver serial_ir, table rc-rc6-mce         Driver serial_ir, table rc-rc6-mce
Line 314: Line 316:
         bus: 25, vendor/​product:​ 0001:0001, version: 0x0100         bus: 25, vendor/​product:​ 0001:0001, version: 0x0100
         Repeat delay = 500 ms, repeat period = 125 ms         Repeat delay = 500 ms, repeat period = 125 ms
-''​+</​code>​
  
 evtest sagt nun: evtest sagt nun:
-''​evtest /​dev/​input/​event15+<​code>​evtest /​dev/​input/​event15
 Input driver version is 1.0.1 Input driver version is 1.0.1
 Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100 Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Line 335: Line 337:
 Properties: Properties:
 Testing ... (interrupt to exit) Testing ... (interrupt to exit)
-''​+</​code>​
 es kann schon KEY_1    es kann schon KEY_1   
-''​Event code 2 (KEY_1)''​+<​code>​Event code 2 (KEY_1)</​code>​
  
 das testen wir natürlich sofort in dem wir auf der Fernbedienung Taste 1 drücken: das testen wir natürlich sofort in dem wir auf der Fernbedienung Taste 1 drücken:
-''​Testing ... (interrupt to exit)+<​code>​Testing ... (interrupt to exit)
 Event: time 1523715061.010631,​ type 4 (EV_MSC), code 4 (MSC_SCAN), value 11 Event: time 1523715061.010631,​ type 4 (EV_MSC), code 4 (MSC_SCAN), value 11
 Event: time 1523715061.010631,​ type 1 (EV_KEY), code 2 (KEY_1), value 1 Event: time 1523715061.010631,​ type 1 (EV_KEY), code 2 (KEY_1), value 1
Line 348: Line 350:
 Event: time 1523715061.402358,​ type 1 (EV_KEY), code 2 (KEY_1), value 0 Event: time 1523715061.402358,​ type 1 (EV_KEY), code 2 (KEY_1), value 0
 Event: time 1523715061.402358,​ -------------- SYN_REPORT ------------ Event: time 1523715061.402358,​ -------------- SYN_REPORT ------------
-''​+</​code>​
 alles wie gewollt. So geht man nun weiter vor, bis man alle Tasten angelernt hat, oder man lädt eine bereits enthaltene datei aus /​etc/​rc_keymaps oder /​lib/​udev/​rc_keymaps alles wie gewollt. So geht man nun weiter vor, bis man alle Tasten angelernt hat, oder man lädt eine bereits enthaltene datei aus /​etc/​rc_keymaps oder /​lib/​udev/​rc_keymaps
  
-===== Das MUSS CLAUS NUN NOCH konfigurierbar und bei jedem Start ausführbar machen ​=====+====== ​Anpassungen für den RPi ====== 
 +In der Datei /​boot/​config.txt muss jetzt "​dtoverlay=lirc-rpi"​ geändert werden in: 
 +<​code>​dtoverlay=gpio-ir,​rc-map-name=rc-hauppauge</​code>​ 
 +Weiterhin ist in der /​etc/​rc_maps.cfg die Zeile "​ir-kbd-i2c ​        ​rc-hauppauge ​        /​etc/​rc_keymaps/​rc-hauppauge"​ wie folgt auszutauschen:​ 
 +<​code>​gpio_ir_recv ​            ​rc-hauppauge ​              /​etc/​rc_keymaps/​rc-hauppauge</​code>​ 
 +Nachfolgend der Inhalt für die Datei /​etc/​rc_keymaps/​rc-hauppauge für eine Harmony mit dem Profil KLS 1.6: 
 +<​code>#​ table hauppauge, type: RC5, KLS1.6 
 +0xb4c KEY_SELECT 
 +0xb0c KEY_POWER2 
 +0xb70 KEY_TV 
 +0xb71 KEY_VIDEO 
 +0xb72 KEY_AUDIO 
 +0xb73 KEY_CAMERA 
 +0xb4b KEY_EPG 
 +0x130 KEY_RADIO 
 +0xb44 KEY_UP 
 +0xb45 KEY_DOWN 
 +0xb46 KEY_LEFT 
 +0xb47 KEY_RIGHT 
 +0xb48 KEY_OK 
 +0xb4a KEY_ESC 
 +0xb49 KEY_MENU 
 +0xb10 KEY_VOLUMEUP 
 +0xb11 KEY_VOLUMEDOWN 
 +0xb22 KEY_PREVIOUS 
 +0xb0d KEY_MUTE 
 +0xb20 KEY_CHANNELUP 
 +0xb21 KEY_CHANNELDOWN 
 +0xb37 KEY_RECORD 
 +0xb36 KEY_STOP 
 +0xb32 KEY_REWIND 
 +0xb35 KEY_PLAY 
 +0xb34 KEY_FASTFORWARD 
 +0xb30 KEY_PREVIOUSSONG 
 +0xb33 KEY_PAUSE 
 +0xb31 KEY_NEXTSONG 
 +0xb01 KEY_1 
 +0xb02 KEY_2 
 +0xb03 KEY_3 
 +0xb04 KEY_4 
 +0xb05 KEY_5 
 +0xb06 KEY_6 
 +0xb07 KEY_7 
 +0xb08 KEY_8 
 +0xb09 KEY_9 
 +0xb08 KEY_TEXT 
 +0xb00 KEY_0 
 +0xb78 KEY_SUBTITLE 
 +0xb40 KEY_RED 
 +0xb41 KEY_GREEN 
 +0xb42 KEY_YELLOW 
 +0xb43 KEY_BLUE 
 +</​code>​ 
 + 
 +Der Inhalt stammt aus mehreren Forumsbeiträgen zu diesem Thema [[http://​www.minidvblinux.de/​forum/​index.php/​topic,​9090.0.html|u.a. diesem Beitrag]] 
 + 
 + 
  
  
  
mld/tutorials/fernbedienungen54serial.1523716247.txt.gz · Last modified: 2018/04/14 16:30 (external edit)