Anleitung zur Installation des IO-Warrior Treibers fr Linux 2.4.x


1. Vorbereitungen

1.1 Das Modul 'hid.o' patchen
Um zu verhindern, das der HID-Input Treiber sich um den IO-Warrior kmmert,
ist ein Eintrag in der Sperrliste der Datei 'hid-core.c' notwendig. Diese
Datei ist Bestandteil des Moduls 'hid.o'. Je nach Geschmack und / oder
Notwendigkeiten kann mit der mitgelieferten Sourcedatei das Modul selber gebaut
werden oder das fertige Modul in den entsprechenden Ordner des Rechners kopiert
werden. Der Pfad fr diesen Ordner lautet normalerweise
	'/lib/modules/<version>/kernel/drivers/usb/'
Es empfiehlt sich in jedem Fall die Originaldatei an einem anderen Ort zu sichern.
Wenn die Datei nur umbenannt wird, kann es dazu kommen, dass beide Module geladen
werden.

1.2 Erzeugen der Gerteknoten
Die Zugriffe auf den IO-Warrior erfolgen ber Eintrge im '/dev'-Verzeichnis.
Diese mssen im Normalfall jedoch erst noch erstellt werden. Zu diesem Zweck
ist das Shellscript 'iowarrior_load' vorgesehen. Der Aufruf mu mit root-Rechten
erfolgen. Mit seiner Hilfe werden die Gerteknoten "/dev/usb/iowarrior<X>" erzeugt,
wobei <X> den Zahlen von 0 bis 15 entspricht. Es knnen damit bis zu acht IO-Warrior
gleichzeitig angeschlossen werden (siehe auch Abschnitt 3.).


2. Installieren des IO-Warrior Treibers

Wenn der Treiber nur zu Testzwecken geladen werden soll, so gengt die Ausfhrung
von 'insmod iowarrior.o'. Um den Treiber wieder zu entladen entsprechend
'rmmod iowarrior'.
Soll der Treiber jedoch bei jedem Systemstart geladen werden, so ist die Datei
'iowarrior.o' in den gleichen Ordner wie das Modul 'hid.o' zu kopieren (siehe 1.1)
und ein Eintrag in die Datei '/etc/init.d/boot.local' vorzunehmen. Dieser Eintrag
lautet dann z.B. "modprobe iowarrior", wenn zuvor durch den Anwender mit dem Kommando
'depmod' die Dateien 'modules.*' im Verzeichnis '/lib'modules/<Version>/' aktualisiert
wurden. Der Treiber ist auch im Source mit Headerdatei beigefgt (iowarrior.c, .h).


3. Zugriffe auf den IO-Warrior

Fr jedes Interface des IO-Warrior wird ein Gerteknoten belegt, d.h. die aktuellen
IO-Warrior belegen zwei Gerteknoten. Den ersten fr den Zugriff auf die einfache
I/O-Funktion und den zweiten fr die Special Mode Functions.
Der Treiber besitzt einen internen Puffer von z. Zt. 16 Paketen pro Interface. Wenn
es zu einem Pufferberlauf kommt, so wird das lteste Paket verworfen. Um feststellen
zu knnen, ob ein Pufferberlauf stattgefunden hat, wird jedem Paket eine Seriennummer
mitgegeben (nicht zu verwechseln mit der Seriennummer des IO-Warriors). Dabei handelt
es sich um einen vorzeichenlosen 8-Bit Wert, der fr jedes Paket um eins erhht wird
( ... 254, 255, 0, 1, usw.). Diese Seriennummer steht jedoch nur bei der Dateioperation
"read" zur Verfgung und nicht bei Lesezugriffen mittels "ioctl". Um die Seriennummer
zu erhalten, mu der Lesepuffer der "read"-Funktion um ein Byte erweitert werden.
In diesem befindet sich dann nach erfolgreicher Ausfhrung die Seriennummer des Paketes .

Weitere Einzelheiten zur Ansteuerung eines IO-Warrior knnen den Beispielprogrammen
entnommen werden.
