Yavdr ansible und igorPlug-USB

  • Hallo,


    ich musste yaVDR05 nach Jahren problemlosen betriebes updaten, vieles funktioniert auch schon, aber z.B. funktioniert die Fernbedienung noch nicht und ich komme da nicht weiter. Der Igor-USB wird erkannt, die lirc.conf der Fernbedienung vom alten VDR ist unter /etc/lirc/lircd.conf.d gespeichert. Leider funktioniert es nicht....


    dmesg | grep igor:

    ?!?

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 1x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), 4x TT3600 USB DVB-S2, System Ubuntu 18.4 / YaVDR ansible headless
    Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend (defekt).
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

  • Kannst du mal bitte die Ausgabe von sudo ir-keytable zeigen? Soweit ich weiß wird das Teil bei neueren Kernelversionen als rc-core Empfänger angebunden, lircd braucht es dann nicht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo seahawk1986, danke für deine Antwort. Folgendes Resultat:


    Code
    1. /sys/class/rc/rc0/ gefunden (/dev/input/event3) mit:
    2. Name: IgorPlug-USB IR Receiver
    3. Treiber: igorplugusb, Tabelle: rc-hauppauge
    4. Lirc Gerät: /dev/lirc0
    5. unterstützte Protokolle: lirc rc-5 rc-5-sz jvc sony mce_kbd rc-6 sharp xmp
    6. Aktivierte Protokolle: lirc
    7. bus: 3, Anbieter/Produkt: 03eb:0002, Version: 0x0001
    8. Wiederholungsverzögerung = 500 ms, Wiederholungsperiode = 125 ms


    Scheint also irgendwie erkannt zu werden?

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 1x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), 4x TT3600 USB DVB-S2, System Ubuntu 18.4 / YaVDR ansible headless
    Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend (defekt).
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

    The post was edited 1 time, last by Negge ().

  • Siehe hier: Etwas hoch scrollen Beitrag IGOR USB

    https://www.yavdr.org/document…/de/ch02s03.html#usb_irmp

    Laut Beitrag darf Lirc nicht aktiviert werden..


    Gruß emma53

    Test_VDR: Digitainer 1 Gehäuse - AsRock N68C GS FX Board- Athlon II AM3+ X2 270 CPU - EVGA GT730 PCI-e HDMI LP passiv - DVBSky S2 952 Dual SAT - 1000GB W.D. Green HDD - LG GH22N30 S-ATA DVD - SMK RC6 MCE 50GB FB. an STM32 - EasyVDR 3.5.02 stable - Softhddevice Frontend - Kodi 17.6
    Clients: Hauppauge Media MVP Scart - VIP 1903Box - VIP 1910Box - EasyStream 0.6-18 fuer Windows - Raspberry PI B+ mit OpenElec 5.08 Kodi Helix 14.2 und Tsop31238 Lirc mit Conrad Promo8 FB on Code VCR 0104 - Raspi3 m.OpenElec 7.01 und Kodi 16.1

  • Ok, also ist es der einzige rc-core Empfänger im System. Dann kannst du lircd eigentlich wieder deaktiveren (bei yavdr-ansible ist das ja standardmäßig maskiert systemctl mask --now lircd.service) und eine Keymap für den Empfänger anlegen.


    Dazu als erstes Eventlircd vorübergehend deaktivieren, damit es den Empfänger freigibt: sudo systemctl mask --runtime --now eventlircd.{socket,service}

    Jetzt solltest du mit ir-keytable die Scancodes für Tastendrücke sehen können, wenn du folgendes machst: sudo ir-keytable -c -p rc5 -t


    Dann erstellst du eine Keymap (z.B. eine /etc/rc_keymaps/igorplugusb ) mit dieser Kopfzeile:

    Code
    1. # table rc-hauppauge, type: rc5

    Und in der Datei ordnest du einem Scancode den jeweiligen Tastennamen zu, also z.B. 0xb49 KEY_MENU

    Um die Keymap probeweise zu laden, kannst du folgendes machen: sudo ir-keytable -w /etc/rc_keymaps/igorplugusb -t, dann solltest du die den Scancodes zugeordneten Tastennamen sehen.


    Damit die Keymap vom Kernel beim Start des Systems geladen wird, trägst du in der /etc/rc_maps.cfg noch folgende Zeile ein:

    Code
    1. igorplugusb rc-hauppauge /etc/rc_keymaps/igorplugusb

    Nach einem Reboot sollte dann alles funktionieren.


    Wenn du unbedingt lircd nutzen willst, hast du zwei Möglichkeiten:

    • eventlircd komplett deaktivieren: sudo systemctl mask --now eventlircd.{socket,service}, damit lircd ungestört arbeiten kann
    • in der /etc/lirc/lirc_options.conf einen anderen Sockel als /var/run/lirc/lircd für den output wählen, weil der schon von eventlircd belegt wird - lircd2uinput bindet wegen der /etc/systemd/system/lircd.service.d/lircd2uinput.conf den Socket /var/run/lirc/lircd0 nach dem Start der lircd.service ein - also z.B.:
    Code
    1. output = /var/run/lirc/lircd0
    2. pidfile = /var/run/lirc/lircd0.pid

    Es kann außerdem sein, dass du verhindern musst, dass ich eventlircd das Kernel Input Device des Empfängers schnappt - das passiert für rc-core Empfänger wegen diesen beiden Zeilen: https://github.com/yavdr/yavdr…v/98-eventlircd.rules#L65 f.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    The post was edited 1 time, last by seahawk1986 ().

  • Hallo Seahawk,


    nochmal danke für die Hilfe. Also ich habe die entsprechende rc-Keymap nach deiner Anleitung erzeugt:

    cat /etc/rc_keymaps/igorplugusb


    und in /lib/udev/rules.d/98-lircd.rules habe ich auch die 2 Zeilen

    Code
    1. #SUBSYSTEMS=="rc", \
    2. #ENV{eventlircd_enable}="true"

    auskommentiert, damit udev den nicht zuordnet.


    Nach dem Reboot hat der VDR auf die FB-Signale dennoch nicht reagiert.


    Ich hab dann nochmal getestet:

    sudo su

    systemctl mask --runtime --now eventlircd.{socket,service}

    ir-keytable -w /etc/rc_keymaps/igorplugusb -t


    An der ssh-Konsole kann ich erkennen, dass er die Tastendrücke zuordnet , am TV kann ich allerdings erkennen, dass der VDR nur auf einige Tastendrücke reagiert (Zahlen 1-9, hoch, runter, rechts, links, VolUp/Down, ).Allerdings nicht: OK, Back, Menu, ChanUp/Down an der Fernbedienung nicht funktioniert (nur Tastatur).

    ir-keytable -w /etc/rc_keymaps/igorplugusb -t



    Code
    1. cat /etc/rc_maps.cfg | grep igor
    2. igorplugusb rc-hauppauge /etc/rc_keymaps/igorplugusb

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 1x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), 4x TT3600 USB DVB-S2, System Ubuntu 18.4 / YaVDR ansible headless
    Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend (defekt).
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

  • und in /lib/udev/rules.d/98-lircd.rules habe ich auch die 2 Zeilen Code

    Code
    1. #SUBSYSTEMS=="rc", \ #ENV{eventlircd_enable}="true"

    auskommentiert, damit udev den nicht zuordnet.

    Das darfst du nur machen, wenn du lircd nutzen willst (und in dem Fall macht es keinen Sinn eine evmap anzulegen).


    Vermutlich kommen die Tasten aktuell über den X-Server an den VDR und dabei werden Keycodes > 255 nicht unterstützt. Der yaVDR-Tastennamespace ist darauf ausgelegt über einen Lirc-kompatiblen Sockel (wie dem von eventlircd) an den VDR weitergereicht zu werden.


    Ich würde also die beiden Zeilen wieder einkommentieren, dafür sorgen, dass eventlircd.socket und eventlircd.service gestartet werden systemctl unmask eventlircd.{socket,service} und lircd.service maskiert ist systemctl mask --now lircd.{socket,service} und dann einen Neustart machen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo Seahawk,


    noch mal danke für die Hilfe, ich habe das so gemacht wie von Dir vorgeschlagen. Bin erst jetzt dazu gekommen weiter zu testen, und funktioniert leider nicht?!?


    Wenn ich mittels systemctl mask --runtime --now eventlircd.{socket,service} eventlirc maskiere, dann geht's wie oben beschrieben (nicht alle Tasten werden erkannt) . systemctl mask --now lircd.{socket,service} hatte ich vor einem Reboot ebenfalls ausgeführt, also müsste lircd ja auch maskiert sein? Bring auch nichts wenn ich ein systemctl mask --runtime --now lircd.{socket,service} mache, es werden immer noch Signale von der Fernbedienung erkannt.


    Es gibt übrigens eine Datei "/var/run/lirc/lircd-lirc0" . Hat die damit was zu tun?


    Ich hab ansonsten noch einsystemctl mask --now eventlircd.{socket,service} probiert und rebootet, nach dem Reboot geht die Fernbedienung nicht, auch nicht mehr nach einem ?systemctl mask --runtime --now eventlircd.{socket,service} wie zuvor?!? Jetzt braucht es erst wieder ein ir-keytable -w /etc/rc_keymaps/igorplugusb -t, dann geht die FB am VDR wieder???

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 1x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), 4x TT3600 USB DVB-S2, System Ubuntu 18.4 / YaVDR ansible headless
    Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend (defekt).
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

  • Probier mal die /lib/udev/rules.d/98-lircd.rules in /lib/udev/rules.d/98-lircd.disabled umzubenennen und schau, ob das Problem nach einem Neustart immer noch da ist.


    Was sagt lsusb zu dem Empfänger?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi,


    die Ausgabe von "lsusb -v" liefert für das Device:

    Nach umbennen von

    /lib/udev/rules.d/98-lircd.rules in /lib/udev/rules.d/98-lircd.disabled

    wird die Fernbedieung initialisiert und funktioniert: Teilweise, so wie oben beschrieben. Es werden nicht alle Tasten an den VDR uebermittelt.



    Mit ir-keytable -t hab dann nochmal die erkannten Codes der Fernbedienung getestst:


    Bsp.: an VDR übermittelte Taste "vol+"

    Code
    1. root@q150:~# ir-keytable -t
    2. Ereignisse werden getestet. Bitte drücken Sie STRG-C, um abzubrechen.
    3. 840.245755: Ereignistyp EV_MSC(0x04): Scancode = 0x1e10
    4. 840.245755: Ereignistyp EV_KEY(0x01) key_runter: KEY_VOLUMEUP(0x0073)
    5. 840.245755: Ereignistyp EV_SYN(0x00).
    6. 840.512029: Ereignistyp EV_KEY(0x01) key_hoch: KEY_VOLUMEUP(0x0073)
    7. 840.512029: Ereignistyp EV_SYN(0x00).
    8. ^C

    Bsp.: an VDR NICHT übermittelte Taste "Ch+"

    Code
    1. ir-keytable -t
    2. Ereignisse werden getestet. Bitte drücken Sie STRG-C, um abzubrechen.
    3. 947.899349: Ereignistyp EV_MSC(0x04): Scancode = 0x1e20
    4. 947.899349: Ereignistyp EV_KEY(0x01) key_runter: KEY_CHANNELUP(0x0192)
    5. 947.899349: Ereignistyp EV_SYN(0x00).
    6. 948.156031: Ereignistyp EV_KEY(0x01) key_hoch: KEY_CHANNELUP(0x0192)
    7. 948.156031: Ereignistyp EV_SYN(0x00).
    8. ^C


    Weitere beobachtungen:


    Bei Taste Play hält der VDR das Live-Signal an ? (als ob Taste Pause gedrückt wurde):

    Code
    1. 1123.188103: Ereignistyp EV_KEY(0x01) key_runter: KEY_PLAY(0x00cf)
    2. 1123.188103: Ereignistyp EV_SYN(0x00).
    3. 1123.314113: Ereignistyp EV_MSC(0x04): Scancode = 0x1e35
    4. 1123.314113: Ereignistyp EV_SYN(0x00).
    5. 1123.580038: Ereignistyp EV_KEY(0x01) key_hoch: KEY_PLAY(0x00cf)
    6. 1123.580038: Ereignistyp EV_SYN(0x00).

    Auf die Taste Pause reagiert der VDR nicht:

    Code
    1. 1209.688127: Ereignistyp EV_MSC(0x04): Scancode = 0x1e30
    2. 1209.688127: Ereignistyp EV_KEY(0x01) key_runter: KEY_PAUSE(0x0077)
    3. 1209.688127: Ereignistyp EV_SYN(0x00).
    4. 1209.779066: Ereignistyp EV_MSC(0x04): Scancode = 0x1e30
    5. 1209.779066: Ereignistyp EV_SYN(0x00).
    6. 1210.044036: Ereignistyp EV_KEY(0x01) key_hoch: KEY_PAUSE(0x0077)
    7. 1210.044036: Ereignistyp EV_SYN(0x00).

    Und die Taste Exit/back auf der Fernbedienung beendet das vdr-sxfe-frontend wie auf die "ESC"-Taste auf der Tastatur (Ich hab den Client im Testbetrieb inzwischen wierder so eingerichtet, dass der Client greift per VDR-SXFE auf den den VDR auf dem VDR-Server zugreift).

    Code
    1. root@q150:~# ir-keytable -t
    2. Ereignisse werden getestet. Bitte drücken Sie STRG-C, um abzubrechen.
    3. 1248.368002: Ereignistyp EV_MSC(0x04): Scancode = 0x1e1f
    4. 1248.368002: Ereignistyp EV_KEY(0x01) key_runter: KEY_ESC(0x0001)
    5. 1248.368002: Ereignistyp EV_SYN(0x00).
    6. 1248.636047: Ereignistyp EV_KEY(0x01) key_hoch: KEY_ESC(0x0001)
    7. 1248.636047: Ereignistyp EV_SYN(0x00).

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 1x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), 4x TT3600 USB DVB-S2, System Ubuntu 18.4 / YaVDR ansible headless
    Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend (defekt).
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

  • Es werden nicht alle Tasten an den VDR uebermittelt.

    Siehst du mit irw die Tastendrücke auf dem Sockel von eventlircd?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi,

    danke nochmal für deine Hilfe.


    Code
    1. irw /var/run/lirc/lircd-lirc0
    2. Cannot connect to socket /var/run/lirc/lircd-lirc0: Connection refused


    root@q150:~# irw /var/run/lirc/lircd --> läuft, aber kann ich Tasten drücken wie ich will, passiert nichts. Mit Strg-C abbrechen.


    Zudem habe ich im Aufruf von vdr-sxfe bisher immer den Parameter --lirc=/var/run/lirc/lircd-lirc0 mitgegeben. Jetzt habe ich das gerade mal ohne den Parameter probiert, aber die Fernbedienung funktioniert dennoch so fehlerhaft wie oben beschrieben --> Also offenbar nicht über diesen Lirc-Socket?



    --------


    Zudem ist mir nach dem Reboot aufgefallen, dass die Fernbedienung direkt nach dem Reboot doch nicht direkt funktioniert. Die Keytable wird zwar geladen, aber wohl nicht richtig?!?. Erst nach einem ir-keytable -w /etc/rc_keymaps/igorplugusb geht sie (hatte ich vermutlich beim rumtesten dann immer mal gemacht). In der /etc/rc_maps.cfg steht igorplugusb rc-hauppauge /etc/rc_keymaps/igorplugusb drin. Und nach dem booten gibt

    nach dem ir-keytable -w /etc/rc_keymaps/igorplugusb wird offenbar das Protokoll RC-5 aktiviert?



    Naja, weitere/andere Baustelle mit dem automatischen laden des RC-5-Protokolls, erstmal müssetn die Tastendrücke auch richtig an den VDR weitergeben werden...

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 1x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), 4x TT3600 USB DVB-S2, System Ubuntu 18.4 / YaVDR ansible headless
    Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend (defekt).
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

  • Aus irgendeinem Grund scheint die udev-Regel, die den igorplugusb an eventlircd bindet nicht richtig zu funktionieren - du erlaubst schon, dass das rc-core Empfänger passiert (https://github.com/yavdr/yavdr…v/98-eventlircd.rules#L65), oder?


    Wenn du willst, kann ich mal per SSH auf den Rechner schauen, eventuell springt mir da was ins Auge...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi, ich hab aufgegeben und es jetzt anders gelöst. Das Image von YaVDR0.5 läuft jetzt wieder auf dem Client. Geht und ist weniger gefrickel. Nur der Server ist jetzt neu (vor allem wegen dem EPG-Daemon). Trotzdem danke für die Hilfe.

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 1x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), 4x TT3600 USB DVB-S2, System Ubuntu 18.4 / YaVDR ansible headless
    Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend (defekt).
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible