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

  • Hi,


    Ich verwende Ubuntu Server und solange das lirc Packet installiert ist funktioniert es super.
    Sobald ich jedoch das lirc Packet entferne, soll ja soweit ich verstanden habe nicht notwendig sein, funktioniert es nicht mehr.


    Anfangen tut es damit das natürlich /var/run/lirc/lircd dann nicht da ist, was ich einfach mal manuell angelegt habe.
    Tests mit irw gehen natürlich nicht, da lirc ja nicht installiert ist...


    Hast du für mich Lösungsvorschläge, was ich machen müsste damit es auch ohne installiertem lirc geht?


    Lg,
    Christoph

    Server: Intel NUC DN2820FYKH - Telestar DIGIBIT R1 (via SAT>IP) - 16GB SSD & RAID5 mit 3TB netto
    Client: Samsung BD-F6500 über Smarttv-Plugin

  • Hallo,


    Habe irmplircd bei mir gerade unter gentoo eingerichtet, funktioniert einwandfrei.


    Jedoch habe ich das gleiche Problem wie Oxid: Wiederholungen beim Tastendruck funktionieren nicht.


    Muss da evtl. noch was im irmplircd implementiert werden?


    Grüße,
    hubsif.

  • Hi,


    ich hab mir auch einen gebaut, funzt 1a! Ist momentan mit irmplircd in Betrieb. Mit dem irmp_exec funktioniert es auch, mir ist nur nicht so klar was ich in die config reinschreiben soll damit der vdr das dann auch macht?!? Kann mir da mal jemand ein Beispiel geben wo das rein muss. In die remote.conf?


    Markus

    Streamingclient 1:
    [-] RaspiVDR MLD 5.x an Panasonic TV mit CEC :D


    Streamingclient 2:
    [-] RaspiVDR MLD 5.x - Samsung TV mit CEC


    Streamingserver:
    [---] Proxmox Server PVE7
    [- ] MLD 5.x Server - OctopusNet 4 Tuner

  • Meinst du da den Eintrag mit dem resetten? Kann ich bei mir nicht feststellen.

    Streamingclient 1:
    [-] RaspiVDR MLD 5.x an Panasonic TV mit CEC :D


    Streamingclient 2:
    [-] RaspiVDR MLD 5.x - Samsung TV mit CEC


    Streamingserver:
    [---] Proxmox Server PVE7
    [- ] MLD 5.x Server - OctopusNet 4 Tuner

  • Kann ich bestätigen.

    vllt. etwas OT aber anyway.. https://www.mikrocontroller.net/topic/171111#2635339 kann das jemand bestaetigen?

    Hab da auch einen nachgebaut, je nach Mainboard funktionierts. Siehe mein Beitrag "yaUsbIr".


    Gruß Uwe

    Multiroom-System:
    Server: ASRock J4105, openSUSE Tumbleweed, 14TB HD, Cine S2 (4Tuner), vdr2.4.0, streamdev-server

    FullHD-Client1: Zotac ZBOX HD-ND22, openSUSE 13.1, vdr2.2.0, streamdev-client, xineliboutput, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5
    FullHD-Client2: Zotac ZBOX HD-ND22, openSUSE 42.1, vdr2.2.0, streamdev-client, softhddevice, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5
    Test-Client: ASRock B85M, openSUSE Tumbleweed, vdr2.4.0, streamdev-client, softhddevice, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5

  • Ist ja toll, dass alle das Projekt gut finden. Es wäre aber noch toller, wenn auch mal Feeback kommen würde, ob alles funktioniert. Oder ist es so, dass bei ausbleibendem Feedback alles ok ist?


    BTW: Betreibt jemand den Empfänger mit einer Frequenz > 10000? Bei mir funktioniert das nicht, es wird nichts mehr korrkt empfangen.

    scheint soweit gut zu laufen :)


    und ja, ich habe eine T-Home (X301T) remote (RUWIDO protokoll) welches mit 15000 interrupts laeuft und das klappt soweit auch ganz gut.
    ob das mit den anderen jetzt auch noch so toll klappt kann ich momentan nicht sagen.


    btw. in c_hashmap/hashmap.h line 81 (endif) fehlt "//" oder "/* */".


    ich hab mir das irmp_exec von anbr noch nicht angeschaut aber wenn beide das gleiche ziel haben koennte man diese projekte ja ggf. zusammenlegen und die sources dann auch irgendwo auf sf.net oder so hosten.
    eventuell wuerde es ja auch sinn machen eine IRMP implementierung fuer LIRC zu schreiben.

  • Die Sourcen gibt es künftig bei github https://github.com/realglotzi/irmplircd.


    Außerdem habe ich noch ein Tool namens irmpexec dazugelegt, mit ähnlicher Funktionalität wie irexec. Bei irmpexec gibt es zusätzllich einen Testmode, wie bei dem irw Kommando aus dem lirc Package.

    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

  • Hallo,


    Dieses Problem habe ich auch. Hat sich das schon jemand angekuckt?


    Danke!
    hubsif.

  • Hi,
    nun hierbei wird es sich um das "toggle"-Flag handeln. Durch eine kleine Änderung in der Firmware müsste sich das "beheben" lassen. Es würden dann einfach die Daten ohne irmp.flag. Der USB Report würde da dann einfach 0x00 gesetzt.


    muebau

  • Hi,
    habe das auf Basis des USBasp aufgebaut. Es funktioniert gut:


    http://wiki.easy-vdr.de/index.php/USBASP_Einschalter


    muebau


    Funktioniert wirklich gut mit dem USBasp.


    Daher habe ich die IRMP-Receiver-Firmware mal aktualisiert und zusammen mit irmplircd auf meinen github Account gelegt:


    https://github.com/realglotzi


    Folgendes ist neu:


    * aktuelle IRMP-Version 2.2.3
    * aktuelle V-USB Version vom 09.01.2012
    * USB-Disconnect Fix eingebaut (http://www.mikrocontroller.net/topic/171111#2638119)
    * LED Support: 1. LED wird beim Start des USBasp eingeschaltet, 2. LED flackert beim Empfang
    * Makefile und Build mit avr-gcc


    Das Hex-File läuft natürlich nur auf dem USBasp und ist ohne Bootloader.

    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

  • @glotzipapa
    In der maping.c ist noch ein kleiner Fehler.
    Die Zeile
    len = sscanf(line, "%99s %99s", key, value);
    sollte
    len = sscanf(line, "%99s %99[^\n]s", key, value);
    lauten.
    Das Beispiel
    KEY_OK ls -l
    in der irmpexec.map dürfte sonst nicht funktionieren. Die Originalzeile liest nur "ls" ein und das wird dann auch ausgeführt, das "-l" geht verloren.


    Sonst eine super Arbeit, mir fehlt nur noch das einschalten eines anderen Geräts über ein Linux Script.

  • Ich habe auch den USB IR ... von Mikrokontroller.net, der wir auch erkannt (/dev/hidraw0) aber irmplircd will nicht (es startet und macht dann einfach nix keine Log einträge keine Ausgabe) und Hid Mapper sagt immer er finde das gerät nicht.


    Was kann das sein.
    Edit:
    Hier nochmal den lsusb Auszug


    Bus 007 Device 002: ID 16c0:05df VOTI
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 1.10
    bDeviceClass 0 (Defined at Interface level)
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 8
    idVendor 0x16c0 VOTI
    idProduct 0x05df
    bcdDevice 1.08
    iManufacturer 1 ONLINE
    iProduct 2 USB IR Remote Receiver
    iSerial 0
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 34
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0x80
    (Bus Powered)
    MaxPower 20mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 1
    bInterfaceClass 3 Human Interface Device
    bInterfaceSubClass 0 No Subclass
    bInterfaceProtocol 0 None
    iInterface 0
    HID Device Descriptor:
    bLength 9
    bDescriptorType 33
    bcdHID 1.01
    bCountryCode 0 Not supported
    bNumDescriptors 1
    bDescriptorType 34 Report
    wDescriptorLength 89
    Report Descriptors:
    ** UNAVAILABLE **
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x81 EP 1 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0008 1x 8 bytes
    bInterval 100
    Device Status: 0x0000
    (Bus Powered)

  • Hallo,
    ich bin auf irmplircd gestoßen, weil ich eine Möglichkeit gesucht habe, alle Tastencodes meines nicht-selbstbau USB-Empfängers zu verarbeiten, welcher mit lirc und dem devinput-Treiber ein paar Tasten nicht erkennt. Soweit funktioniert das alles ganz prima, einziges Problem ist, dass die "grab" Option nicht will, was sehr störend ist, da das Gerät dann immer noch zusätzlich als Tastatur Signale schickt wodurch die Bedienung eines Programms etwas schwierig wird ;)


    Also die Fehlermeldung ist:
    Failed to grab /dev/hidraw1: Invalid argument
    und kommt aus der Zeile
    if(grab) {
    if(ioctl(newdev->fd, EVIOCGRAB, 1) < 0) {


    Nach einigem Suchen ist meine Vermutung, dass der ioctl EVIOCGRAB, der sich den exklusiven Zugriff auf das device holt, für hidrawX-devices einfach nicht vorgesehen ist (inputlircd auf /dev/input/inputX funktioniert tadellos mit "grab" und benutzt ja genau den gleichen Code um das zu bewerkstelligen).


    Ich habe das jetzt gelöst, indem ich den Xserver das Eingagegerät ignorieren lasse, aber fände es schöner das im daemon selbst zu lösen. Ist denn diese Verhalten noch anderen aufgefallen und lässt es sich durch irgendwelche Tricks umgehen oder habe ich mich einfach irgendwo verkonfiguriert? Wenn meine Vermutung stimmt und das gar nicht geht, dann könnte man ja vielleicht aus dem irmplircd diese Option entfernen und durch einen Hinweis ersetzen?

  • Hallo,


    Ich musste meinen HTPC (xmbc auf ubuntu 12.04 minimal) neuaufsetzen, jetzt bekomme ich irmplirc nicht mehr zum laufen.
    Unter windows liefert der empfänger daten ebenso unter cat /dev/hidraw4. Unter irw bekomme ich allerdings keine ausgabe. Hat jemand eine idee zur lösung des problems? Oder eine schritt für schritt anleitung für die aktuelle version?


    Grüße
    Rezzo

  • Hallo zusammen!


    Als Entwickler von dem USB IR Remote Receiver möchte ich mich nun als Linux Laie hier etwas erkundigen!


    Und zwar überlege ich mir einen Raspberry PI + OpenELEC zuzulegen.


    Eine Anleitung wie man OpenELEC kompeliert habe ich gefunden:


    http://wiki.openelec.tv/index.…OpenELEC_for_Raspberry_Pi



    Nun frage ich mich wie ich irmplirc hier integriere!? Mein LCD TV kann leider keine CEC und somit braucht der Raspberry PI einen Infrarot-Empfänger.


    Ist das überhaupt umsetzbar und wenn ja kann mir da jemand dabei helfen?

  • Hallo Hugo,


    der IRMP Receiver sollte auch mit dem RPi funktionieren. Hier


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


    ist eigentlich gut beschrieben, wie irmplircd compiliert werden muß. In der beschriebnen Form funktioniert das direkt auf dem RPi sicher auch. Man kann aber auch den Crosscompiler benutzen, dafür wäre dann ein angepaßtes Makefile hilfreich. Meine RPi sind leider noch nicht da, daher kann ich nicht sagen, ob es problemlos funktioniert. Wenn sie da sind werde ich es sicher ausprobieren und ein Makefile/Binary zur Verfügung stellen.


    Alternativ gibt es noch die möglichkeit eine IR-Diode via GPIO anzuschliessen.

    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

Jetzt mitmachen!

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