IPFire und das AX206-Display

Unter Linux gibt es dank des lcd4linux-Projekts die Möglichkeit, LC-Displays anzusteuern – beispielsweise, um Statusinformationen auszugeben. Vor einigen Jahren gab es bei einigen Versandhäusern, wie Pearl, einen besonders günstigen digitalen Bilderrahmen, der mit einer alternativen Firmware auch mit lcd4linux betrieben werden kann. Seitdem gibt es zahlreiche vergleichbare Bilderrahmen – der entsprechende Chipsatz lautet ax206. Wer nach diesem Chipsatz oder „dpf lcd4linux“ sucht, dürfte schnell fündig werden. Ich hatte mir vor einigen Jahren einige solcher Bilderrahmen bestellt und beim Frühjahrsputz kam dir der Gedanke, man könnte ja mal wieder etwas damit basteln…

Anlässlich der kürzlichen IPFire-Migration, kam mir gleich der Gedanke, ein Statusdisplay zu basteln. Glücklicherweise gibt es hierfür entsprechende Pakete in der IPFire-eigenen Paketverwaltung PakFire.

Patchen des Bilderrahmens

Zuerst muss der Bilderrahmen jedoch mit einer alternativem Firmware versehen werden, um ihm die gewünschte Fähigkeit zu entlocken. Auf Sourceforge gibt es eine Sammlung namens dpf-ax – interessant sind hier die folgenden zwei Downloads:

  • dpf-ax_*.tgz
  • dpf-ax_firmware_*.zip

Das erste Archiv beinhaltet die notwendigen Tools zum Patchen, während der zweite Download verschiedene Firmware-Dateien beinhaltet. Neben dem ax206-Display werden auch einige andere Bilderrahmen (dpf, digital picture frame) unterstützt. Im Wiki des Projekts sind alle unterstützten Geräte aufgelistet: [klick mich!]

Übrigens eignen sich CentOS und Red Hat Enterprise Linux 6 und 7 nicht zum Patchen des Bilderrahmens. Vermutlich sind hier einige Bibliotheken zu alt. Ich habe für die folgenden Schritte eine aktuelle Ubuntu-Version verwendet.

Nach der Installation von Ubuntu (oder einer vergleichbaren Distribution) müssen USB- und Python-Entwicklungsdateien installiert werden. Darüber hinaus müssen auch die Archive entpackt werden:

# sudo apt-get install libusb-dev python-dev
# tar xf dpf-ax_*.tgz
# unzip dpx-ax_firmware_*.zip
# cd dpf-ax

Anschließend wird der Bilderrahmen per USB angeschlossen und in den Bootloader-Modus versetzt. Dazu wird bei meinem Gerät der RESET-Knopf gedrückt und gehalten, anschließend wird der MENU-Knopf kurz gedrückt und anschließend RESET losgelassen. Das Display wird daraufhin schwarz, das Gerät wird wie folgt erkannt:

# dmesg
...
[1227170.370053] usb 2-1: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[1227170.370069] usb 2-1: Product: BL206v1.0.0
[1227170.370085] usb 2-1: Manufacturer: BUILDWIN
[1227170.370099] usb 2-1: SerialNumber: 000001
[1227180.381395] hid-generic 0003:1908:3318.0001: timeout initializing reports
[1227180.386240] hid-generic 0003:1908:3318.0001: hiddev0,hidraw0: USB HID v2.01 Device [BUILDWIN BL206v1.0.0] on usb-0000:00:0f.4-1/input0
# lsusb
...
Bus 002 Device 006: ID 1908:3318 GEMBIRD

Die folgenden Befehle versetzen das Gerät in einen Modus zur Installation der Firmware:

# cd tools
# sudo ./hiddetach
Detaching dpf at 1-1.2:1.0... done

Für mein Gerät lässt sich die Firmware wie folgt installieren:

# sudo ./restore.py ../src/fw_taobao.bin -f
Found AX206 DPF (bootloader)
Manufacturer: Macronix
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..

Bei anderen Geräten wird die Firmware mit etwas Glück wie folgt automatisch erkannt und installiert:

# sudo ./restore.py

Nach der Installation der alternativen Firmware wird der Bilderrahmen wie folgt vom System erkannt:

# dmesg
...
[1227170.370053] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[1227170.370069] usb 2-1: Product: USB-Display
[1227170.370085] usb 2-1: Manufacturer: hackfin
[1227170.370099] usb 2-1: SerialNumber: 001
# lsusb
...
Bus 002 Device 005: ID 1908:0102 GEMBIRD

Nun fehlt nur noch eine gültige lcd4linux-Konfiguration, um den Bilderrahmen anzusprechen.

Konfiguration von IPFire

AX206-Display mit lcd4linux

AX206-Display mit lcd4linux

Um das Display unter IPFire anzusprechen, werden die folgenden Software-Pakete benötigt:

  • dpfhack
  • lcd4linux-*-dpf

Die Pakete können komfortabel über PakFire installiert werden.

Die rechts zu sehende Konfiguration habe ich auf GitHub hochgeladen.

# curl -k https://raw.githubusercontent.com/stdevel/ipfire-tools/master/dpf/lcd4linux.conf -o /etc/lcd4linux.conf
# curl -k https://raw.githubusercontent.com/stdevel/ipfire-tools/master/dpf/ipfire.png -o /etc/ipfire.png
# curl -k https://raw.githubusercontent.com/stdevel/ipfire-tools/master/dpf/dpf_traf.sh -o /etc/dpf_traf.sh
# chmod 0600 /etc/lcd4linux.conf
# /etc/init.d/lcd4linux start
Platine des AX206-Displays

Platine des AX206-Displays

Anschließend sollte lcd4linux die entsprechenden Informationen anzeigen. Je nach Netzwerk-Konfiguration müssen ggf. die Netzwerkkarten in der Konfigurationsdatei angepasst werden – einen Blick in die Datei /etc/lcd4linux.conf hilft hier weiter. 🙂

Für den Dauerbetrieb empfiehlt es sich übrigens, den Bilderrahmen aufzuschrauben und den Akku zu entfernen. Hier genügt entweder ein Seitenschneider und Klebeband oder ein Lötkolben. Einigen Erfahrungsberichten im Internet zufolge, soll der minderwertige Akku im Dauerbetrieb explodieren. 😉

Schreibe einen Kommentar