Point of sale kiosks

From Hackerspace Brussels
Jump to: navigation, search
Point of sale kiosks
Point of sale kiosks

After a generous donation we got a bunch of IBM point of sale kiosks. Let's find out what we can do with it.


  • Brand: IBM
  • Machine type/model: 4838135
  • Bios version: 8AKT102
  • Ram: 1Gb
  • HD: 40GB

There are 2 USB ports at the bottom of the screen, behind a cap.

Install Debian[edit]

We can install debian with a pxe network install. Luckily we already have this running in the space.

Update the bios settings to boot from LAN first. Reboot the machine.

Configure Touchscreen[edit]

Install drivers[edit]

The machine we got is a 4838135, and following to linux documentation, the touchscreen is from elographics. Install drivers with

 apt-get install xserver-xorg-input-elographics

Configure X[edit]

We need to configure X to know about the inputdevice. We can configure xorg in /etc/X11/xorg.conf. If you don't have that file, create it.

I created a fresh /etc/X11/xorg.conf file with the following command:

 Xorg -configure

This will create a fresh xorg.conf file at /root/xorg.conf.new, copy it to /etc/X11/xorg.conf

 cp /root/xorg.conf.new /etc/X11/xorg.conf

Following the IBM linux pdf of this machine, the final xorg.conf file contains this:

 Section "ServerLayout"
       Identifier     "X.org Configured"
       Screen         "Screen0"
       InputDevice    "Mouse0" "CorePointer"
       InputDevice    "touchscreen" "SendCoreEvents"
       InputDevice    "Keyboard0" "CoreKeyboard"
 Section "InputClass"
       Identifier  "Invert Mouse"
       MatchProduct    "Elo Serial TouchScreen"
       MatchDevicePath "/dev/input/event*"
       Option      "InvertY"       "true"
 Section "InputDevice"
       Driver "elographics"
       Identifier "touchscreen"
       Option "ButtonNumber" "1"
       Option "ButtonThreshold" "17"
       Option "Device" "/dev/ttyS1"
       Option "InputFashion" "Touchpanel"
       Option "MinX" "0"
       Option "MaxX" "3977"
       Option "MinY" "96"
       Option "MaxY" "4062"
       Option "Name" "touchscreen"
       Option "ReportingMode" "Scaled"
       Option "SendCoreEvents" "on"
       Option "ScreenNo" "0"

There is much more config in that file, but this is what is concerning to the touchscreen.

Important is to check the model of screen you have, the above settings are for the 4838135. Look up the PDF linked at the bottom for more configurations.

Missing input source[edit]

The touchscreen still didn't respond, apparently the elographics drivers don't create a event source. We fix this with a udev rule.

Create a file at /lib/udev/rules.d/99-elographics.rules with:

 ACTION=="add|change", SUBSYSTEM=="tty|pnp", KERNEL=="ttyS1", RUN+="/sbin/modprobe elo", RUN+="/usr/bin/inputattach -elo /dev/%k --daemon"


Thanks to Jegava for his X skillz!

More info[edit]

Helpful resources[edit]