Pearl-LCD-Display an der Synology

Status
Für weitere Antworten geschlossen.

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.158
Punkte für Reaktionen
405
Punkte
393
Hallo,
schade, reicht nicht, 2.7 wird auch benötigt.

Gruß Götz
 
Zuletzt bearbeitet:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.726
Punkte für Reaktionen
3.714
Punkte
468
Was soll ich da erst sagen. Bei meiner DS209+ ist bereits bei 2.3.4 Schluss, obwohl dort auch DSM-4.0 Beta drauf ist.

Gruß Benares
 

power-dodge

Benutzer
Mitglied seit
06. Jan 2012
Beiträge
271
Punkte für Reaktionen
0
Punkte
0
Hallo,

hab Ihr dieses lcd4linux schon angesehen?

lcd4-ax206-v0.2.tar

Wollte hier hoch laden, geht aber leider nicht.

Gruß
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.158
Punkte für Reaktionen
405
Punkte
393
Hallo,
genau das habe ich probiert.

Gruß Götz
 

wazman

Benutzer
Mitglied seit
09. Mai 2009
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hi

Es wäre sehr schön wenn sich hier noch etwas ergibt
Habe das Ding an meiner Dream 800se am laufen

Das wäre echt top

Es gibt wohl auch schon sachen für ne Fritzbox
 

adahmen

Benutzer
Mitglied seit
12. Okt 2009
Beiträge
561
Punkte für Reaktionen
11
Punkte
38

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Es lebt...

Funktioniert hier mit der DS1010. :) Aber eine sehr aufwändige Sache, man muss alles selbst bauen...


IPKG
Musste noch Diverses nachinstallieren (bison, flex, boost-dev, patch, perl, libtool), da ich aber schon einige Sachen hatte, hier meine komplette Liste (auch wenn wahrscheinlich nicht alles davon nötig ist):

apr - 1.4.5-1 - Apache Portable Runtime library
apr-util - 1.3.12-1 - Apache Portable Runtime utilities library
autoconf - 2.68-1 - Creating scripts to configure source code packages using templates
bash - 3.2.49-1 - A bourne style shell
binutils - 2.19.1-1 - The GNU assembler and linker and related tools
bison - 2.4.1-1 - a general-purpose parser generator that converts an annotated context-free grammar into an LALR(1) or GLR parser for that gramm
boost-dev - 1_45_0-1 - Boost headers
bzip2 - 1.0.6-1 - Very high-quality data compression program
cyrus-sasl-libs - 2.1.23-2 - Provides client or server side authentication (see RFC 2222).
e2fslibs - 1.40.3-5 - Ext2 Filesystem Libraries
expat - 2.0.1-1 - XML Parser library
flex - 2.5.35-1 - Generates programs that perform pattern-matching on text.
gcc - 4.2.1-5 - The GNU Compiler Collection.
gdbm - 1.8.3-2 - GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
gettext - 0.14.5-2 - Set of tools for producing multi-lingual messages
glib - 2.20.4-1 - The GLib library of C routines.
gnupg - 2.0.18-1 - GNU privacy guard - a free PGP replacement.
grep - 2.10-1 - Global regular expression parser
hdparm - 9.37-1 - Linux hard drive parameter utility
libassuan - 2.0.1-1 - Libassuan is the IPC library used by some GnuPG related software.
libc-dev - 2.3.6-5 - libc development files.
libcurl - 7.21.7-1 - Curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FI
libdb - 4.2.52-3 - Berkeley DB Libraries
libgcrypt - 1.5.0-1 - GNU cryptography libray, needed by gnutls
libgpg-error - 1.10-1 - Error handling library for libgcrypt
libksba - 1.0.3-1 - Libksba is a CMS and X.509 access library.
libnsl - 2.3.6-4 - Network Services Library
libpth - 2.0.7-2 - Pth is a very portable POSIX/ANSI-C based library for Unix platforms which provides non-preemptive priority-based scheduling fo
librsync - 0.9.7-1 - librsync is a free software library that implements the rsync remote-delta algorithm.
libstdc++ - 6.0.9-6 - Standard C++ library, needed for dynamically linked C++ programs
libtool - 1.5.26-1 - Library tools.
libusb - 0.1.12-2 - Library for interfacing to the USB subsystem.
libxml2 - 2.7.8-1 - Libxml2 is the XML C parser and toolkit developed for the Gnome project.
m4 - 1.4.16-1 - gnu macro processor and compiler front end
make - 3.82-1 - examines files and runs commands necessary for compilation
mc - 4.7.5.5-1 - Midnight Commander File Manager
mktemp - 1.7-1 - Mktemp is a small program to allow safe temporary file creation from shell scripts.
nano - 2.2.6-1 - A pico like editor
ncftp - 3.2.4-1 - Nice command line FTP client
ncurses - 5.7-1 - NCurses libraries
ncursesw - 5.7-1 - NCurses libraries with wide char support
neon - 0.29.3-1 - an HTTP and WebDAV client library, with a C interface
openldap-libs - 2.3.43-2 - Open Lightweight Directory Access Protocol
openssl - 0.9.8p-1 - Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
openssl-dev - 0.9.8p-1 - openssl native development files
patch - 2.6.1-1 - applies a diff to produce a patched file
pcre - 8.21-1 - Perl-compatible regular expression library
perl - 5.10.0-6 - Practical Extraction and Report Language.
pinentry - 0.8.0-1 - A collection of simple PIN or passphrase entry dialogs
pkgconfig - 0.15.0-2 - Package configuration tool
popt - 1.16-1 - A C library for parsing command line parameters.
psmisc - 22.13-1 - A set of some small useful utilities that use the proc filesystem.
py26-boto - 1.9b-1 - Python interface to Amazon Web Services
py26-duplicity - 0.6.13-1 - Encrypted bandwidth-efficient backup using the rsync algorithm
python26 - 2.6.7-1 - Python is an interpreted, interactive, object-oriented programming language.
readline - 6.1-2 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
slang - 2.2.3-1 - S-Lang is a multi-platform library designed to allow a developer to create robust multi-platform software.
sqlite - 3.7.3-1 - SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.
svn - 1.6.17-1 - a compelling replacement for CVS
textutils - 2.1-5 - GNU Text Utilities
tnftp - 20100108-1 - tnftp (formerly lukemftp) is what many users affectionately call the enhanced ftp client in NetBSD.
wget - 1.12-2 - A network utility to retrieve files from the Web
zlib - 1.2.5-1 - zlib is a library implementing the 'deflate' compression system.



automake
Das von IPKG geht nicht...
Rich (BBCode):
wget ftp://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.bz2
tar xzf automake-1.11.1.tar.bz2 
cd automake-1.11.1
./configure --prefix=/opt
make
ipkg -force-depends remove automake
make install


gputils
Nötig für sdcc...
Rich (BBCode):
wget http://sourceforge.net/projects/gputils/files/gputils/0.14.1/gputils-0.14.1.tar.gz/download
tar xzf gputils-0.14.1.tar.gz
cd gputils-0.14.1
./configure
make
make install


sdcc
Nötig für dpfhack... Wir brauchen nur mcs51, daher alle anderen ausschalten (das Kompilieren dauert sonst mehrere Stunden)
Rich (BBCode):
wget http://sourceforge.net/projects/sdcc/files/sdcc/2.9.0/sdcc-src-2.9.0.tar.bz2/download
tar xzf sdcc-src-2.9.0.tar.bz2
cd sdcc
./configure --disable-gbz80-port --disable-z80-port --disable-avr-port --disable-ds390-port --disable-ds400-port --disable-pic-port --disable-pic16-port --disable-xa51-port --disable-hc08-port
make
Fehlerhafte Skripte, daher:
  • in "Makefile.common" bei "INSTALL" den vollen Pfad einsetzen
  • in "device/lib/Makefile" bei "${CP} -u" das "-u" entfernen
Rich (BBCode):
make install
Dürfte Fehler geben (diverse "find: -exec CMD must end by ';'") aber die sind egal.


dpfhack
Basierend auf http://geekparadise.de/2011/04/digitaler-bilderrahmen-von-pearl-als-statusdisplay-fur-dockstar/...

Der brauch cc aber da hatte ich keine Lust mehr in den makefiles rumzusuchen, daher:
Rich (BBCode):
ln -s /opt/bin/gcc /opt/bin/cc

Rich (BBCode):
wget http://tech.section5.ch/files/dpfhack-0.1alpha.tgz
tar xzf dpfhack-0.1alpha.tgz
cd dpf/src
"python/Makefile" wie folgt anpassen:
Rich (BBCode):
ifeq (Linux, $(PLATFORM))
        PYTHON=python2.6
        include $(DEVLIB)/unixdll.mk
        DLLDEPS = $(CLIENTLIB) -l$(PYTHON)
        PYTHONINCLUDES = -I/opt/include/$(PYTHON)
else
Rich (BBCode):
make


lcd4linux
Basierend auf http://geekparadise.de/2011/04/digitaler-bilderrahmen-von-pearl-als-statusdisplay-fur-dockstar/ mit kleinen Korrekturen...
Rich (BBCode):
cd ..
cd ..
(wir haben jetzt das "dpf" in diesem Verzeichnis liegen)
Rich (BBCode):
wget http://tech.section5.ch/files/dpf-lcd4linux.tgz
tar xzf dpf-lcd4linux.tgz
cd dpf
svn co -r1142 https://ssl.bulix.org/svn/lcd4linux/trunk lcd4linux
cd lcd4linux
patch -p1 < ../lcd4linux-svn1142-dpf.patch
In "configure.in" nach "AC_PROG_MAKE_SET" auch noch "AC_PROG_LIBTOOL" als weitere Zeile einfügen.
Rich (BBCode):
export CPPFLAGS=-I../src/dpflib/
export LDFLAGS=-L../src/dpflib/
./bootstrap
./configure --with-drivers='DPF' --with-plugins='all,!dbus,!mpris_dbus'
Der Fehler am Ende ist scheinbar egal.
Rich (BBCode):
make
make install


Hacken
Das Patchen der Firmware über die DS hat nicht funktioniert, daher unter Windows - http://www.vdr-portal.de/board18-vdr-hardware/board11-lcds/109196-howto-pearl-dpf-easy-hacking/. Die Landscape-Firmware geht.


Konfig
"/etc/lcd4linux.conf" erstellen:
Rich (BBCode):
Display dpf {
    Driver     'DPF'
    Port       'usb0'
    Font       '6x8'
    Foreground 'ffffff'
    Background '000000'
    Basecolor  '000066'
}
Variables {
   tick 500
}
Widget CPU {
    class  'Text'
    expression  uname('machine')
    prefix 'CPU '
    width  9
    align  'L'
    update tick
}
Layout mylayout {
    Row01.Col01 'CPU'
}

Display 'dpf'

Layout 'mylayout'

Rechte anpassen:
Rich (BBCode):
chmod 600 /etc/lcd4linux.conf

Menü gedrückt halten bis er umschaltet, Display an die DS anschließen, "lcd4linux" starten und freuen.


Ich hoffe ich hab nichts vergessen (hat sich über einige Abende hingezogen...). Für x86 könnte ich die Binary zur Verfügung stellen, wenn jemand möchte.
 
Zuletzt bearbeitet von einem Moderator:

wazman

Benutzer
Mitglied seit
09. Mai 2009
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Wow. Das ist echt Umfangreich

Hätte nicht gedacht das das soviel Aufwand ist

Kannst du mal ein Bild Posten wie das aussieht?

Wäre super

Danke
 
Zuletzt bearbeitet:

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Der Standard 6x8 Font ist doch sehr klein. Hier gibt es einen Patch, der Skalierung erlaubt. Läuft zwar nicht ganz durch, aber die Rejects kann man von Hand nachpflegen.

display1.jpg display2.jpg
 

udius

Benutzer
Mitglied seit
15. Apr 2010
Beiträge
494
Punkte für Reaktionen
0
Punkte
0
Funktioniert hier mit der DS1010. :) Aber eine sehr aufwändige Sache, man muss alles selbst bauen...
Für x86 könnte ich die Binary zur Verfügung stellen, wenn jemand möchte.

*meld*
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.158
Punkte für Reaktionen
405
Punkte
393
Hallo,
@Merthos
vielen Dank für die Anleitung, hatte mich auch schon ran gesetzt aber wegen dem enormen Zeitaufwand abgebrochen. Ich habe mir erlaubt in Deinem Post die Zeile
Rich (BBCode):
export LDFLAGS=-I../src/dpflib/
in
Rich (BBCode):
export LDFLAGS=-L../src/dpflib/
zu ändern da sonst der Linker gegen die Wand läuft.
Auf der DS411+II läuft es, dann werde ich mir demnächst die DS209+II vornehmen.

Gruß Götz
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.158
Punkte für Reaktionen
405
Punkte
393
PS: ich vergaß:
ich mußte in dpf/lcd4linux/configure den gesamten Block dbus auskommentieren denn an dem Punkt ging es einfach nicht weiter.

Gruß Götz
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
@goetz
Ja, copy&paste. Danke

@udius
Anbei die lcd4linux für x86 mit Font-Patch (das .txt entfernen). Liegt hier unter /usr/local/bin. Denke dass keine weiteren Abhängigkeiten nötig sind, aber aus Mangel an weiterer Hardware nicht getestet.
 

Anhänge

  • lcd4linux.x86.tgz.txt
    82,8 KB · Aufrufe: 45

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Hier noch ein Konfig als Startpunkt:
Rich (BBCode):
Display dpf {
    Driver     'DPF'
    Port       'usb0'
    Font       '12x16'
    Foreground 'ffffff'
    Background '000000'
    Basecolor  '000066'
}
Variables {
   tick 1000
}
Widget UP {
    class      'Text'
    expression 'Uptime'
    style      'bold'
    width      6
    align      'L'
    Background 'FFFFFF00'
}
Widget UPt {
    class 'Text'
    expression uptime('%d Tage %H:%M:%S')
    width 18
    align 'R'
    update tick
    Background 'FFFFFF00'
}
Widget CPU {
    class      'Text'
    expression 'CPU'
    style      'bold'
    width      3
    align      'L'
    Background 'FFFFFF00'
}
Widget CPUb {
    class      'Bar'
    expression proc_stat::cpu('busy', 500)
    expression proc_stat::cpu('busy', 500)
    max        100
    length     18
    direction  'E'
    update     tick
    Foreground 'ffffff'
    Background '00000080'
    BarColor0  '5f5fff'
    BarColor1  '5f5fff'
}
Widget RAM {
    class      'Text'
    expression 'RAM'
    style      'bold'
    width      3
    align      'L'
    Background 'FFFFFF00'
}
Widget RAMt {
    class      'Text'
    expression meminfo('MemTotal')/1024
    width      4
    precision  0
    align      'R'
    update     tick
    Background 'FFFFFF00'
}
Widget RAMu {
    class      'Text'
    expression (meminfo('MemTotal') - meminfo('MemFree') - meminfo('Cached') - meminfo('Buffers'))/1024
    postfix    ' / '
    width      7
    precision  0
    align      'R'
    update     tick
    Background 'FFFFFF00'
}
Widget RAMf {
    class      'Text'
    expression (meminfo('MemFree') + meminfo('Cached') + meminfo('Buffers'))/1024
    postfix    ' / '
    width      7
    precision  0
    align      'R'
    update     tick
    Background 'FFFFFF00'
}
Widget NET {
    class      'Text'
    expression 'NET'
    style      'bold'
    width      3
    align      'L'
    Background 'FFFFFF00'
}
Widget NETr {
    class      'Text'
    expression netdev::fast('eth0', 'Rx_bytes', 500)/1024
    postfix    ' / '
    width      10
    precision  1
    align      'R'
    update     tick
    Background 'FFFFFF00'
}
Widget NETs {
    class      'Text'
    expression netdev::fast('eth0', 'Tx_bytes', 500)/1024
    width      8
    precision  1
    align      'L'
    update     tick
    Background 'FFFFFF00'
}
Layout mylayout {
    # Uptime
    Row02.Col02 'UP'
    Row02.Col08 'UPt'

    # CPU
    Row04.Col02 'CPU'
    Row04.Col08 'CPUb'

    # RAM
    Row06.Col02 'RAM'
    Row06.Col08 'RAMf'
    Row06.Col15 'RAMu'
    Row06.Col22 'RAMt'

    # NET
    Row08.Col02 'NET'
    Row08.Col08 'NETr'
    Row08.Col18 'NETs'
}

Display 'dpf'

Layout 'mylayout'

Ist für den größeren Font und sieht am Ende so aus:
display3.jpg
 

udius

Benutzer
Mitglied seit
15. Apr 2010
Beiträge
494
Punkte für Reaktionen
0
Punkte
0
erst mal n großes gratz!

habe leider noch gar kein lcd-display ^^

aber gerade meine ds207+ mit kondensator+diode sowie meine wlan-lan-bridge mit sispmctl versehen.

also nun alle hände vollzu tun :D
 

wawibu

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Habe mich heute mal daran versucht - leider komme ich an einer Stelle nicht weiter. Bis zu dem lcd4linux Punkt hat aller wunderbar geklappt.

lcd4linux
Basierend auf http://geekparadise.de/2011/04/digitaler-bilderrahmen-von-pearl-als-statusdisplay-fur-dockstar/ mit kleinen Korrekturen...
Rich (BBCode):
cd ..
cd ..
(wir haben jetzt das "dpf" in diesem Verzeichnis liegen)
Rich (BBCode):
wget http://tech.section5.ch/files/dpf-lcd4linux.tgz
tar xzf dpf-lcd4linux.tgz
cd dpf
svn co -r1142 https://ssl.bulix.org/svn/lcd4linux/trunk lcd4linux
cd lcd4linux
patch -p1 < ../lcd4linux-svn1142-dpf.patch
In "configure.in" nach "AC_PROG_MAKE_SET" auch noch "AC_PROG_LIBTOOL" als weitere Zeile einfügen.
Rich (BBCode):
export CPPFLAGS=-I../src/dpflib/
export LDFLAGS=-L../src/dpflib/
./bootstrap
./configure --with-drivers='DPF' --with-plugins='all,!dbus,!mpris_dbus'
Das configure bricht bei mir mit folgendem Fehler ab:
Rich (BBCode):
configure: WARNING: dpf.h not found: DPF driver disabled
configure: error: You should activate at least one driver...
Ich tippe das hier etwas fehlt und dieser Fehler nicht gemeint ist mit:
Der Fehler am Ende ist scheinbar egal.
Rich (BBCode):
make
make install
denn das make bricht ab mit:
Rich (BBCode):
make: *** No targets specified and no makefile found.  Stop.

Was mache ich wo falsch? :/

Danke & Gruß,
WaWiBu
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Da passt scheinbar was mit den Pfaden nicht. Unter ../src/dpflib von dem Verzeichnis aus müsste die liegen.
 

wawibu

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
In dem Pfad liegt sie auch - habe sogar schon bei den beiden export den vollen Pfad angegeben - hilft leider auch nicht
 

wawibu

Benutzer
Mitglied seit
11. Aug 2010
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
kompiliert ist nun alles - habe einfach nochmal alles der Reihe nach und in Ruhe durchgeführt.

Nur ein Frage hätte ich noch. In der lcd4linux.conf wird als erstes der Port angegeben:
Rich (BBCode):
Display dpf {
    Driver     'DPF'
    Port       'usb0'
    Font       '6x8'
    Foreground 'ffffff'
    Background '000000'
    Basecolor  '000066'
}

Doch woher weiß ich den Port an meiner Syno?

Leider gibt lcd4linux mit dieser Konfig nichts aus :/

Das Display funktioniert aber unter Ubuntu und kann dort auch via lcd4linux angesteuert werden. Somit tippe ich darauf, dass hier einfach noch der richtige Port angegeben werden muss.

Danke & Gruß,
WaWiBu
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.158
Punkte für Reaktionen
405
Punkte
393
Hallo,
hat bei mir sofort gepasst. Probiere mal den Aufruf
lcd4linux -vv

Gruß Götz
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat