lirc-Unterstützung einbauen

  • Hallo,


    Ich möchte mal wieder das alte Thema lirc "aufwärmen" (siehe hier)


    So wie ich das verstehe, kann die Dreambox doch über ihren Infrarot-Empfänger auch was senden, oder ?
    (In der Bedienungsanleitung steht zumindest "Sende-/Empfangsdioden")
    Also ist es doch generell möglich, über lirc z.B. laut/leise-Befehle an den Verstärker zu senden.


    Die Frage ist nun, wie baue ich die lirc-Unterstützung in das Dreambox-Image ein ?


    Also, den lirc-Dämon zu übersetzen ist kein Problem (der ist ja schon im CVS drin).
    Wobei da ja voreingestellt für die serielle Schnittstelle :confused_face: übersetzt wird, wäre das für die Dreambox korrekt?


    Des weitern gibts auf der Dreambox kein /dev/lirc, muss da noch irgendeine Kerneloption geändert werden?


    Wenn diese Fragen geklärt sind, könnte man sich überlegen, wie man das in Enigma einbaut. Bei Neutrino kann man (glaube ich) in irgendeinem Expertenmenü einstellen, ob die Lautstärkefunktionen über lirc laufen)


    Also ich würde schon gerne den Verstärker über die Dreambox steuern, das wäre dann wieder eine Fernbedienung weniger :winking_face:


    dbluelle

  • Iam, das auch an dieser Eigenschaft interessiert wird, verursachen meinen neuen Fernsehapparat könnte nicht mit SCART einschalten signalisiert..., Gibt es irgendein Info über, wie man IR Absender in Dreambox steuert?

  • Tja, anscheinend besteht da wohl zuwenig Interesse... :frowning_face:


    Schade, ich hätte gerne zumindest einen Ansatzpunkt, in welche Richtung man da "forschen" müsste...


    Immerhin steht ja groß und breit "Supports Linux Standard API (DirectFB, LinuxFB, LIRC...)" auf der Verpackung :face_with_rolling_eyes:


    dbluelle

  • Zitat

    Original von dbluelle


    Also ich würde schon gerne den Verstärker über die Dreambox steuern, das wäre dann wieder eine Fernbedienung weniger :winking_face:


    dbluelle


    Bau dir ein JP1 Interface (Kostenpunkt etwa 5 EUR) und programmiere die Fernbedienung der DreamBox entsprechend um. Genau genommen kannst du mit der DM7K Fernbedienung drei Geräte steuern - und jede Taste auch einzeln belegen, d.h. z.B:
    DREAM = Steuerung der Dream
    TV = Steuerung des Receivers
    Shift+TV (=AUX) = Steuerung der X-Box oder des DVD-Players


    Dann kannst du dir z.B. die Vol+/Vol- Tasten so belegen, dass die immer den Verstärker steuern, die Standby-Taste mit nem Makro belegen, dass sowohl DreamBox als auch Verstärker gleichzetig ein- und ausschaltet, etc.


    Ne ANleitung gibts unter dreambox-fernbedienung.de.vu, alle notwendigen Programme unter http://www.hifi-remote.com - wobei die Fernbedienung der dm7025 mit diesen Programmen (noch) nicht umprogrammiert werden kann.

    Einmal editiert, zuletzt von LittleBoy ()

  • LittleBoy, in English, if possible.
    The major task of this feature - is to turn on\off tv from dreambox timer (not to miss interesting film f.e.), with remote control it could not be done :frowning_face:

  • Zitat

    Original von dbluelle


    Immerhin steht ja groß und breit "Supports Linux Standard API (DirectFB, LinuxFB, LIRC...)" auf der Verpackung :face_with_rolling_eyes:


    dbluelle


    nix gegen diesen feature request (könnte ich mir auch manchmal gut vorstellen sowas zu gebrauchen) aber:


    Zitat

    Wikipedia
    LIRC ist die Abkürzung für Linux Infrared Remote Control. Es handelt sich dabei um ein Programm für Linux mit dessen Hilfe man Befehle von IR-Fernbedienungen in Programmbefehle umsetzen kann.


    ich glaub das macht die dream ja auch oder? also ist die zeile auf der verpackung ja wohl mehr als hinreichend erfüllt...

    Dreambox 7000s, 7025ss, 600s, 800s, 8000ss, Hotbird 13°, Astra 19,2°, Astra 23,5°

  • huhu dcdead :winking_face:


    ja weiss ich es geht mir aber darum das hier schon wieder mit einem nicht erfüllten aber angegebenen feature der dream gekontert wird (zumindest hab ich das so verstanden) - und das stimmt ja in dem fall nicht :smiling_face:


    das ich mir so ein feature auch gut vorstellen könnte - also das die dream bei einem "timer event" den tv und eventl. den av-receiver einschaltet habe ich ja schon gesagt - nur war das ja nie ein zugesichertes feature das auf der verpackung steht :winking_face:

    Dreambox 7000s, 7025ss, 600s, 800s, 8000ss, Hotbird 13°, Astra 19,2°, Astra 23,5°

    Einmal editiert, zuletzt von SadButTrue ()

  • Zitat

    Original von maxgap
    LittleBoy, in English, if possible.
    The major task of this feature - is to turn on\off tv from dreambox timer (not to miss interesting film f.e.), with remote control it could not be done :frowning_face:


    The most important problem: Even if you manage to use the infrared diode: On most systems ist will "look" into the same direction as the infrared receiver - so this would not be a clean oder reliable way to do what you want.


    So if you really want to switch on tv when the DreamBox gets on - why dont you use a special power socket (a "master/slave socket")? So everytime your DreamBox switches on, then powersocket will also start the other devices.

  • my TV set (Panasonic) work normally if its IR remote located behind the IR receiver.


    could you send more details about "special power socket" ? how it is controlled?

  • Zitat

    Original von SadButTrue
    ja weiss ich es geht mir aber darum das hier schon wieder mit einem nicht erfüllten aber angegebenen feature der dream gekontert wird (zumindest hab ich das so verstanden) - und das stimmt ja in dem fall nicht


    Naja, man kann darüber streiten, was "Supports Linux Standard API" bedeutet :winking_face:
    Aber darum geht's mir auch nicht.


    Ich möchte ja nur ein (ob angegeben oder nicht) neues Feature in die Software einbauen...
    Also ich denke sowas ähnliches wie LIRC auf der DBox2 müsste doch auch auf der Dreambox machbar sein, oder?

  • If somebody would just compile the lirc dameon for DM 7025 then maybe I would consider to make a nice plugin out of it :winking_face:


    At least a combination with my cronamanager plugin would be nice.


    Wenn wer den lirc dameon aus dem CSV für die DM 7025 für mich compilieren würde könnte ich mir vorstellen ein kleines Plugin daraus zu machen :winking_face:


    In Kombination mit meinen cronmanagerplugin könnte man da schon nette Sachen machen.


    Ciao
    thowi

  • Danke, ich schaue es mir am Wochenende an.


    Beim Multiboot ist derzeit eh nicht viel zu machen, also sollte ich Zeit haben mich damit zu spielen.


    Jetzt muss ich halt meine alten Files mit dem Fernbedieungscode von VCR und TV aus d-box2 Zeiten rauskrammen :winking_face:


    Am interessantesten wird es aber wahrscheinlich wenn man über lirc die Dreambox sich selbst steuern läßt ...


    Zuerst muss mal der Dameon Kommandos schicken können, dann muss ich ein script schreiben das analog zur alten d-box implementierung mit irsend aus commandfiles die Befehle absetzen kann, und dann kann man daraus schöne Fernbedieungsmakros bauen.


    Dann muss man im python code die stellen finden wo man so wie bei der d-box die Befehle für Laut/Leiser/Mute,.... absetzen kann wenn die entsprechenden .lirc files auf /etc/txbox/config/lirc existieren usw.


    Also eigentlich ein schönes Projekt um lange Sommerabende damit zu befüllen.


    Gruss
    thowi

    3 Mal editiert, zuletzt von thowi ()

  • so hier als Zwischenbericht das Ergebnis meiner ersten Tests:


    Dameon startet ist aber mit dem default driver gelinked (serial), ein lirc.conf für die DM 7000 (die ja die selbe Fernbedienung hat) damit der dameon glücklich ist und laufen bleibt findet man auch.


    Ein start/stop lircd.sh für /etc/init.d das man später auf das entsprechende rc.* directory verlinken kann ist auch schnell aus den templates gemacht.


    Allerdings sobald ich mit irsend etwas über den dameon rausschicken will möchte er das über das device /dev/lirc machen, auf /dev gibt es aber sobald man den dameon startet nur ein device /lircd über das der client accepted wird (also vom dameon selbst erstellt)


    startet man den daemon mit --device=/dev/lircd so sagt der dameon auch das device und output nicht der selbe sein können.


    Legt man zur Überlistung einen Soft Link von /dev/lirc auf /dev/lircd an so ist der daemon zwar glücklich (weil der device typ passt) aber irsend kriegt ausser beim LIST Komand wo er ja nur dem lircd dameon nach den commands aus dem /etc/lirc.conf fragt dann nach 1 sec natürlich ein timeout.


    Die Frage ist also jetzt wie komme ich zum richtigen IR output device
    und evt dem richtigen driver bzw. kernel module ?


    Ich kann zwar ein device anlegen:


    mknod /dev/lirc c 61 2


    Aber das geht dann natürlich auch ins leere.


    Die naheliegenden anderen serial devices /dev/ttys/0-5 habe ich natürlich auch alle durchprobiert mit --device anzugeben.


    Und jetzt sagt nicht die DM 7025 hat keine IR Ausgabe diode und ich muss meinen alten seriellen IR sender/empfänger rauskrammen !


    Input ist Willkommen, ich spiele in der Zwischenzeit halt weiter ...


    Anbei noch mein tar.bz2 file mit den bisher erstellten und verwendeten programmen (bzip2 damit man mit makekit sich das lircXXtar.bz2 selber machen kann ist auch dabei ) und den verwendeten configs wenn wer mitspielen will.


    Einfach daemon mit /etc/init.d/lirc start starten oder interaktiv damit man die Fehlermeldungen sieht mit:


    /usr/sbin/lircd -n


    Testen mit


    /usr/sbin/irsend SEND_ONCE DM_7000 mute


    /usr/sbin/irsend LIST DM_7000 ""



    Gruss
    thowi

  • Kurzer Zwischenstand meiner Bemühungen.


    Gelötet habe ich jetzt, habe also eine IR Sendediode an PIN 7+8 über einem 8 Poligen Mini DIN stecker angeschlossen.


    Laut technischer Doku (!?) sollte das passen:


    Mini Din:
    I2C zur Steuerung externer Geräte
    IR Funktionen senden

    Pinbelegung:
    1 5V
    2 SDA (I2C-Kanal 2)
    3 SCL
    4 3,3V
    7 GND
    8 IR-Ausgang
    9 GND


    Von der Unix Device Seite bin ich jetzt auch glaube ich auch klüger da oben ja vom I2C bus geredet wird denke ich die Ganze Buchse hängt an einem I2C Chip der dann wohl auch den IR Ausgang Pin bedient.


    Man findet auch unter Unix ein /dev/ic2 directory was schon mal nicht schlecht klingt, die entsprechenden Kernel Module sollten also geladen sein.


    Also in hemmungslosem Optimismus /dev/i2c/0 bis 3 beim lirc daemon mit --device=/dev/i2c/0 übergeben und so wie in der vorherigen reply
    gepostet irsend angeworfen.


    Es kommt zwar kein Fehler das die major number des devices falsch ist
    (müßte ja 61 sein, bei den tts devices sagt er z.B. ist 4)


    Andererseits gibt der lirc daemon caught signal aus und dann Terminated.


    Im Prinzip macht er das auch beim LIST, also dürfte da was noch nicht passen.


    Also zurück an die Werkbank - und AHA den lirc dameon kann man auch mit i2c driver bauen !


    Also bin ich wieder hier und mache BITTE BITTE an burgerkind das er mir den lirc dameon nochmals mit der I2C device option compiliert und linked - vieleicht ist das ja dann der Schlüssel zum Erfolg ?


    Gruss
    thowi

  • Hi thowi!


    Entschuldige bitte, dass ich dich so lange habe hängen lassen... war die letzten 4 Wochen voll in meiner Klausuren-Phase und es galt einige wichtige Scheine zu bestehen.


    Habe dir mal die beiden kernelmodule für Serial kompiliert... danach erscheint bei mir auch ein Ordner lirc unter /dev/.


    mache ich jedoch ein "cat /dev/lirc/0" hängt sich die Box komplett auf.


    Ich befürchte das i2c-Plugin wird nicht viel bringen...
    Laut dem Header: " i2c IR lirc plugin for Hauppauge and Pixelview cards"


    Ich vermute mal, dass der eingebaute IR-Sender/Empfänger Seriell angeschlossen ist... hoffe du kannst etwas damit anfangen.


    Gruß,
    BK



    EDIT:
    Habe mal den lircd mit "./lircd -n -d /dev/lirc/0" gestartet... also nachdem ich die beiden Module geladen habe.
    Nun hängt sich die Box aber leider beim irsend auf :frowning_face:
    *grr*
    muss wohl was an dem kernel-modul falsch sein. Nur leider geht das ein klein wenig über meine Kentnisse hinaus :-/
    Werde es mir vielleicht mal am Wochenende genauer anschauen.

  • So, jetzt bin ich endlich mal wieder dazu gekommen, mich etwas mit lirc zu beschäftigen:


    Wenn ich den lircd (auf der DM7000) starte, wird ein Device /dev/lircd angelegt. Allerdings wird kein /dev/lirc angelegt, sodass beim Ausführen von irsend nur eine Fehlermeldung ins log geschrieben und der Daemon beendet wird.:(
    Wenn ich /dev/lirc per mknod anlege, kommt ebenfalls nur eine Fehlermeldung.


    Beim Erstellen von lirc werden zwei Kernelmodule lirc_dev.ko und lirc_serial.ko erstellt.
    insmod lirc_dev.ko läuft durch, aber bei insmod lirc_serial.ko kommt die Fehlermeldung

    Code
    insmod: cannot insert `lirc_serial.ko': Unknown symbol in module (-1): No such file or directory


    Irgendwas fehlt da wohl noch...
    (Im Code für die DBox wird anscheinend auch noch ein Modul "avia_gt_lirc" erstellt)


    Fehlt da vielleicht auch noch was in den closed-source-Treibern :confused_face:



    dbluelle

  • Hi,


    ich habe zwar keine Box (überlege eine zu kaufen), mich aber schon mit lirc auf einer ähnlichen Platform (MediaMVP verwendet den gleichen IBM Prozessor) rumgeschlagen und auch zum laufen bekommen.


    lirc_dev.ko: Dieses Module ist von IR Receivertyp unabhängig und wird immer benötigt. Es stellt veschiedene Grundfunktionen für die Receiverabhängigen Module zur Verfügung.


    lirc_serial.ko: Ist ein Modul um einen "Homebrew" Receiver (ca. 5 Bauteile) an der seriellen Schnittstelle zu betreiben.


    Ob ein "Homebrew" Receiver funktioniert hängt von verschiedenen Faktoren ab:
    - hat die Dreambox eine serielle Schnistelle?
    - wenn ja, verwendet Linux diese als Konsole (darf nicht sein)?
    - wenn nein, ist das ein 16550 UART?


    Wenn Du die letzte Frage noch mit Ja beantworten kannst besteht eine gewisse Chance dein Ziel mit einem "Homebrew" Receiver bzw. Sender (benötigt dann ca. 8 Bauteile) zu erreichen.


    Den eingebauten Receiver kannst Du vermutlich vergessen. Dieser wird von dem "Closed Source" Treiber head.ko angesprochen, und kann nicht von einem zweiten Kernelmodul geöffnet werden (check mal strings head.ko)


    avia_gt_lirc ist vermutlich speziell auf die Hardware der DBoxII zugeschnitten.


    Roland