Differences between revisions 2 and 3
Revision 2 as of 2008-08-12 04:17:35
Size: 10341
Editor: JonCo
Comment:
Revision 3 as of 2008-08-12 06:09:38
Size: 2883
Editor: JonCo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
The Unified Serial Driver can be found here or just download the latest from their website on this link:["http://www.elotouch.com/Support/Downloads/dnld.asp#linux"]
Copy the driver files to /etc/opt/elo directory
The Unified Serial Driver can be found here or just download the latest from their website on this link:["http://www.elotouch.com/Support/Downloads/dnld.asp#linux"] Copy the driver files to /etc/opt/elo directory
Line 14: Line 14:
Compile and build the kernel module "elok_s.ko" using the compile instructions in Readme_compile.txt. Check if kernel module compiles without any errors and then copy it to /etc/opt/elo directory. Compile and build the kernel module "elok_s.ko" <using the compile instructions in Readme_compile.txt> (fix this later). Check if kernel module compiles without any errors and then copy it to /etc/opt/elo directory.

{{{
cd /etc/opt/elo/elok_s-source
<COMPILE COMPILE COMPILE> (fix this later)
cp elok_s.ko /etc/opt/elo
}}}
Use chmod to grant full permissions to all the files

{{{
cd /etc/opt/elo
chmod 777 *
}}}
Copy and place the X display Elo component file in the proper location

{{{
cp /etc/opt/elo/elo_drv.o /usr/lib/xorg/modules/input
}}}
Modify the /etc/X11/xorg.conf file:

 1. Add the Following lines to the end of the file to create a new Elo device configuration.
 {{{
Section "InputDevice"
    Identifier "elo"
    Driver "elo"
    Option "Device" "/dev/input/elo_ser"
    Option "AlwaysCore"
EndSection}}}
 1. Add the following line to the ServerLayout section to include the elo input device.
 {{{
     InputDevice "elo" "SendCoreEvents"}}}
Install the elocontrol(elok_S) module by running:
{{{
./install.sh}}}
Edit the /etc/rc.d/rc.local file and append the following lines to the end:

{{{
/etc/opt/elo/loadelo
/etc/opt/elo/eloser ttyS0
}}}
Reboot the system to complete installation:

{{{
shutdown -r now
}}}
After rebooting, calibrate the touch screen using the following commands:

{{{
cd /etc/opt/elo
./elova -nvram}}}
use ./elova /? to view other calibration options.
Line 18: Line 68:
{{{
SELINUX=disabled}}}
N.B. The changes will not take effect until the machine reboots.

=== Samba and PAM ===
New ccpass scripts for updating user passwords work around the problems of password synchronisation. As such, the SambaPasswordSync hack is considered depreciated.

To try and ensure locking works reliably between Windows and Linux, edit {{{/etc/samba/smb.conf}}} and add the following lines after the "global" section header:

{{{
#get record locking working between Windows and Linux
        strict locking = yes
        oplocks = False}}}
=== Serial Ports ===
In {{{/etc/rc.d/rc.local}}},

{{{
chmod 666 /dev/ttyS0
chmod 666 /dev/ttyS1}}}
== yum ==
In {{{/etc/yum.repos.d/fedora-repo}}}, {{{/etc/yum.repos.d/fedora-extras.repo}}} and {{{/etc/yum.repos.d/fedora-updates.repo}}}, set the {{{enable}}} flag to {{{1}}}

{{{
enable=1}}}
Do '''NOT''' do this for any of the development files. Doing so can cause libraries to be updated and, as a result, CONTROL may not run.

Update the packages with

{{{
yum update}}}
Note: be careful of glibc updates for older releases of CONTROL

If yum insists on gpg keys then, in {{{/etc/yum.conf}}} and {{{/etc/yum.repos.d/*}}},

{{{
gpgcheck=0}}}
=== VPN ===
Copy {{{vpn.tgz}}} from /u and extract it using the following commands:

{{{
# scp <user>@sam:/u/vpn.tgz /etc/ppp/
# cd /etc/ppp
# tar -xvzf vpn.tgz}}}
Then as root accept the fingerprint:

{{{
# ssh 220.233.135.250
The authenticity of host '220.233.135.250 (220.233.135.250)' can't be established.
RSA key fingerprint is f6:f0:5c:21:74:0e:03:db:fc:71:e6:21:63:b5:c0:43.
Are you sure you want to continue connecting (yes/no)?}}}
Type yes and cancel the connection.

Add the hostname ({{{uname -n}}}) into {{{ /etc/hosts }}} on muppets. Assign the machine the next IP in the sequence.

Also update the ["DNS"].

To test the VPN connection, use the following:

{{{
# pppd call crecom nodetach debug}}}
Once the VPN can connect correctly, add to the following to {{{/etc/inittab}}}:

{{{
vpn:2345:respawn:/etc/ppp/connect-crecom >> /var/log/connect-crecom.error}}}
=== Additional Packages Needed by Control ===
The following packages need to be installed to enable some features:

 * mkisofs - building backup CD images
 * sharutils - E-Mailing PDF's
 * dvd+rw-tools - Burning DVD's
 * postgresql-odbc - New Rel9 and 10 installations require DB support.
 * cdrecord - Burning CD/DVD backups
 * rxvt - For running scripts in X11 mode
== Configuring the OS for CONTROL ==
=== Creating the control group ===
Create the following group

{{{
# groupadd -g 3232 control}}}
=== Create and configure the ccc user ===
Create user ccc

{{{
# adduser -g control ccc
# passwd ccc}}}
Edit the {{{~ccc/.bash_profile}}} to the following:

{{{
CUST=`uname -n`
export CUST
export PS1='${PWD}!>'
. /u/cc/usr/common.sh
ccusers}}}
Setup the VNC password

{{{
# mkdir ~ccc/.vnc
# vncpasswd ~ccc/.vnc/passwd}}}
Create the {{{~ccc/.vnc/xstartup}}} file used by Xvnc. It should read:

{{{
#!/bin/sh
export NODEID="vnc$DISPLAY"
sleep 5
exec fvwm}}}
Make {{{~ccc/.vnc/xstartup}}} executable.

{{{
chmod +x ~ccc/.vnc/xstartup}}}
Transfer ownership of folders to ccc

{{{
# chown -R ccc:control ~ccc/.vnc}}}
=== Setup user defaults ===
Edit {{{/etc/default/useradd}}} such that the following variables are set and that rest can remain the same.

{{{
GROUP=3232
HOME=/u/cc/usr}}}
Replace the contents of {{{/etc/skel/.bash_profile}}} with the following

{{{
logname=`logname`
. /u/cc/usr/common.sh
if [ "$logname" != "" ]; then
  if [ "$DISPLAY" = "" ]; then
    exec start
  fi
fi}}}
Copy the {{{~ccc/.vnc/}}} folder to {{{/etc/skel/}}}

{{{
# cp -r ~ccc/.vnc /etc/skel/
# chown root:root /etc/skel/.vnc}}}
=== Copy CONTROL ===
Package control programs on sam (Server side)

{{{
export CONTROL_FILES="
std/binl
std/utbinl
std/binx11
std/utbinx11
adm
blank
standard
standard.adm
pixmap
lib
binl
binx11
DEMO
usr/common.linux
"
cd /u/ccdev/
tar cvzf control.tgz --exclude=.sccs $CONTROL_FILES}}}
send control.tgz to client machine

Setup /u/cc/ directory (Client Side)

{{{
touch /dev/lp8
chmod 666 /dev/lp8
umask 0
mkdir /u/cc/
chmod 777 /u/cc/
ln -s /u/cc /cc
mkdir /u/cc/usr
chmod 777 /u/cc/usr
ln -s ~ccc /u/cc/usr/ccc
mkdir /u/cc/LOG
chmod 777 /u/cc/LOG
chown ccc:control /u/cc/LOG /u/cc/usr
chown ccc:control /u/cc/usr/ccc /u/cc/usr/ccc/.*
cd /u/cc
tar xvzf PATH_TO_CONTROL_TAR_FILE/control.tgz (do this step if you have already copied control.tgz to client machine)
chown ccc:control std/* std/*/*
chown ccc:control binl/*
chown ccc:control binx11/*
binl/link_cntrl
chown ccc:control standard/*
chmod 666 standard/*
cp /u/cc/standard.adm/* /u/cc/adm
mv /u/cc/usr/common.linux /u/cc/usr/common.sh}}}
=== Libraries ===
For Fedora versions prior to Fedora Core 5, update /etc/ld.so.conf to included the following line

{{{
/u/cc/lib}}}
For Fedora Core 5 and later, execute:

{{{
cd /usr/lib
ln -s /u/cc/lib/libcqt3.* .}}}
You will also need to edit /u/cc/usr/common.sh

{{{
LD_LIBRARY_PATH=/lib:/usr/lib:$CCDIR/lib
}}}
Then for all versions to rebuild the library cache execute:

{{{
ldconfig}}}
== X related configuration ==
=== Install necessary fonts ===
As a minimum, the system should have the 75-dpi, 100-dpi and truetype fonts appropriate for the installed X Font Server

To search for the fonts:

{{{
yum search fonts}}}
The packages are usually of the form ''fonts-xorg-75dpi''

Once you have found the correct fonts packages

{{{
yum install <font package>}}}
=== Make console (DISPLAY=0) a VNC server ===
Edit /etc/X11/xorg.conf

{{{
Section "Module"
        Load "vnc" # Add this line
End Section
Section "Screen"
        Option "PasswordFile" "/u/cc/usr/ccc/.vnc/passwd" # Add this line
End Section}}}
=== Installing FVWM ===
We use FVWM as a slimline window manager where users don't need or expect a full remote desktop. You'll need to locate files fvwm-2.4.19-1.i386.rpm and libstroke-0.5.1-4.fc4.i386.rpm which are available on sam.

{{{
# yum install compat-readline43 gtk+ imlib
# rpm -Uvh fvwm-2.4.19-1.i386.rpm fvwm-themes-0.6.2-1.noarch.rpm libstroke-0.5.1-4.fc4.i386.rpm}}}
Need to update Xclients such that FVWM is started when local user logs in.

{{{
# cd /etc/X11/xinit
# mv Xclients Xclients.bak
# vi Xclients}}}
Update Xclients to initialise the control environment and execute FVWM as below:

{{{
#!/bin/bash
rm -f $HOME/Xrootenv.0
rm -f /tmp/fvwmrc* 2>/dev/null
. /u/cc/usr/common.sh
exec /usr/bin/fvwm}}}
Finally give Xclients execute permissions

{{{
chmod +x Xclients}}}
Configuring FVWM

{{{
mkdir /etc/X11/fvwm2}}}
Copy from {{{system.fvwm2rc}}} from /u (sam) or from a recent client's system and place it in the newly created directory. Also place a symbolic link to {{{system.fvwm2rc}}} in /etc/

{{{
ln -s /etc/X11/fvwm2/system.fvwm2rc /etc/}}}
== Post Control Installation Options ==
=== Backups ===
 * '''cocont''' option {{{Days before display system warning mesg}}} should be set to 30. This allows the client to have at least one system backup to restore various configuration system configuration files in the event of a failure.''' '''
 * Enter the Linux device into cocont's {{{Backup device}}} field.
=== Scheduled processes ===
Enter the company code in the script /cc/binl/clrdayqty . '''crontab'''setup auto_postal, eom_job, initda/backups and other scripts that need to run automatically.

For ccc:

{{{
* * * * * /u/cc/binl/auto_postal 2>&1 > /u/cc/LOG/auto_postal.out
1 0 1 * * /u/cc/binl/auto_eom >/u/cc/LOG/auto_eom 2>&1
59 23 * * * /u/cc/binl/auto_signoff > /u/cc/LOG/auto_signoff 2>&1
10 0 * * * /u/cc/binl/post_sum > /u/cc/LOG/post_sum 2>&1
0 22 * * * /cc/binl/clrdayqty > /cc/LOG/clrdayqty.out 2>&1
}}}
For root:

{{{
30 2 * * * /u/cc/binl/netchecktime > /u/cc/LOG/netchecktime.out 2>&1
0 3 * * * /u/cc/binl/bacint -s > /u/cc/LOG/bacint.out 2>&1}}}
=== Background tasks ===
You will need to edit {{{/etc/inittab}}}:

{{{
id:5:initdefault: # Need to change run level from 3 to 5
v5:345:respawn:su - ccc -c /usr/local/bin/inittab_vnc 2>&1 >> /var/log/vnc.ccc}}}
=== Customer Company ===
 * '''coaad''' Setup the company record(s) for the customer.
 * Ensure that the /u/cc/<CUSTOMER> directory exists and is a copy of standard. Also make sure that the correct amount of users and locations have been set.
 * Enter the customer's company name into '''cocont''''s {{{Company codes to be backed up}}} field.
=== Data Imports ===
 * Run any data imports necessary.

How to configure a Touchscreen under X for Linux.

Installing the OS

Please follow the ["Installing Fedora5"] instructions for Fedora installations.

Additional configuration

This document was written with a unit from Senor Tech. The machine must be setup using a mouse (for graphical mode) because initially the touch screen will not work. The touch screen is internally connected to serial port ttyS0. ttyS1 is hooked up to the internal Customer display. ttyS2 and ttyS3 are cabled out through the back and are available for other serial devices.

Before installing over the default windows XP, I checked the touch screen drivers and they were provided by a company called "ELO Touch systems". Precompiled drivers are available for a lot of Linux distributions/kernels. It would have been simple to just use the provided pre-compiled driver for Fedora Core 6's default kernel, but this kernel lacks support for the internal 10/100/1000 ethernet port. A later version of the kernel (using yum) would now support the ethernet port, but the driver would have to be compiled.

The Unified Serial Driver can be found here or just download the latest from their website on this link:["http://www.elotouch.com/Support/Downloads/dnld.asp#linux"] Copy the driver files to /etc/opt/elo directory

mv <Extracted Path>/elo /etc/opt/elo

Compile and build the kernel module "elok_s.ko" <using the compile instructions in Readme_compile.txt> (fix this later). Check if kernel module compiles without any errors and then copy it to /etc/opt/elo directory.

cd /etc/opt/elo/elok_s-source
<COMPILE COMPILE COMPILE> (fix this later)
cp elok_s.ko /etc/opt/elo

Use chmod to grant full permissions to all the files

cd /etc/opt/elo
chmod 777 *

Copy and place the X display Elo component file in the proper location

cp /etc/opt/elo/elo_drv.o /usr/lib/xorg/modules/input

Modify the /etc/X11/xorg.conf file:

  1. Add the Following lines to the end of the file to create a new Elo device configuration.
    Section "InputDevice"
        Identifier "elo"
        Driver "elo"
        Option "Device" "/dev/input/elo_ser"
        Option "AlwaysCore"
    EndSection
  2. Add the following line to the ServerLayout section to include the elo input device.

         InputDevice "elo" "SendCoreEvents"

Install the elocontrol(elok_S) module by running:

./install.sh

Edit the /etc/rc.d/rc.local file and append the following lines to the end:

/etc/opt/elo/loadelo
/etc/opt/elo/eloser ttyS0

Reboot the system to complete installation:

shutdown -r now

After rebooting, calibrate the touch screen using the following commands:

cd /etc/opt/elo
./elova -nvram

use ./elova /? to view other calibration options.

THIS PAGE STILL UNDER CONSTRUCTION


Installing_Touchscreen_on_Linux (last edited 2013-09-18 06:09:34 by localhost)