irmplircd für USB IR Remote Receiver (based on irmp)

  • Hallo,
    habe auch einen Empfänger auf USBasp-Basis aufgebaut.
    - nur USBasp mit Atmega8A aus Hong Kong von hier: http://www.ebay.de/itm/310506909410?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
    - TSOP direkt verbunden (Spannungsstabi über RC-Glied dürfte bei USB-Power überflüssig sein) an SCK/Pin7 der 10-Port Buchse.
    - main.hex mit arduino und auch einem anderen USBasp geflasht. verify war ok.
    - FUSES auf 0xC9 und 0xEF


    Damit wir unter Linux ein hidraw0 erstellt und lsusb zeigt mir das Gerät auch an.
    Wenn ich auf verschiedene Fernbedienungen drücke flackert die grüne LED, die rote ist dauerhaft an.
    ABER:
    cat /dev/hidraw0 bringt NICHTS!


    Daher kann irmplircd, irw etc. auch nichts mehr anzeigen.
    Was stimmt denn hier nicht?


    NACHTRAG:
    Mmm, Kommando zurück. Auf einem "richtigen" Rechner mit Debian 7.0.5 live-CD ging's jetzt.
    Kann es sein, dass ein Laptop am USB-Port zuwenig Strom liefert?!


    NACHTRAG2:
    OK, ich bin doof. :(
    hidraw0 war das device der Maus, nicht vom USBasp. Ergo: geht auch am Laptop, wenn man das richtige hidrawX erwischt.


    Gibts eigentlich schon ein plugin für OpenELEC?

  • Hallo,
    ich habe ein Verständnisproblem. Wenn ich mir diese Grafik ansehe, gibt's zig Wege IR-codes irgendwie "erkennen" zu können:
    http://www.yavdr.org/documentation/0.5/de/ch02s03.html


    Nun kann man udev-rules erstellen, damit beim Anstecken des USBasp-IR-Geräts der irmplircd geladen wird. Eigentlich ist das jedoch umständlich, da man extra nen extra dämon kompilieren und laden muss. Evtl. auch noch cross-compile und fürs OpenELEC-image sowieso total umständlich. :(


    Der USBasp erstellt mir ja schon ein hidraw-device. Kann man da nicht irgendwo ne .map erstellen, dass das System LIRC-events zu hören bekommt?
    Warum hört mein System keine LIRC-events vom hidraw-dev? Tastatur-hid-events kommen ja auch durch!?
    "Irgendwie" scheinen da ja schon etliche Protokolle und IR-Empfänger implementiert zu sein, ich verstehe aber nicht wie das System die Codes letztlich "bekommt", bzw ausführt.
    Blickt da jemand durch?


    Eine weitere Frage ist, warum der USBasp+IR-Empfänger sich nicht gleich als event-dev anmeldet. Wäre da ein extra kernel-modul nötig?

  • Hallo,


    ich brauchte fuer die Zusammenarbeit mit vompclient einen irmplircd, der mit uinput zusammenarbeitet (aehnlich wie lircd mit der option -u). Ich habe irmplicrd entsprechend erweitert.
    Auf meinem raspberry-pi laeuft das gut.
    Es ist zwar ein uebler hack, aber bei Interesse kann ich das gerne zur Verfuegung stellen.


    Gruss


    Wolfgang

  • Gibts ein Trick damit irmpexec wie irexec funktioniert, in dem man eine Taste mehrmals betätigen muss und der Befehl erst nach dem x-mal ausgeführt wird?


    Meine irexec.conf sieht so aus:

    Code
    begin
      prog = irexec
      button = KEY_POWER
      button = KEY_POWER                  	
      button = KEY_POWER
      button = KEY_POWER
      button = KEY_POWER                  	
      config = reboot
    end
  • Gibts ein Trick damit irmpexec wie irexec funktioniert, in dem man eine Taste mehrmals betätigen muss und der Befehl erst nach dem x-mal ausgeführt wird?


    Der Trick ist: nimm irexec, statt irmpexec.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Um noch einmal auf das repetition flag zurückzukommen: Das wird in irmplircd ja gar nicht ausgewertet. Die Variable repeat wird ja ausschließlich auf Basis der Zeit hochgezählt. Könnte man das flag nicht auswerten, wenn z.B. das Argument repeat-time beim Aufruf nicht gesetzt ist? Oder meinetwegen, wenn es auf einen negativen Wert gesetzt wird.


  • Ich bin nicht sicher, aber mit dem IRMP_FLAG_REPETITION gab es Probleme, daher wird das nicht verwendet. Aber es optional zu verwenden ist sicher keine schlechte Idee. Kannst mir wieder einen PullRequest schicken.


    BTW: Hast du mich daran erinnert, dass ich noch einen Patch zum Thema RepeatFlag vom Team easyvdr übernehmen wollte. Ich hab das gestern mal nachgeholt und committed.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Du hast ja bei dir in IRMP_DATA ein uint8_t dummy, was ja die ReportID darstellt. Könnte man sich drauf einigen, dass irmplircd nur bei einer gewissen ReportID Meldung auf dem lirc Socket macht und die anderen ignoriert?
    Ich bin nämlich gerade dabei jrie STM32 Projekt bisschen umzubauen und es wäre schön, wenn man das Konfigurationsprogramm parallel zu irmplircd ausführen könnte, ohne das irmplircd auf die Erfolgs-/Fehlermeldung vom STM32 nach erfolgter Konfiguration reagieren würde - und damit Tastendrücke meldet, die gar keine waren.
    Welche Projekte außer dem USBASP Einschalter verwenden denn noch den irmplircd?

  • Ich finde es besser, wenn irctl eine spezielle ReportID sendet und die dann von irmplircd ignoriert wird. Sonst muss ja die USBasp Firmware geändert werde, oder?


    Ansonsten habe ich keine Ahnung welche Projekte irmplircd verwenden. Das Feedback war bisher eh ziemlich mager.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Ich vermute, das von olebowle angesprochene Problem betrifft auch die USBasp Firmware.
    Die benutzt Report ID 0x01 für's IR Code übertragen. Ich könnte IRMP_STM32 auch auf 0x01 umstellen.
    Insofern ist olebowle's Vorschlag schon sinnvoll.


    Hugo Portisch's "USB IR Remote Receiver" und alle davon abgeleiteten Projekte, wie der USBasp, können mit irmplircd benutzt werden.

  • Schön wäre es wenn die alten Projekte nicht beeinträchtigt werden wenn irmplircd aktualisiert wird. Dazu gibt es sicherlich verschiedene Wege. (=> Ziel: Keine bestehende HW neu flashen müssen nur weil jemand den "Treiber" verbessert)


    PS: Wenn jemand das Konfigurationsprogramm 1-2 Mal nutzt um den Einschaltcode zurückzusetzen, dann stören ein paar falsch empfangene IR Codes auch nicht großartig. Störend wird es eher bei Szenarien wo man das Konfigprogramm ständig verwendet. Nur fällt mir gerade kein Grund dazu ein.

  • Alles was auf Portisch basiert sendet IR Codes mit Report ID 0x01, mein IRMP_STM32 mittlerweile auch.
    Von daher spricht nichts dagegen, nur 0x01 durch zu lassen.
    Lieber gleich richtig ;)


    In meinem Projekt muss dann allerdings die Konfiguration auf eine andere Report ID gelegt werden, bei mir läuft zur Zeit alles über eine.

  • Ich denke nur ReportID 0x01 durchlassen ist ok. Wenn jemand nen Pullrequest schickt übernehme ich das.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Moin,


    ich hab ein STM32F103 Board mit IRMP am laufen (Projekt siehe: hier bzw. hier)


    cat /dev/hidraw1 liefert etwas. Ebenfalls das Programm vom Autor des STM32 IRMP Projekts. wenn ich irmplircd mit

    Code
    irmplircd /dev/hidraw1



    starte und danach irw kommen keine Tastencodes. Als FB nutze ich eine von Technotrend (TT-3600?)


    Was mache ich falsch, bzw. wie kann ich dem Problem auf die Spur kommen?

    VDR-Server: AMD Athlon X2 5200+ ,ASUS M3N78 (Geforce8200), 2x 2GB RAM, 2xTT DVB-C 1501, 3x WD AV-GP 2000GB in RAID5, yaVDR 0.5
    Client 1: Desktop PC, Win7

  • Benutzt du den aktuellen git Stand von irmplircd (geändertes ReportID-handling)?
    Es gab einige Veränderungen in der Firmware zum STM32. Könntest du mal folgende Firmware flashen: https://github.com/j1rie/IRMP_STM32?

  • Ich hatte natürlich noch die veraltete Firmware, da bis gestern jrie git-hub repo leer war.


    Jetzt kommen einwandfrei über irw die Keycodes rein.


    Danke :tup

    VDR-Server: AMD Athlon X2 5200+ ,ASUS M3N78 (Geforce8200), 2x 2GB RAM, 2xTT DVB-C 1501, 3x WD AV-GP 2000GB in RAID5, yaVDR 0.5
    Client 1: Desktop PC, Win7

Jetzt mitmachen!

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