Information and Payment Kiosk
Project : Build a self contained information and payment kiosk for the DIYode workshop.
Requirements : The Kiosk should be a simple to use system which will accept member payment in various ways.
Installing Debian on IBM SurePOS Type 4840-563
Install a base Debian with desktop in the usual manner :) I used Debian 7.4.0 - i386 because I already had the install CD.
Disable Kernel Mode Switching
On reboot the main lcd screen will go blank. There appears to be something wrong with the i915 linux video drivers.
This is a hack that will allow the main lcd work. The only way to get in is to use the external VGA with keyboard.
$> cat /etc/modprobe.d/i915-kms.conf options i915 modeset=0
Reboot after you have added this config.
Be careful to not switch consoles with the Linux CTRL-SHIFT-F1. You will not be able to switch back to the GUI desktop. This appears to also be a bug. If you switch out of GUI mode the only way to get it back is to reboot. :(
Several sources say 'modeset=0' will break KernelModeSwitching and that the new release of X11 will not run with KMS turned off. Well it does run with this Debian version. But it definitely has problems.
The other way to get X11 working is to blacklist the i915 driver.
So you don't have to have the external VGA and keyboard install the SSH daemon, which will allow you to login via the network.
sudo apt-get install openssh-server
Enable all 8 Serial Ports
A normal linux kernel will only 'see' the first 4 serial ports. If you have more you need to add a boot parameter to enable them:
Edit /etc/default/grub; GRUB_CMDLINE_LINUX="8250.nr_uarts=8"
sudo update-grub. sudo shutdown -r now
Check to see that all the Serial ports are available with :
sudo setserial -g /dev/ttyS[0-7]*
You also have to make sure the serial port you want to use has an irq tied to it. I got some help from here: <<http://www-01.ibm.com/support/docview.wss?uid=pos1R1003073>>
The IBMPOS if have has the multiserial card on irq 17 and port 4 is connected to the touchscreen.
sudo setserial /dev/ttyS6 uart 16550A port 0x9c00 irq 17 ^fourport sudo stty -F /dev/ttyS6 raw
You should only have to do this once.
EloGraphics Touch X11
If the below procedure does not work then you will need these drivers <<sudo apt-get install xserver-xorg-input-elographics>>
sudo apt-get install inputattach sudo apt-get install evtest
$> cat /lib/udev/rules.d/99-elographics.rules ACTION=="add|change", SUBSYSTEM=="tty|pnp", KERNEL=="ttyS6", \ RUN+="/sbin/modprobe elo", \ RUN+="/usr/bin/inputattach -elo /dev/%k --daemon"
$> cat /usr/share/X11/xorg.conf.d/99-elographics.conf Section "InputClass" Identifier "elographics config" MatchProduct "Elo Serial TouchScreen" Option "InvertY" "True" EndSection