alex 0bee10929f Progetti Linux
git-svn-id: svn://10.65.10.50/trunk@11940 c028cbd2-c16b-5b4b-a496-9718f37d4682
2004-04-06 21:28:46 +00:00

237 lines
5.6 KiB
Plaintext
Executable File

EUTRON
Internet : http://www.smartkey.eutron.com
Helpdesk email : helpdesk@eutron.com
Commercial email : info@eutron.com
Commercial phone : +39-035697080
Fax : +39-035697092
SmartKey Parallel and USB driver for Linux
------------------------------------------
This driver works for kernel from 2.4.21-144 (Suse 9) compiled with gcc-3.2.3
The application provides an interface between the C language and the
driver of the SMARTKEY key. The application is totally compatible with
the one available under MS-DOS. This makes it easy to port programs
written for the MS-DOS operating system to the Unix environment.
CONTENTS
--------
The package contains the following files:
clink.o
This is the interface between C programs and the SMARTKEY
driver.
clink.h
This outlines the structure of the clink.o interface. It has to be used
in the C files that use the SMARTKEY key.
smartdem.c
An example, written in C, of how to use the SMARTKEY key.
smartdem
Executable of the sample program.
skey*.o
Drivers of the key
skinstall
Script for automatic installation
skuninstall
Script for automatic uninstalling
skeyver
Utility for setting the version of the kernel in the skey.o
module
USB SUPPORT
-----------
The Smarkey driver, like any other USB driver, requires that the USB
modules of the kernel are active and running. Generally you can obtain
this running these commands :
insmod usbcore
insmod usb-uhci
for PCs with an USB controller UHCI by Intel, VIA, ...
insmod usbcore
insmod usb-ohci
for PCs with an USB controller OHCI by Compaq, iMacs, OPTi, SiS, ALi...
UPGRADING
---------
To upgrade from the previous version of the SmartKey driver you need to
relink your application with the new clink.o object.
If you don't relink, your application will work only with the first USB
key inserted and with the parallel port addresses 0x3BC and 0x378. You
will lose the access at the parallel port at address 0x278 substituted
with the first USB key.
AUTOMATIC INSTALLATION PROCEDURE
--------------------------------
Start the skinstall script with root rights using the commands:
chmod a+x skinstall
./skinstall
The installation will configure the system for the automatic loading of
the SmartKey module the first time it is run.
To uninstall the driver use the commands:
chmod a+x skuninstall
./skuninstall
Every time the version of the kernel changes, you will have to perform
the installation again.
To start the demo application use the commands:
chmod a+x smartdem
./smartdem
MANUAL INSTALLATION PROCEDURE
-----------------------------
To install the driver follow this procedure:
1) Access the system as a super-user.
2) Go to the /dev directory using the command:
cd /dev
create the file for accessing the key using the commands:
mknod skey0 c 59 0
mknod skey1 c 59 1
mknod skey2 c 59 2
mknod skey3 c 59 3
mknod skey4 c 59 4
mknod skey5 c 59 5
and change the properties and the group of files using the commands:
chmod 666 skey?
chgrp daemon skey?
3) Identify the correct driver for your particular configuration. There are
three alternatives:
skey_R.o Kernel mono-processor with version information
skey_Rsmp_.o Kernel multi-processor with version information
skey_Rsmp.o Kernel multi-processor with version information for
RedHad
skey.o Kernel mono-processor without version information
A simple test can be carried out using the command:
grep printk /proc/ksyms
on receiving the output :
... printk_R1b7d4074 driver skey_R.o
... printk_Rsmp_1b7d4074 driver skey_Rsmp_.o
... printk_Rsmp1b7d4074 driver skey_Rsmp.o
other driver skey.o
Re-name the driver identified with the name skey.o
4) Configure the skey.o module with the current version of the kernel:
chmod a+x skeyver
./skeyver skey.o
5) The driver skey.o is in the form of a dynamically loadable module.
Therefore before it can be used, it has to be loaded with the command:
insmod skey
6) To configure the driver for automatic loading the first time it is run,
do the following:
6.1) Add the line:
alias char-major-59 skey
at the end of the file /etc/conf.modules
6.2) Copy the file skey.o to the directory /lib/modules/KERNELVERSION/misc,
where KERNELVERSION is the version of the kernel.
The version of the kernel can be viewed using the command:
uname -r
6.3) Update the dependencies of the modules using the command:
depmod -a
6.4) Remove any copies of the driver that might be in memory by using the
command:
rmmod skey
and check automatic loading of the module using the command:
modprobe skey
If there are no error messages it means that loading was successful.
USE
---
In order to use the clink.o interface you have to copy the file to the
working directory and link it to the other object files which make up the
program to protect. You will have to include the file clink.h in the program
files that use the clink.o module. If the C compiler you are using isn't
ANSI-C, you will have to use the compile option -DNO_ANSI_C.
CONFIGURATION
-------------
If you are using a PCI Parallel port which doesn't use a standard IO
address you need to specify the effective address of the IO port with
the "port" module argument.
The argument accept up to 3 values separated by commas. The default values
are 0x378, 0x278, 0x3bc.
For example :
insmod skey port=0x800
or
insmod skey port=0x800,0x810,0x820
If you are using an OHCI (Open Host Controller Interface) USB bus,
generally present in all the additional PCI USB port, you need to
specify the module argument "fastusb=0".
For example :
insmod skey fastusb=0