Raspberry PI über CEC steuern

  • Oder einfach ein:

    Code
    export LD_LIBRARY_PATH=/opt/vc/lib


    Der Fehler liegt im zugrunde liegen Raspbian Version. Die hat nen Fehler in der Library Verwaltung.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Hallo!


    Nachdem ich hier alles durchgearbeite habe, und nach einigen Stolpersteinen (bootstrap, configure etc) doch mal das "make" funktioniert hat, bekomme ich beim Versuch den Daemon zu starten folgenden Fehler:


    ./libcec-daemon: error while loading shared libraries: libcec.so.2: cannot open shared object file: No such file or directory


    Den vorher genannten Tipp von "rechner" habe ich ausprobiert. Nutzt leider nix.


    Die nachflgenden Tipps habe ich nicht verstanden.


    Was kann ich noch probieren?


    Danke im voraus und Grüße


    Niel

    Client Wohnzimmer:
    RPi, VDR 2.1.6, rpihddevice, satip, remotetimers, osdteletext
    Client Schlafzimmer:
    zurzeit keiner
    VDR-Server:
    Epia 5000, 8 GB DOM, Skystar 2 HD, VDR 2.1.6, satip, svdrpservice
    (dient als Homeserver, macht auch noch andere Sachen, Zugriff auf 1TB NAS)
    Satip-Server:
    GSS.box DSI 400

  • Ich habe gestern mal versucht, die aktuelle Version von libcec-daemon zu kompilieren. Leider bleibt das make bei main.cpp stehen. Ich habe dann mal 1 Stunde gewartet aber danach war er immer noch nicht fertig.


    Probiert habe ich es auf einem akualisierten Raspbian nach der Anleitung hier.


    Irgend eine Idee, was da bei mir falsch laufen koennte?

  • Hallo!


    Das Problem mit make hatte ich auch. Da war ein Fehler in der main.cpp.


    Code
    int Main::onCecKeyPress(const cec_user_control_code & keycode) {
        	cec_keypress key = { .keycode=keycode };


    habe ich geändert in


    Code
    int Main::onCecKeyPress(const cec_user_control_code & keycode) {
        	cec_keypress key = { key.keycode=keycode };


    Dann lief make durch. Ob das richtig war, kann ich nicht sagen. Es scheint zu funktionieren.


    Nachdem ich alles nochmal neu gemacht habe, war auch mein vorher genannter Fehler bezüglich der nicht gefundenen Library weg.


    Grüße


    Niel

    Client Wohnzimmer:
    RPi, VDR 2.1.6, rpihddevice, satip, remotetimers, osdteletext
    Client Schlafzimmer:
    zurzeit keiner
    VDR-Server:
    Epia 5000, 8 GB DOM, Skystar 2 HD, VDR 2.1.6, satip, svdrpservice
    (dient als Homeserver, macht auch noch andere Sachen, Zugriff auf 1TB NAS)
    Satip-Server:
    GSS.box DSI 400

  • clausmuus
    hast Du mal die Version 2.4 von libcec unter raspi ausprobiert?
    In mld ist die 2.1 drinnen.


    Vielleicht gehen da ja ein paar mehr Tasten. Beim Pi und bei LG hat sich ein wenig getan.


    https://github.com/Pulse-Eight/libcec/blob/master/ChangeLog


    EDIT
    Die Versionsnummern sind dort etwas komisch. Mal reden sie von 2.4.1 und mal von 2.1.4. Zahlendreher?

  • Hallo,


    libcec hat einen Versionsprung gemacht: im Git gibt es schon die Version 2.2.0., als Release fehlt die Version noch. Für den RPI hat sich lt Changelog auch was getan:

    Zitat

    * various Raspberry Pi fixes. credits: @mk01


    Ich habe mir die Verson gezogen und erste Tests gemacht. Das TV Gerät war ein nicht mehr ganz tauffrischer Philips (Easylink = CEC), der RPI ein B+. Die Tasten habe ich mit dem libcec-daemon ausgewertet. Der hatte übrigens zwei Compile Fehler, die ich erst korrgieren musste. Was nicht eben für das Programm spricht, aber funktioniert hat es erstaunlicherweise doch.


    Das Ergebnis ist bisher positiv. Der TV überträgt die alle Tasten mit Ausnahme derer, die der TV für sich nimmt wie z.b der Eingang, Lautstärke, Hauptmenü etc. Wichtige Tasten wie Rot/Grün Channel Up/Down/Power/OK usw kommen an. Leider fehlt die Menütaste/Home auf meiner FB bzw. die TV nimmt sie für sich. Aber evtl kann man das durch Umbiegen anderer Tasten lösen..
    Was noch fehlt? Die Weitergabe der Keys an den VDR. Das sehe ich mir demnächst mal an.


    Grüße
    Kurt

    [font='Verdana, sans-serif'][size=8]vdr hd: Core i3 2100T, 2GB, Intel DH67BL, Tevii S480, Sandisk G25 SSD, 2TB HDD, Intel CIR, Harmony 300, MSI G210, yavdr 0.5

    2 Mal editiert, zuletzt von kh1309 ()

  • Hi Kurt,


    nur leider lässt sich libcec-daemon nicht gegen die neue Version bauen. Und den brauche ich um die cec Signale in Input Events umzusetzen.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Hi Claus,


    ja das Paket compiliert nicht. Ein älterer Fehler und ein neuer. Hab zwei Stellen geändert:
    main.cpp Zeile 414:

    Code
    int Main::onCecKeyPress(const cec_user_control_code & keycode) {
        	cec_keypress key = { key.keycode=keycode };


    und dann noch Zeile 156 in libcec.cpp

    Code
    /*config.iDoubleTapTimeoutMs = 0; */


    dann gehts
    VG Kurt

    [font='Verdana, sans-serif'][size=8]vdr hd: Core i3 2100T, 2GB, Intel DH67BL, Tevii S480, Sandisk G25 SSD, 2TB HDD, Intel CIR, Harmony 300, MSI G210, yavdr 0.5

  • Hi,


    besser ist wohl fuer libcec-2.2.0

    Code
    // since 2.2.0
            config.iDoubleTapTimeout50Ms = 0;


    zu verwenden.


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • 9000H: guter HInweis. Hab ich übersehn.


    Noch zwei Bemerkungen zum libcec-daemon.
    1) Das Repo https://github.com/bramp/libcec-daemonlibcec-daemon ist schon längere Zeit nicht mehr gewartet worden. Der Fehler ist schon mehrfach gemeldet worden. Es scheint, als ob der Owner das Interesse verloren hat.


    2) Die Konstruktion: Daemon = CEC-Client - Remote-Plugin - VDR ist etwas umständlich. Besser fände ich es, wenn das Remote-Plugin aufgebohrt oder wenn jemand ein neues RPICEC-Plugin erstellen würde. Das Plugin würde sich einerseits als CEC Client betätigen und andererseits die empfangenen Keys anstatt an uinput an den VDR weitergeben. Damit würde man den Umweg über den externen Prozess vermeiden.


    VG
    Kurt

    [font='Verdana, sans-serif'][size=8]vdr hd: Core i3 2100T, 2GB, Intel DH67BL, Tevii S480, Sandisk G25 SSD, 2TB HDD, Intel CIR, Harmony 300, MSI G210, yavdr 0.5

  • Besser fände ich es, wenn das Remote-Plugin aufgebohrt oder wenn jemand ein neues RPICEC-Plugin erstellen würde. Das Plugin würde sich einerseits als CEC Client betätigen und andererseits die empfangenen Keys anstatt an uinput an den VDR weitergeben. Damit würde man den Umweg über den externen Prozess vermeiden.


    Ich habe das auf meiner eigenen Wunschliste. Logistisch ist es wohl am einfachsten, die Funktion ins rpihddevice zu integrieren, da ich die entsprechenden Libraries eh schon anziehe und ein rpicec-plugin alleine irgendwie keinen Sinn macht.


    Gruss
    Thomas

  • Das halte ich für eine doofe Idee. Ein reines Input Plugin halte ich für sinnvoller, da dann auch andere Geräte oder der P8-CEC-Adapter davon profitieren.

    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

  • Hi,


    kh1309 finde die Idee mit dem Remote Plugin auch nicht so gut da andere Programme wie XBMC, Netflix etc die Fernbedienung auch benötigen. Ein Zentrales /dev/input? ist da schon richtig.


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Na ja, xbmc z.B. bringt ja auch ne eigene cec Unterstützung mit.
    Aber grundsätzlich würde ich auch ne /dev/input Lösung bevorzugen, wenn die denn auch funktionieren würde. libcec-daemon funktioniert ja leider nicht für alle Tasten. Es kommen zwar alle tasten an, diverse Tasten werden aber nicht interpretiert und stehen somit nicht zur Verfügung. Da ich bei dem ganzen Thema nicht so ganz durchblicke, ist es mir auch nicht gelungen diese im libcec-daemon zu aktivieren.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • ....ein rpicec-plugin alleine irgendwie keinen Sinn macht.


    full Ack! Eine Integration ins rpihddevice wäre die beste Wahl und auch für den Anwender einfacher, da weniger zu konfigurieren ist (btw: klasse Plugin, läuft hervorragend bei mir).


    9000H, glotzipapa: wo ist das Problem. Wenn ihr Apps habt, die /dev/input/x brauchen, könnt ihr ja stattdessen den Daemon Prozess nehmen. Die Möglichkeiten schliessen sich ja nicht gegenseitig aus, ausser ihr wolltet gleichzeitig zwei cec clients betreiben. Was ich mir auf nem rpi nicht recht vorstellen kann.


    clausmuus: welchen Tasten fehlen dir denn? Bsp? Hatte den Eindruck, das alles wichtige weitergereicht wird.


    vg
    Kurt

    [font='Verdana, sans-serif'][size=8]vdr hd: Core i3 2100T, 2GB, Intel DH67BL, Tevii S480, Sandisk G25 SSD, 2TB HDD, Intel CIR, Harmony 300, MSI G210, yavdr 0.5

  • Als Klassiker fällt mir als erstes die Menü Taste ein. In den Logs ist zu sehen, das diese zum RPI geschickt wird, jedoch wird die nicht vom RPI ausgewertet, sondern vom TV selbst.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Als Klassiker fällt mir als erstes die Menü Taste ein. In den Logs ist zu sehen, das diese zum RPI geschickt wird, jedoch wird die nicht vom RPI ausgewertet, sondern vom TV selbst.

    Die Menutaste (und ein paar andere ) kommen bei mir beim RPI nicht an, egal was ich anstelle. Im Log sehe ich sie auch nicht. Test wie folgt


    -Philips TV:

    • Konfiguration->Einstellungen->Bevorzugte Einstellungen->Easylink->ein,
    • Konfiguration->Einstellungen->Bevorzugte Einstellungen->Easylink FB->ein

    RPI:

    • libcec aus GIT bauen
    • Starten CEC Test Client
    • Dann Tasten der FB drücken (im Log P+/P-/Power off/Power on )



    Ich sehe (bei diesem TV) keine Chance, an die M Taste ran zu kommen.
    VG
    Kurt

    [font='Verdana, sans-serif'][size=8]vdr hd: Core i3 2100T, 2GB, Intel DH67BL, Tevii S480, Sandisk G25 SSD, 2TB HDD, Intel CIR, Harmony 300, MSI G210, yavdr 0.5

  • Hi,


    fuer ganz harte Faelle gibt es ja auch noch combokeys.


    CEC supports combo keys.


    Context Menu = > Stop + play key pressed one after other
    Back = > Stop + select (OK) key pressed one after other.
    Home => Stop + pause key pressed one after other.


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

Jetzt mitmachen!

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