Pearl DPF (AX206) Hacking – USB-Display am VDR

3 Juni 2013 von Oli82 Kommentieren »

Hier erläutere ich Schritt für Schritt, wie man ein USB-Display mit AX206-Chip unter Linux flashed und am VDR zum laufen bekommt. Der AX206 ist z.B. in dem digitalen Bilderrahmen von Pearl (DPF) verbaut. Aktuell bekommt man diesen nicht mehr bei Pearl, aber ähnliche Modelle sind noch in eBay zu finden. Mein DPF ist von LinkDelight.

Warum das DPF hacken?

Eigentlich stellt man die Frage am besten gar nicht. Durch den „Hack“ kann man das DPF an einem PC als z.B. Infodispay betreiben. Ebenfalls läuft das Display an einer Dreambox, an Routern mit DD-WRT, an der Dockstar usw.. Am VDR sieht das ganze dann so aus:

Foto

Ich denke, damit ist die Frage auch schon beantwortet 😉

Vorbereitung:

An Hardware benötigt man:

  • Einen digitalen Bilderrahmen mit AX206 Chip
  • ein kurzes USB Kabel (nicht das beiliegende nehmen. Es kann zu Kontaktproblemen beim flashen kommen).
  • Einen Linux PC oder eine Virtuelle Installation

An Software benötigt man:

Die aktuellen Tools und Firmware-Builds könnt ihr in diesem Thread im VDR-Portal erhalten.

01. Folgende Pakete müssen installiert, bzw. geladen werden:

sudo apt-get install wget subversion libtool automake autoconf zlib1g-dev python python-dev libssl-dev libusb-dev libc6 sdcc sdcc-libraries

02. Die aktuelle dpf-ax Version aus dem SVN herunterladen

svn checkout http://svn.code.sf.net/p/dpf-ax/code/trunk/. dpf-ax

03. Den IntelHex Konverter laden und an die richtige Stelle kopieren:

wget http://linuxnetwork.li.funpic.de/files/intelhex-1.3.tar.gz 
tar -xvzf intelhex-1.3.tar.gz intelhex-1.3/intelhex/__init__.py 
cp intelhex-1.3/intelhex/__init__.py dpf-ax/src/intelhex.py

04. Nun erstellen wir erst einmal alle Firmwaredateien für das DPF.

cd dpf-ax
sudo make
sudo make firmware
cd tools

05. Vor dem Flashen.

Nun schließen wir das USB Kabel an DPF und PC an. Danach wählen wir am DPF über
MENU -> USB CONNECT -> YES aus um das Device, welches wir später flashen wollen, zu erfahren.

Mittels dmesg sollten wir nun eine ähnliche Ausgabe erhalten:

usb 2-1: new full-speed USB device number 8 using uhci_hcd
usb 2-1: New USB device found, idVendor=1908, idProduct=0102
usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
usb 2-1: Product: Digital Photo Frame
usb 2-1: Manufacturer: BUILDWIN
scsi6 : usb-storage 2-1:1.0
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

In meinem Fall lautet das richtige Device sg2.

Ob es sich bei dem DPF um ein unterstütztes Model handelt, können wir wie folgt prüfen:

python ./identify.py /dev/sg2
Detecting & reading dpf flash...
Opening generic SCSI device '/dev/sg2'
Manufacturer: Winbond
Size        : 1 MB
Reading 100000 bytes from flash...
Flash written to file 'fulldump_20130603-110055.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 ['focal_custom_2'].

Wie man sieht, handelt es sich bei meinem DPF um ein Modell vom Typ „focal_custom_2„. Bei der Prüfung wurde automatisch ein Backup der original Firmware gemacht. Sollte etwas schief gehen, kann man wieder zur originalen Firmware wechseln.

Nun geht´s ans flashen.

Dafür muss das DPF in den Flash-Mode gebracht werden. Dies geschieht wie folgt:

  • Reset drücken und halten
  • Menütaste Drücken und halten
  • Reset loslassen
  • nach 2 Sekunden Menütaste loslassen.

Das DPF sollte nun schwarz sein. Mit dem Befehl lsusb prüfen wir nun, ob sich das DPF im Flash-Mode befindet:

sudo lsusb
Bus 002 Device 011: ID 1908:0102 GEMBIRD

Es kann sein, dass beim Flashen der Fehler „Error: Failed to claim usb device!“ erscheint. Der Fehler besagt, dass das DPF noch vom System verwendet wird. um diesen Fehler zu umgehen geben wir vorbeugend den Befehl sudo ./hiddetach ein.

./restore.py ../src/fw_focal_custom_2.bin -f
# ACHTUNG: durch den Parameter -f wird die Firmware ohne Rückfragen geschrieben!
Found AX206 DPF (bootloader)
Manufacturer: Winbond
Size        : 1 MB
Erase full flash...
Flashing sector 0...
Flashing sector 1...
Flashing sector 2...
Flashing sector 3...
Flashing sector 4...
Flashing sector 5...
Executing applet..
# Fertig!

Nun bootet das DPF mit der geänderten Firmware. Das lässt sich dran erkennen, dass euch ein paar Augen ansehen 😉

Foto

Wie man das DPF nun an den VDR anbindet erfahrt ihr hier: Pearl DPF AX206 an VDR

Werbung

Schreibe einen Kommentar


Deprecated: Function set_magic_quotes_runtime() is deprecated in /www/htdocs/w00b99e6/blog/counter/counter.php on line 61

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: Function set_magic_quotes_runtime() is deprecated in /www/htdocs/w00b99e6/blog/counter/counter.php on line 1794