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

236 lines
5.7 KiB
Plaintext
Executable File

EUTRON
Internet : http://www.smartkey.eutron.it
Helpdesk email : helpdesk@eutron.it
Commercial email : info@eutron.it
Commercial phone : 035697080
Fax : 035697092
SmartKey Parallel and USB driver for Linux
------------------------------------------
Questo driver funziona per kernel dal 2.4.21-144 (Suse 9) compilato con gcc-3.2.3
Il pacchetto fornisce un'interfaccia tra i programmi scritti in
linguaggio C e il driver della chiave SMARTKEY. L'interfaccia e`
completamete compatibile con quella disponibile in ambiente MS-DOS.
Questo permette un facile trasporto in ambiente Unix dei programmi
sviluppati per il sistema operativo MS-DOS.
CONTENUTO
---------
Il pacchetto e` costituito dai seguenti file:
clink.o
Costituisce l'interfaccia tra le applicazioni in linguaggio C e
il driver della chiave SMARTKEY.
clink.h
Definisce la struttura dell'interfaccia di clink.o. Deve essere
incluso nei file C che utilizzano la chiave SMARTKEY.
smartdem.c
Esempio di utilizzo della chiave SMARTKEY scritto in linguaggio C.
smartdem
Forma eseguibile del programma esempio.
skey*.o
Driver della chiave
skinstall
Script per l'installazione automatica
skuninstall
Script per la disinstallazione automatica
skeyver
Utility per impostare la versione del kernel nel modulo skey.o
SUPPORTO USB
------------
Il driver SmartKey, come ogni altro driver USB, richiede che i moduli
USB del kernel siano caricati ed attivi. Generalmente questo si puo'
ottenere con i comandi :
insmod usbcore
insmod usb-uhci
per PC con con USB controller UHCI di Intel, VIA, ...
insmod usbcore
insmod usb-ohci
per PC con un USB controller OHCI di Compaq, iMacs, OPTi, SiS, ALi...
AGGIORNAMENTO
-------------
Per aggiornare i precedenti driver SmartKey e' necessario rilinkare la
propria applicazione con il nuovo oggetto clink.o.
Se questo non viene effettuato, l'applicazione sara' in grado di funzionare
solo con la prima chiave USB inserita e solo con le chiavi parallele
agli indirizzi 0x3BC e 0x378. Si perderebbe l'uso della porta parallela
all'indirizzo 0x278 sostituito con la prima chiave USB.
INSTALLAZIONE AUTOMATICA
------------------------
Avviare lo script skinstall con i permessi di root con i comandi:
chmod a+x skinstall
./skinstall
L'installazione prevede la configurazione del sistema per il caricamento
automatico del modulo SmartKey al primo utilizzo.
Per disinstallare il driver utilizzare invece i comandi:
chmod a+x skuninstall
./skuninstall
Ad ogni cambiamento di versione del kernel e' necessaria una reinstallazione.
Per avviare il l'applicazione di demo utilizzare i comandi :
chmod a+x smartdem
./smartdem
INSTALLAZIONE MANUALE
---------------------
Per installare il driver si segua la procedura seguente:
1) Entrare nel sistema come super-user.
2) Posizionarsi nel direttorio /dev con il comando:
cd /dev
creare i file di accesso alla chiave mediante i comandi:
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
e cambiare le proprieta` e il gruppo dei file mediante i comandi:
chmod 666 skey?
chgrp daemon skey?
3) Identificare il driver per la propria configurazione. Ci sono varie
possibilita':
skey_R.o Kernel monoprocessore con le informazioni
di versione
skey_Rsmp_.o Kernel multiprocessore con le informazioni
di versione
skey_Rsmp.o Kernel multiprocessore con le informazioni
di versione specifico per RedHat
skey.o Kernel monoprocessore senza le informazioni
di versione
Un semplice test e' il comando :
grep printk /proc/ksyms
e dato l'output :
... printk_R1b7d4074 driver skey_R.o
... printk_Rsmp_1b7d4074 driver skey_Rsmp_.o
... printk_Rsmp1b7d4074 driver skey_Rsmp.o
altro driver skey.o
Rinominare quindi il driver identificato con il nome skey.o
4) Configurare il modulo skey.o con la versione di kernel corrente:
chmod a+x skeyver
./skeyver skey.o
5) Il driver skey.o e` sotto forma di modulo caricabile dinamicamente.
Quindi, prima di essere utilizzato, deve essere caricato con il comando:
insmod skey
6) Per configurare il driver per il caricamento automatico al primo
utilizzo effettuare le seguenti operazioni:
6.1) Aggiungere la riga:
alias char-major-59 skey
in fondo al file /etc/conf.modules
6.2) Copiare il file skey.o nella directory /lib/modules/KERNELVERSION/misc,
dove KERNELVERSION e' la versione del kernel.
La versione del kernel viene mostrata con il comando :
uname -r
6.3) Aggiornare le dipendenze dei moduli con il comando:
depmod -a
6.4) Scaricare dalla memoria una eventuale copia del driver con il comando:
rmmod skey
e verificare il caricamento automatico del modulo con il comando:
modprobe skey
L'assenza di messaggi di errore indica che il caricamento
e' avvenuto.
UTILIZZO
--------
Per utilizzare l'interfaccia clink.o e` necessario copiare il file nel
direttorio di lavoro e collegarlo agli altri file oggetto costituenti il
programma da proteggere. Nei file del programma applicativo che
utilizzano il modulo clink.o e` necessario includere il file clink.h.
CONFIGURAZIONE
--------------
Se si sta utilizzando una porta Parallela PCI che usa un indirizzo di IO
non standard, e' necessario specificare l'indirizzo effettivo di IO
della porta con l'argomento "port" del modulo.
L'argomento accetta fino a tre valori separati da virgole. I valori di
default sono 0x378, 0x278, 0x3bc.
Per esempio :
insmod skey port=0x800
o
insmod skey port=0x800,0x810,0x820
Su sistemi con bus usb OHCI (Open Host Controller Interface),
generalmenti presenti su tutte le schede aggiuntive PCI USB, e'
necessario aggiungere l'argomento "fastusb=0"
Per esempio :
insmod skey fastusb=0