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.
Just so you don't have to have the external VGA and keyboard I suggest installing 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 I have has the multiserial card on irq 17 and serial 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 to install the EloGraphics drivers
sudo apt-get install xserver-xorg-input-elographics
I got a lot of help from this page <<http://who-t.blogspot.fi/2012/07/elographics-touchscreen-setup.html>> Give it a read if you want the background for the configuration below.
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
The last section I had to add 'Option "InvertY" "True"' because the cursor tracked the wrong way on the Y-axis. If the cursor does not track the correct way on the X or Y axis they make the appropriate changes to your config.
2015/02/26 - mz