2d41198b3e
Files correlati : Ricompilazione Demo : [ ] Commento : Progetti e altra roba per Linux git-svn-id: svn://10.65.10.50/trunk@11293 c028cbd2-c16b-5b4b-a496-9718f37d4682
199 lines
5.9 KiB
Plaintext
Executable File
199 lines
5.9 KiB
Plaintext
Executable File
|
|
Installation instructions for Aladdin key driver and daemon
|
|
==============================================================
|
|
|
|
In order for the hardware key access to work, a kernel mode driver
|
|
(aksparlnx.o) and a daemon (aksusbd) have to be loaded.
|
|
|
|
All described actions should be executed as root.
|
|
|
|
|
|
Driver Installation (aksparlnx.o)
|
|
---------------------------------
|
|
|
|
Generating the Device Node
|
|
|
|
For the driver to be accessible, a /dev/Hardlock device node has to be
|
|
generated. It should use the same major number as is used when loading
|
|
the driver (major=xxx command line to insmod, or 42 default).
|
|
|
|
The device node is generated with the following command:
|
|
|
|
mknod /dev/Hardlock c 42 0
|
|
|
|
Allow everyone to access the node:
|
|
|
|
chmod 666 /dev/Hardlock
|
|
|
|
Alternatively, if the access to Aladdin keys should be restricted to a
|
|
special group of users (e.g. group aladdin):
|
|
|
|
chgrp aladdin /dev/Hardlock
|
|
chmod 660 /dev/Hardlock
|
|
|
|
|
|
Initializing the Parport System
|
|
|
|
The aksparlnx driver uses the Linux parport driver in order to get
|
|
access to the parallel port in a manner which does not disturb other
|
|
users of the parallel port (e.g. printer, zip drive).
|
|
|
|
So before loading the aksparlnx driver the parport system must be
|
|
initialized:
|
|
|
|
modprobe parport_pc
|
|
|
|
The parport driver will report in the system log the parallel ports it
|
|
has found in the system. aksparlnx will by default be able to access
|
|
keys on any of these ports.
|
|
|
|
|
|
Loading the Driver
|
|
|
|
Then the aksparlnx driver should be loaded with the command:
|
|
|
|
insmod <path_to_driver>/aksparlnx.o
|
|
|
|
If the driver successfully loaded, a system log message is generated:
|
|
|
|
Feb 2 12:16:01 panther kernel: aksparlnx: EYE/HASP driver v1.01/API v3.77/major 42 loaded (ppi)
|
|
|
|
If the driver fails to load, an error message is generated in the
|
|
system log.
|
|
|
|
The loading of the driver (modprobe and insmod) should be incorporated
|
|
into a startup script, so that on subsequent system boots the driver
|
|
is readily available.
|
|
|
|
|
|
Aladdin daemon (aksusbd)
|
|
------------------------
|
|
|
|
In order for the daemon to access USB keys, the so-called usbdevfs
|
|
must be mounted on /proc/bus/usb.
|
|
On newer distributions it is mounted automatically (e.g SuSe 7.0). It
|
|
can be manually mounted with the command
|
|
|
|
mount -t usbdevfs none /proc/bus/usb
|
|
|
|
In order for the daemon to access parallel port keys, the kernel
|
|
driver aksparlnx must be installed before starting aksusbd.
|
|
|
|
Load the daemon by starting it:
|
|
|
|
<path>/aksusbd
|
|
|
|
The daemon will fork and put itself into the background. Successful
|
|
installation can be verified in the syslog:
|
|
|
|
Feb 2 12:42:43 panther aksusbd:[21772]: loaded, daemon version: 1.00, key API (USB) version: 3.77, key API (parallel) version: 3.77
|
|
|
|
It reports its version, the version of the API used for USB, and the
|
|
version of the API inside the kernel driver (for parallel port keys).
|
|
|
|
If the kernel driver happens to be unavailable when aksusbd is
|
|
launched, parallel port keys cannot be accessed, but USB keys are
|
|
still accessible. The system log reflects this status:
|
|
|
|
Feb 2 12:46:11 panther aksusbd:[21789]: loaded, daemon version: 1.00, key API (USB) version: 3.77 (parallel driver not available)
|
|
|
|
If /proc/bus/usb is not mounted when launching aksusbd, the daemon
|
|
does not load:
|
|
|
|
Feb 2 12:52:05 panther aksusbd:[21804]: cannot open /proc/bus/usb/devices: No such file or directory
|
|
|
|
Preferably the daemon should be started at system boot up time with
|
|
some script located in /etc/rc.d/init.d or /etc/init.d (depending on
|
|
Linux distribution).
|
|
|
|
|
|
Options for aksparlnx.o
|
|
-----------------------
|
|
|
|
Types of diagnostic messages:
|
|
-----------------------------
|
|
You can use the switch loglevel to select which types of diagnostic
|
|
will be issued by the driver. Possible values are:
|
|
|
|
0 - nothing, only errors
|
|
1 - normal (default)
|
|
2 - verbose
|
|
3 - ultra verbose
|
|
|
|
The messages are logged in syslog with priority kern.info
|
|
(and kern.debug). Refer to /etc/syslog.conf to see where the messages
|
|
will be put, usally it is the file /var/log/messages.
|
|
|
|
e.g.
|
|
insmod aksparlnx.o loglevel=2
|
|
|
|
|
|
Change device major number:
|
|
---------------------------
|
|
The driver uses device major number 42 by default. You can
|
|
change this by giving an argument to the insmod command:
|
|
|
|
insmod aksparlnx.o major=123
|
|
|
|
You have to change the driver special file also:
|
|
|
|
mknod /dev/Hardlock c 123 0
|
|
|
|
|
|
Port addresses:
|
|
---------------
|
|
If you have a parallel port in the system which by chance isn't
|
|
detected by the Linux parport driver (and therefore not seen by
|
|
aksparlnx.o), you can tell aksparlnx.o of the existence of this
|
|
port:
|
|
|
|
insmod aksparlnx.o hlportaddress=0x278
|
|
|
|
BEWARE: You should know what you do! Giving an illegal port
|
|
address here may reliably crash the system!
|
|
|
|
|
|
Timeout:
|
|
--------
|
|
You can specify the maximum amount of time the driver waits when
|
|
requesting exclusive port access from the parport driver. The value
|
|
used is 1/100 of a second. The default value is 100 (= 1 second).
|
|
|
|
insmod aksparlnx.o timeout=200
|
|
|
|
After this time (in this example 2 seconds) the request will be
|
|
aborted with a PORT_BUSY error.
|
|
|
|
|
|
|
|
Options for aksusbd
|
|
-------------------
|
|
|
|
Types of diagnostic messages:
|
|
-----------------------------
|
|
You can use the switch loglevel to select which types of diagnostic
|
|
will be issued by the daemon. Possible values are:
|
|
|
|
0 - nothing, only errors
|
|
1 - normal (default)
|
|
2 - verbose
|
|
3 - ultra verbose
|
|
|
|
The messages are logged in syslog with priority kern.info
|
|
(and kern.debug). Refer to /etc/syslog.conf to see where the messages
|
|
will be put, usally it is the file /var/log/messages.
|
|
|
|
e.g.
|
|
aksusbd -l 2
|
|
|
|
|
|
Permissions:
|
|
------------
|
|
The Unix domain socket /tmp/.aksusb is used by the applications to
|
|
access aksusbd. This is created with permissions 666 by
|
|
default. You can tell aksusbd to use different permissions:
|
|
|
|
aksusbd -u 660
|
|
|
|
|