DPF Easy Hacking - The Next Generation
Hier nun endlich die versprochene Neuauflage vom Howto Pearl DPF Easy Hacking.
Fragen / Lob / Beschimpfungen bitte ab jetzt nur noch hier.
Worum geht es?
Es geht darum ein billiges DPF ("Digital-Photo-Frame") als Status-Display am Linux-PC zu missbrauchen.
Das Ganze begann für mich mit einem extrem billigen DPF von der Firma Pearl. Mit dem genialen Firmware-Hack dpf-ax von hackfin ließ sich das Ding als Status-Display z.B. mit lcd4linux oder dem VDR Plugin graphlcd betreiben. Hat nicht lange gedauert und wir hatten es geschafft Pearl leerzukaufen.
Es gibt aber ne ganze Menge Alternativen, die sogenannten "China-Displays", die das selbe Design wie das Pearl verwenden. Allerdings haben die meisten ein anders LCD und/oder einen anderen Flashchip. Deshalb sind die nicht 100 % kompatibel und brauchen jeweils eine eigene Firmware. Welche Displays aktuell unterstützt werden steh in Dpf-ax - Supported Types.
Die dpf-ax Firmware ersetzt die original Firmware des Displays und hat u.a. diese Features:
- Optimiert für den Betrieb als Statusdisplay am Linux-PC.
- Regelung der Hintergrundbeleuchtung. *
- Regelung des Displaykontrastes. **
- Anzeige nach dem Einschalten konfigurierbar: Weiß / Schwarz / Splashscreen.
- Eigene Splashscreens ladbar.
- Testscreen zur Beurteilung der Displayqualität.
* Einige Displays unterstützen nur Hintergrundbeleuchtung an/aus.
** Nur bei einigen Displays im Menü einstellbar.
GANZ WICHTIG:
Macht UNBEDINGT einen Backup der original Firmware!
Ohne diesen Backup steht Ihr im Regen falls was schiefgeht oder das Display (noch) nicht von dpf-ax unterstützt wird!
Wenn Ihr euch an die folgende Anleitung haltet wird der Backup automatisch so nebenbei von identify.py mitgemacht. Ansonsten verwendet unbedingt das Tool "fulldump.py" bevor Ihr anfangt zu spielen! Ist bei den Downloads für Linux und Windows dabei.
Hab Ihr einen Backup, kann fast nix passieren. Wenn was nicht geht - einfach wieder die original Firmware drauf.
Sagte ich das schon? Macht UNBEDINGT einen Backup der original Firmware!
Was brauch ihr?
- Ein DPF das von dpf-ax unterstützt wird, z.B. das hier (128 x 128 Pixel), das hier (128 x 128 Pixel) oder das hier (320x240 Pixel).
Achtung: auch wenn Ihr eins von denen kauft ist nicht sicher, dass das auch wirklich auf Anhieb geht. Die Lieferanten mischen munter verschiedene Hardware unter der selben Bestellnummer. Manchmal bekommt man sogar in der selben Bestellung verschiedene Hardware! Also auf jeden Fall und für *JEDES EINZELNE* Displays eine Typerkennung durchführen! - Ein gutes USB-Kabel.
Nehmt NICHT das Billigst-Kabel das dem Display beiliegt. Für den Betrieb mag das zur Not noch reichen aber beim Flashen würde ich auf Nummer sicher gehen!
Typerkennung / Backup / Flashen der Firmware
Das Ganze geht unter Linux und eingeschränkt unter Windows. Für die Windows-Variante braucht Ihr zusätzlich zum Ausführen der dpf-ax Tools einen Python 2 Interpreter und zum Flashen der Firmware ein Programm, das aus dem SDK des Herstellers der original Firmware stammt. Das Programm nennt sich "ProgSPI.exe". Wie Ihr da rankommt steht im Windows-Teil dieses Howtos.
Wenn Ihr Linux verwenden wollt gehts im 2. Post weiter.
Wenn Ihr Windows verwenden wollt gehts im 3. Post weiter.
Sorry, no matching dpf found
Wenn Ihr diese Meldung von identify.py bekommt wird das Display (zur Zeit) nicht von dpf-ax unterstützt.
Es gibt jetzt zwei Möglichkeiten:
- Ihr postet den Dump der original Firmware in diesem Thread oder - for our english readers - hier. Gebt bitte wenn möglich noch an wo Ihr das Display gekauft habt (Link) und/oder den Hersteller.
- Ihr versucht das Display selbst in dpf-ax einzubauen. Das geht nur unter Linux. Holt euch die aktuelle dpf-ax SVN-Version von Sourceforge und versucht zu verstehen wie das Ganze zusammenhängt und was da in den Sourcen so vorgeht (etwas Erfahrung mit 8052 Assembler und C sowie ein paar Wochen Zeit wären da sehr hilfreich.) Tipp: versucht mal identify.py mit dem "-d" Parameter aufzurufen.
superelchi