yavdr + Technotrend S2-4600 Fernbedienung

  • Ich hab mir ja echt Mühe gegeben, aber ich bin stuck :(


    Mein Setup:yavdr 0.5, xbmc frontend, auf zbox id41, Technotrend S2-4600, läuft prima, nur ich bekomme die Fernbedienung nicht hin.


    Code
    cat /proc/bus/input/devices 
    I: Bus=0003 Vendor=0b48 Product=3011 Version=0000
    N: Name="IR-receiver inside an USB DVB receiver"
    P: Phys=usb-0000:01:00.0-1.3/ir0
    S: Sysfs=/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/usb6/6-1/6-1.3/input/input6
    U: Uniq=
    H: Handlers=kbd event6 
    B: PROP=0
    B: EV=3
    B: KEY=40fc010 20206100000000 0 8000 418080002001 9e168000000000 ffc


    Probleme:
    a) doppelte Tastendrücke, hab ich gesehen kommt vor, Lösungen gibt es, kümmere ich mich später drum.
    Aber b) nicht alle Tasten kommen beim VDR an!


    Zum Beispiel die OK Taste zeigt keine Wirkung. Bei evtest sehe ich alle Tasten korrekt...



    Ich verstehe im Moment nicht wie ich nachvollziehen kann wie genau die Fernbedienung aktuell eingebunden ist und an wo ich an der Konfiguration drehen kann
    :O


    Danke vorab an die Gemeinde für die Unterstützung!

  • Ich verstehe im Moment nicht wie ich nachvollziehen kann wie genau die Fernbedienung aktuell eingebunden ist und an wo ich an der Konfiguration drehen kann


    Also die Tastennamen scheinen ja zu passen und evtest reagiert. Wenn du jetzt evtest beendest, eventlircd startest und dann irw aufrufst:

    Code
    sudo irw

    solltest du sehen was eventlircd auf dem Lirc-Sockel ausgibt, von dem auch der VDR und XBMC lesen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ah Moment, das ist ja gar kein rc-core Gerät, sondern ein normales Kernel Input Device - d.h. die Tasten musst du über eine evmap zuweisen und du brauchst noch eine udev-Regel um den Empfänger von eventlircd auswerten zu lassen.


    Also sollte in die /lib/udev/rules.d/98-eventlircd.rules an dieser Stelle: https://github.com/yavdr/yavdr…/98-eventlircd.rules#L163 noch diese Ergänzung:

    Code
    ENV{ID_VENDOR_ID}=="0b48", ENV{ID_MODEL_ID}=="3011", \
      ENV{eventlircd_enable}="true", \
      ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap"


    Und du musst eine /etc/eventlircd.d/03_0b48_3011.evmap anlegen, in der du die Tasten, die noch nicht zum yaVDR-Namespace passen remappst.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • An der evmap hänge ich jetzt :(
    Bleiben wir bei der OK Taste, vdr reagiert nicht.
    Bei EVTEST kommt aber schon (original post oben)


    Code
    Event code 352 (KEY_OK)


    "KEY_OK" ist doch schon Namespace konform?!


    Wie muss die Zeile für die OK Taste dann in evmap konkret aussehen??

  • "KEY_OK" ist doch schon Namespace konform?!

    Ja.


    Wichtig wäre jetzt erst mal zu sehen, ob der Empfänger das udev-Attribut bekommt:

    Code
    udevadm info --query=env /dev/input/event6 # vorher mit evtest oder "cat /proc/bus/input/devices nachsehen, ob event6 immer noch stimmt


    Da solltest du so etwas sehen, wenn die udev-Regel greift (im Zweifelsfall mal einen Neustart machen, damit sie sicher angewendet wird):

    Code
    eventlircd_enable=true
    eventlircd_evmap=03_0b48_3011.evmap


    Falls das Atribut nicht auftaucht, bräuchte ich mal die Details zu den Udev-Merkmalen des Gerät:

    Code
    udevadm info --query=all --attribute-walk /dev/input/event6

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ist nach meinem Eintrag in 98-eventlircd.rules auf event4 gewandert.



    Soweit also alles OK.


    Mit dem udev-Attribut scheint das allerdings in's Leere zu laufen:


    Code
    root@zbox:~# udevadm info --query=env /dev/input/event4
    query needs a valid device specified by --path= or --name=


    Da ich mit dem Befehl bisher nicht arbeiten musste einfach mal auf typo getippt und versucht:


    Code
    root@zbox:~# udevadm info --query=env --path=/dev/input/event4
    device path not found


    Bringt mich also auch nicht weiter :(

  • Probier es mal so - offenbar ist udev nicht in der Lage selbst zu erkennen was für ein Typ es ist...

    Code
    udevadm info --query=env --name=/dev/input/event4
    udevadm info --query=all --attribute-walk --name=/dev/input/event4

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Mühsam ernährt sich das Eichhörnchen :]


    Also erstmal zur Bestätigung (jetzt event10...):



    udevadm liefert:



    Hilft das weiter ???

  • Die Ausgabe von udevadm brauche ich schon komplett, sonst weiß ich ja nicht welche Attribute man in der udev-Regel verwenden kann - aktuell greift die ja noch nicht...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Sorry, ich hatte die Vermutung nur die ersten beiden Einträge ...
    Here you go:


  • Probier mal bitte, ob das etwas ändert wenn du die Regel in der /lib/udev/rules.d/98-eventlircd.rules so abänderst:

    Code
    ATTRS{idVendor}=="0b48", ATTRS{idProduct}=="3011", \
      ENV{eventlircd_enable}="true", \
      ENV{eventlircd_evmap}="03_$attr{idVendor}_$attr{idProduct}.evmap"


    Wenn das auch nicht klappt, kannst du stattdessen in der /lib/udev/rules.d/98-eventlircd-names.rules so eine Regel verwenden:

    Code
    ATTRS{name}=="IR-receiver inside an USB DVB receiver", \
      ENV{eventlircd_enable}="true", \
      ENV{eventlircd_evmap}="03_0b48_3011.evmap"

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Irgendwie klappt das mit den Regeln nicht. Mit beiden Varianten ergeben sich keine Veränderungen (gebootet habe ich zwischendurch jedes Mal!).


  • Stop! Einen Schritt weiter bin ich!


    Mit der Änderung in /lib/udev/rules.d/98-eventlircd-names.rules bekomme ich:



    Next steps? Damit wären wir wieder bei der evmaps ...

  • Die Ausgabe von EVTEST jetzt:



    Ist aber wie erwartet ?!

  • Weiter gestochert... Mangels besseren Wissens einen Dummy Eintrag in 03_0b48_3011.evmap gemacht:


    Code
    KEY_OK 	= KEY_OK


    Sicher Schwachsinn, aber was solls.


    Jetzt liefert irw aber output


    Code
    root@zbox:~# irw
    160 0 KEY_OK devinput
    160 0 KEY_OK devinput
    6c 0 KEY_DOWN devinput
    67 0 KEY_UP devinput


    Und z.B. die OK Taste zeigt auch eine Reaktion.
    Macht bitte mal jemand das Licht hier für mich an?!!

  • Next steps? Damit wären wir wieder bei der evmaps ...


    Und du musst eine /etc/eventlircd.d/03_0b48_3011.evmap anlegen, in der du die Tasten, die noch nicht zum yaVDR-Namespace passen remappst.

    Code
    sudo touch /etc/eventlircd.d/03_0b48_3011.evmap


    Nach einem

    Code
    sudo stop eventlircd # gibt ggf. eine Fehlermeldung, wenn er nicht läuft
    sudo start eventlircd


    Solltest du sehen, dass eventlircd Tasten weiterreicht - überprüfen kannst du das mit

    Code
    sudo irw


    Die Ausgabe von evtest ändert sich nicht.


    Und jetzt trägst du für jede Taste, die nicht das tut was du von ihr willst den gewünschten Namen in die evmap ein, z.B. wird statt KEY_EXIT die Taste KEY_ESC erwartet, um im Menü einen Schritt zurück zu gehen und statt KEY_POWER wird KEY_POWER2 genutzt - also schreibst du so eine Zeile in die evmap:

    Code
    KEY_EXIT  =  KEY_ESC
    KEY_POWER =  KEY_POWER2


    Die Änderungen werden jeweils nach einem Neustart von eventlircd aktiv:

    Code
    sudo restart eventlircd

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!