Lcd4linux DPF Easy Hacking - TNG: Unterschied zwischen den Versionen

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 44: Zeile 44:


     Als Erstes stellt sicher, dass Ihr eine vernünftige Entwicklungsumgebung habt:
     Als Erstes stellt sicher, dass Ihr eine vernünftige Entwicklungsumgebung habt:
   
 
    Quellcode
  Quellcode


     1
     1


   
 


     sudo apt-get install build-essential libusb-dev python-dev
     sudo apt-get install build-essential libusb-dev python-dev




     Besorgt euch von http://sourceforge.net/projects/dpf-ax/files/:
 
    - Die Sourcen für Linux (dpf-ax_JJJJMMTT.tgz.)
     Besorgt euch von [http://sourceforge.net/projects/dpf-ax/files/ http://sourceforge.net/projects/dpf-ax/files/]:
    - Die fertige Firmware für alle bekannten DPFs (dpf-ax_firmware_JJJJMMTT.zip.)
  - Die Sourcen für Linux (dpf-ax_JJJJMMTT.tgz.)
    Nehmt immer die dpf-ax Dateien mit dem neuesten Zeitstempel.
  - Die fertige Firmware für alle bekannten DPFs (dpf-ax_firmware_JJJJMMTT.zip.)
    Die Firmware Sourcen (dpf-ax_firmware-src_JJJJMMTT.tgz) braucht Ihr nicht.
  Nehmt immer die dpf-ax Dateien mit dem neuesten Zeitstempel.
    Alles entpacken und übersetzen:
  Die Firmware Sourcen (dpf-ax_firmware-src_JJJJMMTT.tgz) braucht Ihr nicht.
   
  Alles entpacken und übersetzen:
    Quellcode
 
  Quellcode


     1
     1
    2
  2
    3
  3
    4
  4
 


   


     tar xfvz dpf-ax*.tgz
     tar xfvz dpf-ax*.tgz
    unzip dpf-ax_firmware*.zip
  unzip dpf-ax_firmware*.zip
    cd dpf-ax
  cd dpf-ax
    make
  make


     Jetzt das Display an USB anstecken.
     Jetzt das Display an USB anstecken.
    Öffnet eine zweites Terminal-Fenster und startet die Beobachtung der Sysmeldungen:
  Öffnet eine zweites Terminal-Fenster und startet die Beobachtung der Sysmeldungen:
   
 
    Quellcode
  Quellcode


     1
     1


   
 


     tail -f /var/log/syslog
     tail -f /var/log/syslog


     Am Display MENÜ drücken und den Menüpunkt "Mit PC verbinden"/"Connect to PC"/"USB Connect"/... wählen (sollte der erster Menüpunkt sein).
     Am Display MENÜ drücken und den Menüpunkt "Mit PC verbinden"/"Connect to PC"/"USB Connect"/... wählen (sollte der erster Menüpunkt sein).
    Im Fenster mit den Sysmeldungen kriegt Ihr sowas wie:
  Im Fenster mit den Sysmeldungen kriegt Ihr sowas wie:
   
 
    Quellcode
  Quellcode


     1
     1
    2
  2
    3
  3
    4
  4
    5
  5
    6
  6
 


   


     usbcore: registered new interface driver usb-storage
     usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
  USB Mass Storage support registered.
    scsi 6:0:0:0: CD-ROM            buildwin  Photo Frame    1.01 PQ: 0 ANSI: 2
  scsi 6:0:0:0: CD-ROM            buildwin  Photo Frame    1.01 PQ: 0 ANSI: 2
    sr1: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
  sr1: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
    sr 6:0:0:0: Attached scsi CD-ROM sr1
  sr 6:0:0:0: Attached scsi CD-ROM sr1
    sr 6:0:0:0: Attached scsi generic sg2 type 5
  sr 6:0:0:0: Attached scsi generic sg2 type 5
 




Zeile 113: Zeile 115:


     Wechselt in den dpf-ax tools Ordner und gebt ein: "sudo ./identify.py /dev/X".
     Wechselt in den dpf-ax tools Ordner und gebt ein: "sudo ./identify.py /dev/X".
    Ersetzt "X" durch den Devicenamen von oben.
  Ersetzt "X" durch den Devicenamen von oben.
    Ihr solltet dann eine Ausgabe in der Form erhalten:
  Ihr solltet dann eine Ausgabe in der Form erhalten:
   
 
    Quellcode
  Quellcode


     1
     1
    2
  2
    3
  3
    4
  4
    5
  5
    6
  6
    7
  7
    8
  8
    9
  9
    10
  10
    11
  11
    12
  12
    13
  13
    14
  14
    15
  15
    16
  16
 


   


     $ cd tools
     $ cd tools
    $ sudo ./identify.py /dev/sg2
  $ sudo ./identify.py /dev/sg2
    Detecting & reading dpf flash...
  Detecting & reading dpf flash...
    Opening generic SCSI device '/dev/sg2'
  Opening generic SCSI device '/dev/sg2'
    Manufacturer: Winbond
  Manufacturer: Winbond
    Size       : 2 MB
  Size        : 2 MB
    Reading 200000 bytes from flash...
  Reading 200000 bytes from flash...
    Flash written to file 'fulldump_20130531-150540.bin'.
  Flash written to file 'fulldump_20130531-150540.bin'.


     Looking for firmware.............: Found (buildwin, 320x240 px).
     Looking for firmware.............: Found (buildwin, 320x240 px).
    Looking for Openwin..............: Found.
  Looking for Openwin..............: Found.
    Looking for LcdIniTbl............: Found.
  Looking for LcdIniTbl............: Found.
    Looking for backlight & contrast.: Found, Found.
  Looking for backlight & contrast.: Found, Found.
    Looking for known signatures.....: Found.
  Looking for known signatures.....: Found.


     Your dpf is compatible with model ['pearl_custom'].
     Your dpf is compatible with model ['pearl_custom'].




Zeile 158: Zeile 161:


     Kriegt Ihr stattdessen sowas:
     Kriegt Ihr stattdessen sowas:
   
 
    Quellcode
  Quellcode


     1
     1
    2
  2
    3
  3
    4
  4
    5
  5
 


   


     .
     .
    .
  .
    Looking for known signatures.....: None.
  Looking for known signatures.....: None.


     Sorry, no matching dpf found.
     Sorry, no matching dpf found.




     ... dann bitte unter "Sorry, no matching dpf found" im ersten Post weiterlesen!
     ... dann bitte unter "Sorry, no matching dpf found" im ersten Post weiterlesen!


 
<br/>Flashen der Firmware
Flashen der Firmware


     Wenn es nicht noch dran ist: Display an USB anstecken.
     Wenn es nicht noch dran ist: Display an USB anstecken.
    DRÜCKT NICHT MENÜ! WÄHLT NICHT DEN MENÜPUNKT "Mit PC verbinden"!
  DRÜCKT NICHT MENÜ! WÄHLT NICHT DEN MENÜPUNKT "Mit PC verbinden"!
    Jetzt kommt der Trick: das Display wird in den "Bootloader Mode" versetzt. Drückt die RESET-Taste am Display (kleines Loch auf der Rückseite oben links, am besten ne Büroklammer rein bis es "klick" macht), haltet die Taste gedrückt und jetzt MENÜ drücken, RESET loslassen, MENÜ loslassen.
  Jetzt kommt der Trick: das Display wird in den "Bootloader Mode" versetzt. Drückt die RESET-Taste am Display (kleines Loch auf der Rückseite oben links, am besten ne Büroklammer rein bis es "klick" macht), haltet die Taste gedrückt und jetzt MENÜ drücken, RESET loslassen, MENÜ loslassen.
    Wenn die Reihenfolge gestimmt hat, wird das Display jetzt schwarz und in dem Fenster mit den Sysmeldungen kommt sowas wie:
  Wenn die Reihenfolge gestimmt hat, wird das Display jetzt schwarz und in dem Fenster mit den Sysmeldungen kommt sowas wie:
   
 
    Quellcode
  Quellcode


     1
     1


   
 


     generic-usb 0003:1908:3318.0007: hiddev0,hidraw5: USB HID v2.01 Device [BUILDWIN BL206v1.0.0] on usb-0000:00:1a.0-1.6/input0
     generic-usb 0003:1908:3318.0007: hiddev0,hidraw5: USB HID v2.01 Device [BUILDWIN BL206v1.0.0] on usb-0000:00:1a.0-1.6/input0


     Sucht die passende Firmware im "dpf-ax/src" Ordner, die zu dem von identify.py ausgegebenen Typ passt (hier: "fw_pearl_custom.bin").
     Sucht die passende Firmware im "dpf-ax/src" Ordner, die zu dem von identify.py ausgegebenen Typ passt (hier: "fw_pearl_custom.bin").
    Dann:
  Dann:
   
 
    Quellcode
  Quellcode


     1
     1
    2
  2
 


   


     sudo ./hiddetach
     sudo ./hiddetach
    sudo ./restore.py ../src/fw_pearl_custom.bin -f
  sudo ./restore.py ../src/fw_pearl_custom.bin -f
 




Zeile 211: Zeile 215:


     Als Dank erhaltet Ihr diese Ausgabe:
     Als Dank erhaltet Ihr diese Ausgabe:
 
  Quellcode
    1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
    Found AX206 DPF (bootloader)
  Manufacturer: Winbond
  Size      &nbsp;: 2 MB
  Erase full flash...
  Flashing sector 0...
  Flashing sector 1...
  Flashing sector 2...
  Flashing sector 3...
  Flashing sector 4...
  Flashing sector 5...
  Executing applet..
    Danach macht das Display automatisch einen Reset und zeigt einen Splashscreen (je nach Displaygröße und Ausrichtung entweder ein Paar Augen, viele Augen oder ein Cocktailglas).
  Jetzt zur Sicherheit noch mal den RESET Knopf mit der Büroklammer bearbeiten.
  Fertig.
Typerkennung, Backup und Flashen unter Windows
Getestet unter Windows XP und Windows 7. Windows 8: keine Ahnung.
Besorgt euch erstmal:
    Das Flashprogramm für Windows: AX206 HW Bootflasher.
    Einen Python 2 Interpreter inklusive der "Pythonwin Extensions" (die dpf-ax Tools sind in Python geschrieben).
    Achtung: es muss Python 2 sein - Python 3 GEHT NICHT!.
    Wenn Ihr noch keinen habt, nehmt den: ActivePython Community Edition 2.7.
    Von http://sourceforge.net/projects/dpf-ax/files/:
    - Die dpf-ax Tools für Windows (dpf-ax_windows_JJJJMMTT.zip.)
    - Die fertige Firmware für alle bekannten DPFs (dpf-ax_firmware_JJJJMMTT.zip.)
    Nehmt immer die Dateien mit dem neuesten Zeitstempel.
Typerkennung und Backup
    Wenn Ihr Python noch nicht installiert habt: jetzt ist der richtige Zeitpunkt.
    Danach erstmal alles entpacken: den Bootflasher, die dpf-ax Tools und die Firmware.
    Jetzt das Display an USB anstecken.
    Am Display MENÜ drücken und den Menüpunkt "Mit PC verbinden"/"Connect to PC"/"USB Connect"/... wählen (sollte der erster Menüpunkt sein.)
    Windows legt jetzt eine schöpferische Pause ein und irgendwann erscheint eine neues CD-ROM in der Liste der Laufwerke: "CD-Lauwerk <Laufwerksbuchstabe>: DPFMate".
    Das Programm DPFMate.exe müsst Ihr NICHT ausführen!
    Öffnet eine Eingabeaufforderung ("cmd" im Suchfeld des Startmenüs.)
    Wechselt in den Ordner in dem Ihr die dpf-ax Tools entpackt habt und dann in den Ordner "dpf-ax\tools". Beispiel: "cd Downloads\dpf-ax\tools".
    Gebt jetzt in der Eingabeaufforderung ein: "python identify.py X". Ersetzt "X" durch den Laufwerksbuchstaben des CD-Laufwerks von oben:
    
    
     Quellcode
     Quellcode
Zeile 225: Zeile 290:
     10
     10
     11
     11
    12


    
    


     Found AX206 DPF (bootloader)
     C:\Users\xxxx\Downloads\dpf-ax\tools>python identify.py E:
    Manufacturer: Winbond
     Running on windows - unable to detect flash size
     Size        : 2 MB
     Reading 100000 bytes from flash...
     Erase full flash...
     Flash written to file 'fulldump_win_20130531-150540.bin'.
     Flashing sector 0...
 
     Flashing sector 1...
    Looking for firmware.............: Found (buildwin, 320x240 px).
     Flashing sector 2...
     Looking for Openwin..............: Found.
     Flashing sector 3...
     Looking for LcdIniTbl............: Found.
     Flashing sector 4...
    Looking for backlight & contrast.: Found, Found.
     Flashing sector 5...
     Looking for known signatures.....: Found.
     Executing applet..
 
    Your dpf is compatible with model ['pearl_custom'].
 
 
     Klasse! Euer Display wird unterstützt UND Ihr habt einen Backup der Firmware unter "fulldump_win_20130531-150540.bin". Dabei ist "20130531-150540" ein Zeitstempel, der bei euch logischerweise anders aussieht.
 
    Kriegt Ihr stattdessen sowas:
   
    Quellcode
 
    1
    2
    3
    4
     5
 
   
 
    .
    .
    Looking for known signatures.....: None.
 
     Sorry, no matching dpf found.
 
 
    ... dann bitte unter "Sorry, no matching dpf found" im ersten Post weiterlesen!


Flashen der Firmware


    Öffnet jetzt den Explorer, wechselt in den Ordner in den Ihr den Bootflasher entpackt habt und startet dort das Programm ProgSPI.exe.
    Geht zuerst auf "Settings" und überprüft, dass "Program" gewählt und "Reset" angekreuzt ist.
    Jetzt auf "Browse" und die Firmware auswählen. Geht in den Ordner mit den runtergeladenen fertigen Firmwaredateien und wählt die, die dem oben ausgespuckten Typ entspricht (in diesem Fall die "fw_pearl_custom.bin".)
    Wenn es nicht noch dran ist: Display an USB anstecken.
    DRÜCKT NICHT MENÜ! WÄHLT NICHT DEN MENÜPUNKT "Mit PC verbinden"!
    Jetzt kommt der Trick: das Display wird in den "Bootloader Mode" versetzt. Drückt die RESET-Taste am Display (kleines Loch auf der Rückseite oben links, am besten ne Büroklammer rein bis es "klick" macht), haltet die Taste gedrückt und jetzt MENÜ drücken, RESET loslassen, MENÜ loslassen.
    Wenn die Reihenfolge gestimmt hat wird das Display jetzt schwarz und im Bootflasher wird das Kästchen hinter "Channel 1" grün.
    Jetzt "Execute" drücken.
    Im Statusfenster erscheint "Programming..." und das Kästchen hinter "Channel 1" wird blau. Wenn stattdessen im Statusfenster nur "Please wait for checking Flash ID" steht und eine Fenster "Probe-Flash" mir ner chinesischen Meldung kommt: siehe Anmerkung unten!
    Bitte etwas Geduld - das Programmieren dauert ca. 2-3 Minuten...
     Danach macht das Display automatisch einen Reset und zeigt einen Splashscreen (je nach Displaygröße und Ausrichtung entweder ein Paar Augen, viele Augen oder ein Cocktailglas).
     Danach macht das Display automatisch einen Reset und zeigt einen Splashscreen (je nach Displaygröße und Ausrichtung entweder ein Paar Augen, viele Augen oder ein Cocktailglas).
     Jetzt zur Sicherheit noch mal den RESET Knopf mit der Büroklammer bearbeiten.
     Jetzt zur Sicherheit noch mal den RESET Knopf mit der Büroklammer bearbeiten.
     Fertig.
     Fertig.
Anmerkung: Wenn beim Programmieren im Statusfenster nur "Please wait for checking Flash ID" steht und eine Fenster "Probe-Flash" mir ner chinesischen Meldung kommt, kennt ProgSPI den Flash Chip des Displays nicht. Sucht hier im Portal nach dem Text "FlashLib.ini" und ladet euch die neueste Version die Ihr finden könnt herunter. ProgSPI beenden, FlashLib.zip entpacken und die FlashLib.ini in den Ordner kopieren, in dem ProgSPI.exe ist (die bestehende FlashLib.ini überschreiben.) Wenn es dann immer noch nicht geht, schreibt die Ausgabe des ProgSPI Statusfensters ab (oder macht einen Screenshot davon) und postet die Ausgabe hier. Natürlich könnt Ihr auch die nötigen Flash Infos selbst in die FlashLib.ini eintragen (wenn Ihr wisst was Ihr tut.)
==Quellenangaben==
http://www.vdr-portal.de/board18-vdr-hardware/board11-displays/119203-howto-dpf-easy-hacking-tng/

Version vom 7. März 2014, 17:06 Uhr

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.

Typerkennung, Backup und Flashen unter Linux

Die Beschreibung ist für eine (einigermaßen) aktuelle Debian basierende Distri (Ubuntu, Mint, yaVDR, ...)

   Als Erstes stellt sicher, dass Ihr eine vernünftige Entwicklungsumgebung habt:
  	
  Quellcode
   1


   sudo apt-get install build-essential libusb-dev python-dev


   Besorgt euch von http://sourceforge.net/projects/dpf-ax/files/:
  - Die Sourcen für Linux (dpf-ax_JJJJMMTT.tgz.)
  - Die fertige Firmware für alle bekannten DPFs (dpf-ax_firmware_JJJJMMTT.zip.)
  Nehmt immer die dpf-ax Dateien mit dem neuesten Zeitstempel.
  Die Firmware Sourcen (dpf-ax_firmware-src_JJJJMMTT.tgz) braucht Ihr nicht.
  Alles entpacken und übersetzen:
  	
  Quellcode
   1
  2
  3
  4


   tar xfvz dpf-ax*.tgz
  unzip dpf-ax_firmware*.zip
  cd dpf-ax
  make
   Jetzt das Display an USB anstecken.
  Öffnet eine zweites Terminal-Fenster und startet die Beobachtung der Sysmeldungen:
  	
  Quellcode
   1


   tail -f /var/log/syslog
   Am Display MENÜ drücken und den Menüpunkt "Mit PC verbinden"/"Connect to PC"/"USB Connect"/... wählen (sollte der erster Menüpunkt sein).
  Im Fenster mit den Sysmeldungen kriegt Ihr sowas wie:
  	
  Quellcode
   1
  2
  3
  4
  5
  6


   usbcore: registered new interface driver usb-storage
  USB Mass Storage support registered.
  scsi 6:0:0:0: CD-ROM            buildwin  Photo Frame     1.01 PQ: 0 ANSI: 2
  sr1: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
  sr 6:0:0:0: Attached scsi CD-ROM sr1
  sr 6:0:0:0: Attached scsi generic sg2 type 5


   Wichtig ist der Device-Name in der Zeile mit dem "Attached scsi generic ..." (hier in der letzte Zeile: "sg2") - merken!

Typenerkennung und Backup

   Wechselt in den dpf-ax tools Ordner und gebt ein: "sudo ./identify.py /dev/X".
  Ersetzt "X" durch den Devicenamen von oben.
  Ihr solltet dann eine Ausgabe in der Form erhalten:
  	
  Quellcode
   1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  15
  16


   $ cd tools
  $ sudo ./identify.py /dev/sg2
  Detecting & reading dpf flash...
  Opening generic SCSI device '/dev/sg2'
  Manufacturer: Winbond
  Size        : 2 MB
  Reading 200000 bytes from flash...
  Flash written to file 'fulldump_20130531-150540.bin'.
   Looking for firmware.............: Found (buildwin, 320x240 px).
  Looking for Openwin..............: Found.
  Looking for LcdIniTbl............: Found.
  Looking for backlight & contrast.: Found, Found.
  Looking for known signatures.....: Found.
   Your dpf is compatible with model ['pearl_custom'].


   Klasse! Euer Display wird unterstützt UND Ihr habt einen Backup der Firmware unter "fulldump_20130531-150540.bin". Dabei ist "20130531-150540" ein Zeitstempel, der bei euch logischerweise anders aussieht.
   Kriegt Ihr stattdessen sowas:
  	
  Quellcode
   1
  2
  3
  4
  5


   .
  .
  Looking for known signatures.....: None.
   Sorry, no matching dpf found.


   ... dann bitte unter "Sorry, no matching dpf found" im ersten Post weiterlesen!


Flashen der Firmware

   Wenn es nicht noch dran ist: Display an USB anstecken.
  DRÜCKT NICHT MENÜ! WÄHLT NICHT DEN MENÜPUNKT "Mit PC verbinden"!
  Jetzt kommt der Trick: das Display wird in den "Bootloader Mode" versetzt. Drückt die RESET-Taste am Display (kleines Loch auf der Rückseite oben links, am besten ne Büroklammer rein bis es "klick" macht), haltet die Taste gedrückt und jetzt MENÜ drücken, RESET loslassen, MENÜ loslassen.
  Wenn die Reihenfolge gestimmt hat, wird das Display jetzt schwarz und in dem Fenster mit den Sysmeldungen kommt sowas wie:
  	
  Quellcode
   1


   generic-usb 0003:1908:3318.0007: hiddev0,hidraw5: USB HID v2.01 Device [BUILDWIN BL206v1.0.0] on usb-0000:00:1a.0-1.6/input0
   Sucht die passende Firmware im "dpf-ax/src" Ordner, die zu dem von identify.py ausgegebenen Typ passt (hier: "fw_pearl_custom.bin").
  Dann:
  	
  Quellcode
   1
  2


   sudo ./hiddetach
  sudo ./restore.py ../src/fw_pearl_custom.bin -f


   Das Ihr dabei "fw_pearl_custom.bin" durch die Firmware für euren Typ ersetzt ist klar, oder?
   Als Dank erhaltet Ihr diese Ausgabe:
  	
  Quellcode
   1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11


   Found AX206 DPF (bootloader)
  Manufacturer: Winbond
  Size        : 2 MB
  Erase full flash...
  Flashing sector 0...
  Flashing sector 1...
  Flashing sector 2...
  Flashing sector 3...
  Flashing sector 4...
  Flashing sector 5...
  Executing applet..


   Danach macht das Display automatisch einen Reset und zeigt einen Splashscreen (je nach Displaygröße und Ausrichtung entweder ein Paar Augen, viele Augen oder ein Cocktailglas).
  Jetzt zur Sicherheit noch mal den RESET Knopf mit der Büroklammer bearbeiten.
  Fertig.

Typerkennung, Backup und Flashen unter Windows

Getestet unter Windows XP und Windows 7. Windows 8: keine Ahnung.

Besorgt euch erstmal:

   Das Flashprogramm für Windows: AX206 HW Bootflasher.
   Einen Python 2 Interpreter inklusive der "Pythonwin Extensions" (die dpf-ax Tools sind in Python geschrieben).
   Achtung: es muss Python 2 sein - Python 3 GEHT NICHT!.
   Wenn Ihr noch keinen habt, nehmt den: ActivePython Community Edition 2.7.
   Von http://sourceforge.net/projects/dpf-ax/files/:
   - Die dpf-ax Tools für Windows (dpf-ax_windows_JJJJMMTT.zip.)
   - Die fertige Firmware für alle bekannten DPFs (dpf-ax_firmware_JJJJMMTT.zip.)
   Nehmt immer die Dateien mit dem neuesten Zeitstempel.

Typerkennung und Backup

   Wenn Ihr Python noch nicht installiert habt: jetzt ist der richtige Zeitpunkt.
   Danach erstmal alles entpacken: den Bootflasher, die dpf-ax Tools und die Firmware.
   Jetzt das Display an USB anstecken.
   Am Display MENÜ drücken und den Menüpunkt "Mit PC verbinden"/"Connect to PC"/"USB Connect"/... wählen (sollte der erster Menüpunkt sein.)
   Windows legt jetzt eine schöpferische Pause ein und irgendwann erscheint eine neues CD-ROM in der Liste der Laufwerke: "CD-Lauwerk <Laufwerksbuchstabe>: DPFMate".
   Das Programm DPFMate.exe müsst Ihr NICHT ausführen!
   Öffnet eine Eingabeaufforderung ("cmd" im Suchfeld des Startmenüs.)
   Wechselt in den Ordner in dem Ihr die dpf-ax Tools entpackt habt und dann in den Ordner "dpf-ax\tools". Beispiel: "cd Downloads\dpf-ax\tools".
   Gebt jetzt in der Eingabeaufforderung ein: "python identify.py X". Ersetzt "X" durch den Laufwerksbuchstaben des CD-Laufwerks von oben:
   	
   Quellcode
   1
   2
   3
   4
   5
   6
   7
   8
   9
   10
   11
   12


   C:\Users\xxxx\Downloads\dpf-ax\tools>python identify.py E:
   Running on windows - unable to detect flash size
   Reading 100000 bytes from flash...
   Flash written to file 'fulldump_win_20130531-150540.bin'.
   Looking for firmware.............: Found (buildwin, 320x240 px).
   Looking for Openwin..............: Found.
   Looking for LcdIniTbl............: Found.
   Looking for backlight & contrast.: Found, Found.
   Looking for known signatures.....: Found.
   Your dpf is compatible with model ['pearl_custom'].


   Klasse! Euer Display wird unterstützt UND Ihr habt einen Backup der Firmware unter "fulldump_win_20130531-150540.bin". Dabei ist "20130531-150540" ein Zeitstempel, der bei euch logischerweise anders aussieht.
   Kriegt Ihr stattdessen sowas:
   	
   Quellcode
   1
   2
   3
   4
   5


   .
   .
   Looking for known signatures.....: None.
   Sorry, no matching dpf found.


   ... dann bitte unter "Sorry, no matching dpf found" im ersten Post weiterlesen!

Flashen der Firmware

   Öffnet jetzt den Explorer, wechselt in den Ordner in den Ihr den Bootflasher entpackt habt und startet dort das Programm ProgSPI.exe.
   Geht zuerst auf "Settings" und überprüft, dass "Program" gewählt und "Reset" angekreuzt ist.
   Jetzt auf "Browse" und die Firmware auswählen. Geht in den Ordner mit den runtergeladenen fertigen Firmwaredateien und wählt die, die dem oben ausgespuckten Typ entspricht (in diesem Fall die "fw_pearl_custom.bin".)
   Wenn es nicht noch dran ist: Display an USB anstecken.
   DRÜCKT NICHT MENÜ! WÄHLT NICHT DEN MENÜPUNKT "Mit PC verbinden"!
   Jetzt kommt der Trick: das Display wird in den "Bootloader Mode" versetzt. Drückt die RESET-Taste am Display (kleines Loch auf der Rückseite oben links, am besten ne Büroklammer rein bis es "klick" macht), haltet die Taste gedrückt und jetzt MENÜ drücken, RESET loslassen, MENÜ loslassen.
   Wenn die Reihenfolge gestimmt hat wird das Display jetzt schwarz und im Bootflasher wird das Kästchen hinter "Channel 1" grün.
   Jetzt "Execute" drücken.
   Im Statusfenster erscheint "Programming..." und das Kästchen hinter "Channel 1" wird blau. Wenn stattdessen im Statusfenster nur "Please wait for checking Flash ID" steht und eine Fenster "Probe-Flash" mir ner chinesischen Meldung kommt: siehe Anmerkung unten!
   Bitte etwas Geduld - das Programmieren dauert ca. 2-3 Minuten...
   Danach macht das Display automatisch einen Reset und zeigt einen Splashscreen (je nach Displaygröße und Ausrichtung entweder ein Paar Augen, viele Augen oder ein Cocktailglas).
   Jetzt zur Sicherheit noch mal den RESET Knopf mit der Büroklammer bearbeiten.
   Fertig.

Anmerkung: Wenn beim Programmieren im Statusfenster nur "Please wait for checking Flash ID" steht und eine Fenster "Probe-Flash" mir ner chinesischen Meldung kommt, kennt ProgSPI den Flash Chip des Displays nicht. Sucht hier im Portal nach dem Text "FlashLib.ini" und ladet euch die neueste Version die Ihr finden könnt herunter. ProgSPI beenden, FlashLib.zip entpacken und die FlashLib.ini in den Ordner kopieren, in dem ProgSPI.exe ist (die bestehende FlashLib.ini überschreiben.) Wenn es dann immer noch nicht geht, schreibt die Ausgabe des ProgSPI Statusfensters ab (oder macht einen Screenshot davon) und postet die Ausgabe hier. Natürlich könnt Ihr auch die nötigen Flash Infos selbst in die FlashLib.ini eintragen (wenn Ihr wisst was Ihr tut.)


Quellenangaben

http://www.vdr-portal.de/board18-vdr-hardware/board11-displays/119203-howto-dpf-easy-hacking-tng/