[TS-x09 Pro] LCD Display

  • Ein kleines Status-Display am Qnap ist eine schöne Sache.


    Benutzt und abgewandelt wurde der Sourcecode von http://serdisplib.sourceforge.net und http://ssl.bulix.org/projects/lcd4linux.
    Die beiden Packete wurden auf dem Qnap compiliert und anschließend die Packages für IPKG erzeugt.


    'Serdisplib' ist Version 1.97.8-1 und lcd4linux ist Version 0.10-RC2.
    Die Abhängigkeiten sind 'libgd' für Grafiken und 'libusb' für den Treiber.


    :arrow: Die Packages sind etwas groß für dieses Forum, darum können sie hier heruntergeladen werden: http://www.ringwelt.de/Qnap/Packages/stable


    Das Update-Verzeichnis für diese Packages kann auch direkt im Qnap eingetragen werden.
    Dazu muss die Datei ipkg.conf im Qnap-Verzeichnis "/opt/etc" erweitert werden. Folgende zusätzliche Zeile einfügen:

    Code
    src rtr1 http://www.ringwelt.de/Qnap/Packages/stable


    (rtr1 steht für eine beliebige Kennzeichnung)
    Es sind noch ein paar weitere Packages (grep etc.) vorhanden, die ich für die Entwicklung brauchte.


    Beispiele für den Aufruf sind unter '/opt/doc/serdisplib' zu finden. Einfach mal das testprogramm 'testserdisplib' aufrufen.
    Evt. wird hier eine fehlende Libusb angemeckert.
    Dies habe ich folgendermaßen umgangen:


      * die Datei 'ld.so.conf' im Verzeichnis '/etc' um eine Zeile mit /opt/lib erweitern und speichern
      * anschließend 'ldconfig' aufrufen


    Hierdurch kennt das System dann den zusätzlichen Pfad für die Libraries.
    :!: Die Dateien werden nach einem Reboot wieder durch die Originale ersetzt. Daher rufe ich beim Neustart immer ein entsprechendes Script auf.
    :?: Falls das eleganter geht; bitte mitteilen.


    Die Schritte zum compilieren und die Änderungen an der Software werden hier http://www.ringwelt.de/Qnap/HAUPT.HTML ausführlich beschrieben.


    Die Funktion wurde für folgende Displays getestet:


    Alphacool, Monochrome (White on blue), 240x128



    L4M132C, Color (64k), 128x64


    Die oberste Zeile ist Laufschrift. Die Streifen kommen durchs fotografieren.



    Nachtrag vom 09.04.2009
    Das L4M132C lief bisher mit lcd4linux max. 2 Tage durch. Das Display musste dann ab- und angesteckt werden.
    Ich bin noch auf der Suche; ich glaube es liegt an serdisplib mit diesem speziellen Display.


    Nachtrag vom 25.04.2009
    Das L4M132C läuft immer noch nicht durch. Inzwischen glaube ich an ein Bug (Pufferüberlauf oder so) im Display, da selbst ein Reboot vom Qnap das Display nicht neu erweckt.
    Es muss noch immer ab- und angesteckt werden.
    Versuche einen Workaround im Serdisplib hinzukriegen. Jeder Versuch dauert eben ca. 2 Tage.



    Genannte Marken oder Produktnamen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Eigentümer.

  • Coole Sache :)


    Ich hab eine TS-439Pro und habe mir ubuntu drauf gespielt. Die TS-439Pro hat je bereits ein kleines Display eingebaut.
    Leider zeigt es im Moment nur an, dass das System gebootet wird und das auch nach stundenlangem Betrieb ;)


    Ich werde mal lcd4linux und serdisplib probieren, ob ich damit irgendwie vernünftige Daten auf das Display bekomme.
    Ich wäre schon mit einem kleinen bißchen "load", "mem" und den HDD-Temperaturen zufrieden ;)


    Ich halt euch auf dem Laufenden


    Gruesse
    Goran

  • Mit der Original-Firmware für die TS-x39 gibt es ein Tool "/sbin/lcd_tool".
    Damit kann man auch einen Text ausgeben:


    Stefan

  • Hach ja, gar nicht so einfach das LCD mittels lcd4linux bzw. serdisplib anzusprechen.
    So wie ich das sehe, ist das Display an COM2 angeschlossen. Habe es auch (zufällig) geschaft, das Display zu löschen, d.h. kein
    "Booting >>>>" mehr zu sehen.
    Weiß zufällig jmd. was für ein Typ das LCD ist?


    Ich habe es mit dem lcd_tool und lcdmon probiert. Auf der Originalfirmware läuft es problemlos, allerdings kann ich es nicht
    unter ubuntu zum laufen bringen, da die Libraries nicht passen :(
    Sourcen sind auch nicht verfügbar - ist wohl eine Eigenentwicklung von QNAP.


    Falls jemand Tips hat - nur raus damit :) ...vor allem würde mir schon weiterhelfen, was für ein Herrsteller/Typ das Display ist :)


    Grüße
    MausFan

  • Zitat von "QRalf"

    Ein kleines Status-Display am Qnap ist eine schöne Sache.


    Nachtrag zum Display L4M132C an einer TS-209 Pro


    Ich habe für mein Display inzwischen ein Workaround. :idea:
    Dies besteht aus einem kleinen Hardwarezusatz für das Display und einer Softwareänderung von serdisplib und lcd4linux.


    Die Hardware besteht aus einem Watchdog-Baustein MAX1232, Kondensator 100nF und Widerstand 1k und 4 Leitungen.
    Der MAX wird bei einem normal laufenden Display regelmäßig angetriggert.
    Stürzt das Display mal wieder ab, dann wird ein Reset am Display-Prozessor ausgelöst. Kann ich manchmal beobachten wenn ich danebensitze. :shock:
    Die Software lcd4linux versucht bei Kommunikationsfehlern mehrmals wieder die Verbindung aufzunehmen.
    Dieses klappt fast immer. Vielleicht alle vier Monate muss ich per Hand die Software lcd4linux neustarten. :thumb:


    Genaueres ist zu finden unter: :arrow:http://www.ringwelt.de/Qnap/PAGE1.HTML

  • Hallo,


    Ich habe deinen Artikel mit Interesse gelesen und versucht den Umbau nachzuvollziehen.


    Mit den Sourcen bin ich gut klar gekommen. Der Umbau des Displays bereitet mir aber Sorgen.


    ich habe den MAX ensprechend verbaut, leider startet das Display nicht. Also habe Reset und das über den 1 K Widerstand angelötet kabel wieder von der Platine gelöst. Dann geht das Display wieder. Sobald ich aber das über den 1K Widerstand zum Chip laufende Kabel wieder an den MAX anlöte bootet das Dislplay nicht mehr ( bleibt dunkel ) , Reset ist weiterhin nicht angeschlossen.


    Hast du irgendwechle Ideen ? Was man nicht genau sehen kann geht der Kondensator vielleicht an VCC oben rechts, im Text seht nichts.


    Besten Danke
    Vigeland

  • Hallo,


    der Kondensator bildet mit dem Widerstand einen einfachen Tiefpass, da vom oberen Pin des LCD-Prozessors eine Impulsfolge kommt.
    Bei meinem Display bleiben an diesem Pin die Impulse weg, wenn es abgestürzt ist. Dann löst der MAX nach ca. 1.5 Sekunden einen Reset aus.


    Das es bei dir nicht funktioniert könnte mehrere Ursachen haben.
    Mein Display ist von Anfang 2009. Vielleicht haben die inzwischen die Software geändert, und das Display verhält sich anders. :?:


    Hast du ein Oszilloskop?
    Ich habe den entsprechenden Pin mit dem benötigten Triggerpuls durch langes ausprobieren heraus bekommen.
    Dazu habe ich am funtionierenden Display alle PIN-Zustände des Prozessors gemessen. Habe alle Pins mit Impulsen aufgeschrieben.
    Dann habe ich das Display mit sehr vielen Befehlen gestresst, bis es abgestürzt ist.
    Jetzt nochmal alle PIN-Zustände des Prozessors gemessen.
    Der Pin, der keine Impulse mehr geliefert hat war mein Favorit. In meinem Falls Pin 6 des Prozessors.


    Gruß Ralf

  • Hallo,


    erstmal dank für die Antwort. Mein Display ist aus 4.2009, sollte also passen. Das eventuell das Reset triggern nicht klappt würde ich ja verstehen. Bei mit ist es aber so,
    dass sobald der Widerstand mit dem Pin oben angeschlossen ist das ganz Display tot ist, und das auch wenn Reset mit Pin 1 des MAX nicht verbunden ist.


    Irgendwie mag das Display den Tiefpass nicht, daher würde ein Oszi ( den ich nicht haben ) mich wohl nicht weiterbringen.
    Ich bin auch nicht der Profi was Schaltungen angeht. Würde mich ein anderer Widerstand eventuell weiterbringen ?


    Danke und Gruß
    Vigeland

  • Hallo,


    oh oh. :engel:
    Grober Fehler von mir. Habe eben nochmal Display abgenommen da ich mir das nicht erklären konnte.
    Ich sollte mich bei meiner Rot/Grün-Blindheit eben nicht auf die Fachsortierung verlassen, sondern immer nachmessen.


    Es ist kein 1k sondern ein 10k Widerstand sein. :!:
    Ich hoffe dann läuft es bei dir auch.


    Gruß Ralf

  • Hallo,


    10 K Ohm, das Display startet auch wenn der Filter dran ist. An den Farbcode des Widerstand auf dem Bild hätte ich auch denken können.
    Jetzt bootet das Display neu, bevor das Linux den Treiber geladen hat und ich das Lcd4linux starten kann. Es dauert unter 1 Sekunde bis zum Reset durch den MAX.
    Ist der Reset nicht an Pin 8 angelötet, bootet das Dislplay nicht, es kommt als vom MAX 1232.


    Ideen oder Tips.


    Danke und Gruß
    Vigeland

  • Hallo zusammen,


    ich habe nun auch versucht das Display L4M123c an der QNAP 209 Pro II zum Laufen zu bekommen. Leider nur mit Teilerfolg.
    Ich habe beide IPKG Packete installiert und dann "testserdisp" ausprobiert --> funktioniert.


    Wenn ich nun aber "lcd4linux" starten möchte, dann kommt einen Fehlermeldung "lcd4linux: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory"


    Die Datei 'ld.so.conf' im Verzeichnis '/etc' ist um eine Zeile mit /opt/lib erweitert. Die gewünschte Datei befindet sich, wenn ich dannach suche in folgenden Verzeichnissen:
    /mnt/HDA_ROOT/rootfs_2_3_6/usr/lib
    /share/HDA_DATA/.qpkg/Optware/lib


    Eine libgd.so.3 ist in den Standardverzeichnis vorhanden. Muss ich jetzt Serdisplib neu compilieren oder wie komm ich ans Ziel?


    Danke für eine Antwort.

  • Hi,


    versuch es mal mit einen Symlink von libgd.so.2 nach libgd.so.3

  • Vielen Dank für den Tipp, habs hinbekommne. LCD4LINUX läuft jetzt.


    Nachtrag: Mein Display (auch v3) stürzt nach 2-3h immer wieder ab ... d.h. werd ich mir wohl auch mal den Hardwaremod zu Gemüte führen.

  • Hallo,


    Ich habe den Umbau durchgeführt, leider kann ich keinen Erfolg vermelden.
    Nach dem der Kondensator weg ist bootet das Display wieder. Leider klappt das automatische Reset nicht.
    Nach ca. 1 bis 2 Tage hängt das Display. Ich starte jetzt jede Stunden lcd4linux neu.
    Dann bekomme ich fast keine Hänger mehr.


    Gruß
    Vigeland

  • I am writing to you in English because I write from Italy and I do not know German very well, I am also trying to compile serdisplib with the usb support but I always get an error related to the libusb it is not a path problem because ld sees them, since I have installed all via entware, could it be that a newer version of libusb is needed? I have old usb lcd displays to use Extern verlinktes Bild entfernt! Bitte im Beitrag hochladen and the only way seems to be serdisplib


    pasted-from-clipboard.png