Probleme beim Einrichten von LIRC (Version 0.9.4c-9)

  • Hallo liebe Forum-Community!

    Ich bin blutiger Raspberry-Anfänger und bitte deshalb um Nachsicht für etwaige stupide Fehler. Ich habe mir in den Kopf gesetzt die elektronischen Geräte meiner Wohnung über openHAB steuerbar machen zu wollen. Bis dato habe ich es geschafft eine handvoll 433Mhz-Steckdosen und eine WIFI-RGB-LED von tp-link über die Weboberfläche bzw. Handy-App von openHAB zu steuern.

    Zuerst ein paar Hard-Facts über die verwendeten Betriebsmittel:

    Hardware:

    - Raspberry Pi 3 B+

    - 5 V, 250 mA Netzteil (leider kein Link zur Hand)

    - IR-Empfänger (TSOP 4838) an GPIO-Port 27 angeschlossen

    - IR-Diode an GPIO-Port 17 angeschlossen

    Software:

    - Betriebsystem: openHABian (voreingestelltes Betriebssystem von openHAB, läuft unter Raspian 9 "Stretch")

    - LIRC-Version: 0.9.4c-9

    Nun zu meinem derzeitigen Projekt.

    Ich möchte mithilfe von LIRC meine infrarot-gesteuerten Geräte schalten, die da wären:

    - Fernseher (LG TV 47LN6138)

    - Heimkinosystem (LG LHA725)

    - HDMI-Switch (Digitus DS-49304)

    Beim Einrichten des LIRC-Paketes bin ich der Anleitung dieser Website (github), die sich mit der Einrichtung der aktuellen Version von LIRC (0.9.4c-9) beschäftigt, gefolgt und habe folgendes Problem festgestellt. Wenn ich mir mit

    Code
    lsmod | grep lirc

    die mit "lirc" gekennzeichneten Kernelmodule anzeigen lasse, so fehlt bei mir das Modul "rc_core". Die Ausgabe meiner Konsole bei dem oben genannten Befehl lautet:

    Code
    lirc_rpi               16384  2
    lirc_dev               16384  1 lirc_rpi

    Wenn ich darauf hin mit den Befehlen

    Code
    systemctl stop lircd.socket
    systemctl stop lircd.service
    mode2 --driver default --device /dev/lirc0

    versuche meine Fernbedienungen einzulernen, geschieht nichts.

    Frage Nr.1: Kann es sein, dass das an dem fehlenden Kernelmodul rc_core liegt? Wenn ja, wie löse ich das Problem?

    Unten angeführt findet ihr meine Änderungen in den Dateien /boot/config.txt und /etc/lirc/lirc_options.conf.

    config.txt

    Code
    # Uncomment this to enable the lirc-rpi module
    dtoverlay=lirc-rpi,gpio_out_pin=27,gpio_in_pin=17,debug=1

    lirc_options.conf

    Code
    nodaemon        = False
    driver          = default
    device          = /dev/lirc0

    Ich habe auch versucht ein config-file aus der Repository (sourceforge) für die Fernbedienung AKB73715601 zu laden, woran ich ebenfalls scheiterte. Einfaches

    Code
    wget https://sourceforge.net/p/lirc-remotes/code/ci/master/tree/remotes/lg/AKB73715601.lircd.conf

    resultierte in einem File mit folgendem (für mich sinnlos erscheinenden) Inhalt:

    Code
    <!DOCTYPE html>
    <!-- Server: sfs-forge-3 -->

    Frage Nr.2: Wie kann ich vorgehen, um dieses config-file ordnungsgemäß in den Ordner /etc/lirc/lircd.conf.d zu laden?

    Ich möchte mich die Chance gleich nutzen und mich hier stellvertretend für alljene Menschen bedanken, die Zeit und Nerven in die Aufrechterhaltung solcher Foren und die Beantwortung der Fragen von Forenmitglieder, im speziellen die der Anfänger, investieren und das ohne dafür entlohnt zu werden. Solch einer Aufopferung gebührt Respekt und Dank! :bravo2:

    Vielen Dank im Voraus und LG

    Einmal editiert, zuletzt von HubwerkHubert (10. Juli 2018 um 13:32)

  • Probleme beim Einrichten von LIRC (Version 0.9.4c-9)? Schau mal ob du hier fündig wirst!

  • NT mit 5V, 250mA? Da dürfte der Raspi schon gar nicht booten, der Pi 3B+ braucht idle und ohne Peripherie etwa 1,9 W, da sind 1,25W ein bisschen knapp ;)

    Das Problem mit der Config Datei ist: du lädst den HTML-Code der Website herunter, auf der der Inhalt der Config Datei zu sehen ist, nicht die Datei selbst. Die korrekte URL zur reinen Datei lautet: https://sourceforge.net/p/lirc-remotes…conf?format=raw

    ("extrahiert" aus "Datei herunterladen"). Desweiteren brauchst du eventuell das wget Flag --content-disposition.

  • Hey, Linus!

    Vielen Dank für die rasche Antwort, noch so spät nachts! ^^

    Ich habe gerade festgestellt, dass ich eine 0 am Netzgerät überlesen hab. Richtig sind 2500mA, also 2,5A... :wallbash: shame on me.

    Ok, ich werde heute am Abend versuchen, die config-Datei zu laden. Eine Frage aus Interesse: Was genau macht das Flag? Ich konnte dazu unter Ubuntuusers nichts finden.

    2 Mal editiert, zuletzt von HubwerkHubert (10. Juli 2018 um 11:59)

  • Ja, ich habe die URL in Anführungszeichen an wget übergeben. Was ich mit nicht übernehmen gemeint hatte ist, dass ich versucht habe die Datei sowohl mit und ohne Flag herunterzuladen. Dabei ist mir aufgefallen, dass bei Benutzung des genannten Flags mit wget (also wget --content-disposition "URL") eine Datei in meinem Ordner erschien mit dem Namen "AKB73715601.lircd.conf". wget ohne Flag (also wget "URL") erstellte eine Datei mit dem Namen "AKB73715601.lircd.conf?format=raw", mit demselben Inhalt wie "AKB73715601.lircd.conf", jedoch mit dem Namensunterschied. Ich hab mich nur gewundert, wie dieses Flag funktioniert und woher der Namensunterschied rührt.

    Danke für den Tipp. Werde mal beizeiten nach "HTTP content disposition" suchen, evtl verstehe ichs dann. Frage Nr.2 hast du ja dankenswerterweise für mich schon beantwortet!

    Das ganze ist aber für mich gerade eher nebensächlich, ich würde vor allem gerne LIRC zum Laufen bringen. Jedoch scheitere ich immer noch daran dass mir bei mode2 -d /dev/lirc0 und drücken verschiedenster Knöpfe auf der Fernbedienung nur

    Code
    Using driver default on device /dev/lirc0
    Trying device: /dev/lirc0
    Using device: /dev/lirc0

    angezeigt wird, und kein Pulse oder Space (wie in Anleitungen). lircd.socket und lirc.service habe ich bei dem Versuch (wie in sämtlichen Anleitungen mit z.B. sudo systemctl stop lircd angegeben) zu LIRC gestoppt, bevor ich mit mode2 versucht habe, Signale einer Fernbedienung zu erkennen.

  • Danke für den Tipp. Werde mal beizeiten nach "HTTP content disposition" suchen

    Kurz und knapp: Im HTTP-Header wird ein Dateiname mitgegeben, unter dem die Datei (deren Inhalt sich im Body des Requests befindet) dann in der Regel gespeichert wird, sei es nun ein Download im Browser oder mit tools wie wget oder curl.

    Tut ja aber eigentlich hier nichts groß zur Sache... mit LIRC kann ich dir leider nicht helfen, aber da wird sich auch jemand finden.

  • Ah, hab jetzt auch mal den Wikipedia-Eintrag zu HTTP überflogen. Ich denke, jetzt is mir erstmals halbwegs klar, wie das mit Request und Response funktioniert.

    Tut ja aber eigentlich hier nichts groß zur Sache... mit LIRC kann ich dir leider nicht helfen, aber da wird sich auch jemand finden.

    Macht gar nix, du warst mir bereits eine große Hilfe. Vielen Dank dafür! :^^:

  • Hallo.

    Ich habe lirc selber im Einsatz, diese Woche bin ich relativ kurz angebunden (viel Arbeit und die Abende auch schon verplant). Falls du am WE immer noch Hilfe brauchst, kann ich mich gerne der Sache annehmen. Gruss Dani

    PS: als kurzer Tipp, such Mal nach der Anleitung von klenzel über lirc, wichtig ist einfach den Befehl rpi-update NICHT ausführen. Der Befehl distribution Upgrade muss auch NICHT gemacht werden.

    Edit: Super nette Autokorrektur macht aus lirc einfach Kirche...

    Edit2 (durch Linus:( Fixed ;)

    2 Mal editiert, zuletzt von Linus (10. Juli 2018 um 23:21)

  • Hi Dani!

    Kein Problem. Danke, dass du dich meinem Problem annehmen möchtest!

    Nach der Anleitung von Klenzel wollte ich ursprünglich vorgehen, bis ich festgestellt habe, dass sich diese Anleitung nicht mit Raspbian Stretch beschäftigt und somit eine andere Vorgehensweise zur Einrichtung von LIRC verwendet wird. So wird z.B. in der Anleitung die Datei hardware.conf geändert, die auf meinem rpi nicht einmal vorhanden ist. Es wird auf vielen Foren und aktuellen Anleitungen davon abgeraten, diese Datei selbst zu erstellen, da diese Datei (soweit ich das richtig verstanden habe) seit Einführung der Device Trees mit Stretch nicht mehr nötig ist. Soll ich trotzdem der Anleitung von Klenzel folgen?

    Leider habe ich die Firmware im Zuge der Anleitung mit rpi-update am Sonntag erst aktualisiert und habe lirc bereits mit der Version 0.9.4c-9 installiert. Wie soll ich nun vorgehen?

    Kirche :D

  • Ja, auf jeden Fall ist das sinnvoll... Stabile Firmware kommt über die normalen Updates mit apt rein, was im Umkehrschluss bedeutet, dass du mit rpi-update mit sehr großer Wahrscheinlichkeit un- oder nur teilweise getestete FW bekommen hast, deren Auswirkungen auf die Stabilität des Raspis nicht absehbar sind (ohne in den tatsächlichen Code bis zum Commit, auf dem deine Version basiert, zu schauen; FW-Code liegt auf GitHub).

  • So, ich hab mal mit sudo rpi-update {963a31330613a38e160dc98b708c662dd32631d5} auf die Version 4.14.52 downgraded, rebooted und mitsudo apt-get upgrade die neuste Firmware/Kernel-Version eingespielt. Leider habe ich versäumt nachzusehen, welche Kernel-Version vorher installiert war. uname -a gibt mir aus, dass Version 4.14.52-v7+ installiert ist.

    Kann bis jetzt keine Mängel feststellen, alles funktioniert wie gewohnt. Gibt es eine Möglichkeit sicherzugehen, dass alles so ist, wie es sein soll?

  • Omg, ich komm mir so dumm vor. Auf der klenzel-Seite sind mit dtoverlay=lirc-rpi,gpio_in_pin=17,gpio_out_pin=18 der Input- und der Output-Pin verdreht angegeben und ich habe diesen Fehler blind übernommen. :lol:

    Mode2 läuft, ich bin glücklich und kann die Einrichtung von LIRC fortsetzen. Sollte ich abermals auf Probleme stoßen, melde ich mich hier wieder...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!