Touchy
Touchy | |
---|---|
Install linux on an old Siemens TRADEBOARD E | |
Meetings: | none |
Type: | software
|
Status: | running |
Members: | |
Contact Person: | Gunstick (mail) |
Tools | |
QrCode: |
The tradeboard is an Intel based device used for bank trading. It includes several telephone line ports but the main interest is it's touchscreen. Only 32MB of ram, 200MHz CPU.
Status: linux works, X works, touchscreen works.
Todo: what about an on-screen keyboard?
Contents |
Preparing
Open the device! Ahh, nice hardware :-)
Hack the installed windows95 to give a DOS shell and run windows explorer. F8 magic
Start IE (version 5, unpatched) and connect to the Internets...
Oh my god, this definitively need linux
choosing distribution
Well there are many small linux distribs, but few are built for really low memory. DSL is nice, but even 32MB is not enough.
Choice is finally deli linux.
installation
Oh, no floppy or CD. No BIOS which would make booting from the USB port possible.
Installation is done on another laptop which has a 2.5" PATA disk.
- lilo to MBR - full install
Insert disk into Tradeboard, boot... Nice LILO...
Login:
YES!
xwindows?
mkdir /etc/X11
the magic command is: delisetup - 5: CONFIGURE NETWORK I chose simple DHCP and deli detected the network card correctly - 6: CONFIGURE XORG There is also an option for tiny X but Xorg works better
- mouse and keyboard: defaults - screen: super VGA 800x600 / 50-70hz - card: chips technologies (chips) - screen: 8bit 256 colors
- 8 SETUP WINDOW MANAGER
of course icewm, there is no other choice :-)
startx
wow.... grafics.
touchscreen
Get the driver from here http://www.elotouch.com/SUPPORT/Downloads/dnldlicense.asp?file=SW600664_Elo_Linux_Serial_Driver_v3.2_i686.tgz
Get the linux sources for the current delilinux kernel http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.36.4.tar.bz2
Unpack linux sources to /usr/src/linux
Unpack the elo driver into /tmp
Follow the instructions from elo for the installation but be careful, this being a 2.4 kernel, use the right makefile and edit main.c to comment out the KRN define
startup for deli linux: use the rc.local method
PORTNAME is ttyS1
reboot
startx
black screen
# ./eloser -bash: ./eloser: No such file or directory # ldd eloser ... libc.so.6 => not found ...
OUCH! And now???
So that's the end of this project? http://www.delilinux.org/forum/topic.php?id=95
Not so fast. The touchscreen, second try
There is a limited functionality open source version of the driver. It has no fancy calibration software. http://www.elotouch.com/files/unrestricted_drivers/linux_public.zip
unfortunately this seems to be very xf86 and not compatible.
what about the debian driver?
get this one
http://packages.debian.org/source/sid/xserver-xorg-input-elographics
tar xvzf xserver-xorg-input-elographics_1.2.3.orig.tar.gz cd xf86-input-elographics-1.2.3 ./configure --prefix=/usr make make install
Quite an issue with getting the xorg config right.
And then there is some calibration needed. Install http://touchcal.sourceforge.net/ ./configure && make && ./touchacl e /dev/ttyS1
You get the 4 lines to put into xorg.conf
This is unfortunately very unprecise as the calibration is done in text mode. I found it works a little better if done in an xterm with X running.
startx
then start "./touchcal e /dev/ttyS1" on that screen
Instead of clicking on the crosses, put a pencil on the corresponding extreme corners of the screen Please note down the following values, NOT the final Option coordinates:
Coord 0: y = 578, x = 3612
Coord 1: y = 3564, x = 3636
Coord 2: y = 576, x = 468
The values are then to be put into the file following this color scheme
MinX
MaxX
MinY
MaxY
This is the modifications I did to the xorg.conf
Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" InputDevice "touchscreen1" "SendCoreEvents" EndSection [...] Section "InputDevice" Identifier "touchscreen1" Driver "elographics" Option "Device" "/dev/ttyS1" Option "SendCoreEvents" "true" # Option "AlwaysCore" Option "SendCoreEvents" Option "ScreenNumber" "0" Option "MinX" "3612" Option "MaxX" "468" Option "MinY" "3564" Option "MaxY" "576" # Option "UntouchDelay" "3" # Option "ReportDelay" "1" Option "ReportingMode" "Raw" Option "ButtonThreshold" "17" Option "ButtonNumber" "1" EndSection
kill the test X server
Now run with startx!