Lcd

From ThorstensHome
Jump to: navigation, search

I have a new fun project. Benny showed me an article from a geek who uses his digital picture frame as USB-connected monitor using LCD4Linux. Here I am trying to do the same with Ubuntu x86_32.

Contents

Build dpfhack

You will need dpfhack to change the picture frame's firmware

sudo apt-get install libtool automake autoconf zlib1g-dev libssl-dev python-dev libc6 libusb-dev libibus-1.0-dev subversion libgd2-noxpm-dev libgd2-noxpm
  • make the sdcc compiler work
wget ftp://ftp.debian.org/debian/pool/main/s/sdcc/sdcc-libraries_2.9.0-5_all.deb
wget ftp://ftp.debian.org/debian/pool/main/s/sdcc/sdcc_2.9.0-5_i386.deb
sudo dpkg -i sdcc-libraries_2.9.0-5_all.deb
sudo dpkg -i sdcc_2.9.0-5_i386.deb 
  • download and build dpfhack
wget http://tech.section5.ch/files/dpfhack-0.1alpha.tgz
tar -xvzf dpfhack-0.1alpha.tgz
cd dpf/src
make

Build lcd4linux

  • get a special version of lcd4linux
cd ..
wget http://tech.section5.ch/files/dpf-lcd4linux.tgz
tar -xvzf dpf-lcd4linux.tgz
  • edit build-dpf-lcd4linux.sh, change the line
./configure --with-drivers=DPF

to

./configure --with-drivers='DPF' --with-plugins='all,!dbus,!mpris_dbus'
  • build and install the special version of lcd4linux
./build-dpf-lcd4linux.sh ../src/dpflib/
cd lcd4linux
sudo make install

Replace firmware

Now it's time to overwrite the digital picture frame's firmware. First let's find out what device the picture frame is. In dmesg I find a line containing

Attached scsi generic sg5 type 5

So I do

cd ../src
sudo python hackit.py /dev/sg5

Configure lcd4linux

Fill /etc/lcd4linux, e.g. with

Display dpf {
    Driver     'DPF'
    Port       'usb0'
    Font       '6x8'
    Foreground 'ffffff'
    Background '000000'
    Basecolor  '000066'
}
Widget FIRST {
    class 'Text'
    expression 'www.Geekparadise.de'
    width 54
    align 'L'
    update 5000
    Background 'ffffff'
    Foreground  '000000'
}
Display 'DPF'
 
Layout Dockstar{
    Row01.Col01  'FIRST'
}
 
Layout 'Dockstar'

Display something

Now unplug and plug in again the display. Then call lcd4linux:

sudo lcd4linux

And you will see output on the digital picture frame :)