dpf-ax
dpf-ax copied to clipboard
Tools and firmware for AX206 photo frames, from http://sourceforge.net/projects/dpf-ax/
DPF remote display software distribution (dpf-ax)
This is a free software package to:
- Patch or reprogram digital picture frames (DPFs) based on the AX206 CPU
- Make them display system information using lcd4linux, VDR (Video Disk Recorder) and other linux based software.
This is a chaotically growing README. You'll have to gather some information from here and there and probably use google, too. Sorry!
AX206 DPF firmware (also referred to as BSOH - blue screen of hack)
Read all the firmware details in src/README or src/README.developer
Firmware detection & flashing
You need:
-
A proper Linux system with GCC, libusb-dev, Python 2 (note: Python 3 will NOT work!) and python-dev.
-
The dpf-ax tools: dpf-ax_YYYYMMDD.tgz from http://sourceforge.net/projects/dpf-ax/files ("YYYYMMDD" is a timestamp - always use the newest one)
Usage
IMPORTANT: identify.py will put a copy of your dpf's firmware in the file "tools/fulldump_TIMESTAMP.bin". It is strongly recommended to make a backup of this file, so you can re-flash the original firmware if something goes wrong. Alternatively you can make a dump of the entire flash using the fulldump.py script.
LET ME SAY IT AGAIN: make a backup of your dpf's original firmware before messing around!
- Run 'make' to build the dpf access library, python modules and helpers. If you get an error that "usb.h" could not be found: install libusb-dev.
- Connect your frame and enable USB transfer (Press "MENU" -> select "USB Connect", "Connect to PC" or whatever its called).
- Wait a while and check dmesg for the /dev/sgX assignment (e,g. 'tail /var/log/syslog'.) Look for line containing something like .. Attached scsi generic sg2 type 5 .. --> X=2 here ;)
- Go to the tools directory and run './identify.py /dev/sgX' as root. Replace 'X' with the number you found under 3.
- If your dpf is supported, download the firmware package "dpf-ax_firmware_YYYYMMDD.zip" from http://sourceforge.net/projects/dpf-ax/files, extract it and use the fw_TYPE.bin that matches the TYPE identify.py detected.
- Put your dpf in boot mode (press & hold MENU, press & release RESET, release MENU) and run as root ./hiddetach ./restore.py ../src/fw_<your DPF type>.bin -f
If your dpf is not supported, have a look at the picframe wiki at http://picframe.spritesserver.nl/wiki/index.php/DPF_with_AppoTech_AX206 or you can try to contact me (superelchi) at sourceforge or post a request in http://forum.doozan.com/read.php?9,10026
If restore.py is not working (or you prefer windows :-o), see tools/README.windows for instructions howt to do the detection & flashing.
Building options
Verify that you have a decent development system (GCC, development libraries, subversion -- if you want to build lcd4linux) installed.
You can build different targets, depending on your needs.
-
The dpf access library, python modules and helpers:
make
-
The curren SVN version of lcd4linux with dpf-ax support: You need an internet connection. because lcd4linux is pulled from their server. You might also have to install the package "pkg-config", or else the configure procedure will likely fail.
make lcd4linux
-
The firmware for all known frames: Note: read src/README for more information about prerequisites for firmware building.
make firmware
-
The full monty:
make all
Windows support
There is no Windows driver for hacked frames. Period.
But there is partial support for firmware detection and backup. See tools/README.windows.
There is experimental Cygwin support. You need python and libusb-devel Cygwin packages. Compile and install sg3_utils yourself because no Cygwin pacage is available. To access DPF when it appears as a drive, run as Administrator and specify the drive letter. To access DPF in bootloader mode, install libusb-win32 filter driver for that USB device. There is no need to run as Administrator for bootloader mode.
LCD4linux display notes
Usage:
-
Configure lcd4linux: normally, the default settings will do. If you wish to use other drivers or cross compile, check build-dpf-lcd4linux.sh for configure options.
-
Try it:
cd lcd4linux; ./lcd4linux -f ../dpf_128x128.conf -F
Notes about the lcd4linux dpf driver:
- Supported properties:
- Property 'Backlight': Set the dpfs backlight/brightness. Values: 0-7 (0 = off, 7 = max).
- Property 'Orientation': Set the dpfs LOGICAL orientation. Note: PHYSICAL orientation does not matter. Rotation is done in the driver. Value (height != width): 0 = landscape, 1 = portrait, 2 = reverse landscape, 3 = reverse portrait. Value (height == width): 0 = standard, 1 = rotate 90° CW, 2 = rotate 180°, 3 = rotate 90° CCW
Troubleshooting
If the lcd4linux build process fails, you may want to start over without running the entire build procedure. See build-dpf-lcd4linux.sh for the single steps. Right, this could also be in a makefile to be more fool proof..
Features
For features of this firmware, see Changelog
Find updates, documentation and some help here:
http://sourceforge.net/projects/dpf-ax/ or http://picframe.spritesserver.nl/wiki/index.php/DPF_with_AppoTech_AX206 (might be outdated) or http://ax206howtos.wikia.com/wiki/Main_Page or http://forum.doozan.com/list.php?9
For our german users, explanations can be found here:
http://geekparadise.de/2011/04/digitaler-bilderrahmen-von-pearl-als-statusdisplay-fur-dockstar/ (rather outdated) or http://www.vdr-portal.de/board18-vdr-hardware/board11-displays/109196-howto-pearl-dpf-easy-hacking/
(c) 3/2012, hackfin 5/2013, superelchi