
         TESTDRVR - Eine Utility zum Testen von FTP-Packet Treibern

     1. Vorwort
     Leider halten nicht alle mit den Netzwerkkarten gelieferten
     Treiber, was das Handbuch verspricht. Dies mag zum Teil an
     Mehrdeutigkeiten in den Spezifikationen liegen. Teilweise liegt es
     aber mit Sicherheit an falsch verstandenem Schutz vor
     "Datenspionen" im Netz. Und einiges knnen wir auch auf das Konto
     "Schlampereien" buchen.

     Man kann nun den Treiber mit der Anwendungssoftware testen. Das
     ist oft unbequem und die Fehlermeldungen sind sparsam oder
     nichtssagend - wenn berhaupt welche kommen. TESTDRVR soll hier
     fr etwas Bequemlichkeit sorgen.

     Wenn der mit der Karte gelieferte Treiber nicht richtig will, kann
     man bei den Standardkarten immer die Treiber aus dem FTP-Paket
     nehmen. Fr NE2000 und WD (SMC) kompatible Karten sind Treiber in
     diesem Paket enthalten.

     FTP-Packet Treiber sind m.W. die einzigen Treiber, die
     verschiedene Netzwerkprotokolle auf einer Karte gleichzeitig
     gestatten. Hinzu kommt, da die Schnittstelle hervorragend
     dokumentiert ist und die gesamte Software dafr im Quelltext frei
     verfgbar ist.

     In dieser Anleitung werde ich nicht viel ber Netzwerkgrundlagen
     schreiben. Das soll in einer getrennten Dokumentation geschehen.


     2. Voraussetzungen

     2.1. Hardware
     Netzwerkkarten bekommt man heute "NE2000" kompatibel fr weniger
     als DM 50.-. blich ist sind "Cheapernet" = BNC Anschlu (10Base2)
     und/oder UTP (RJ45) Anschlu. Der BNC Anschlu hat den Vorteil,
     da man ohne weitere Hardware einige Rechner koppeln kann. Wer
     einen Rechner "solo" testen will, beachte bitte, da der
     Netzwerkanschlu an beiden Seiten mit jeweils 50Ohm abgeschlossen
     sein mu. Sonst verweigern die meisten Karten die Sendung. Also
     ein T-Stck mit zwei 50Ohm Abschlussen aufstecken.

     Moderne Karten werden nicht mehr ber Jumper konfiguriert sondern
     per Software. Das kann Probleme machen, wenn die vom
     Kartenhersteller gewhlten Defaults im Rechner bereits belegt
     sind. Dann mu man u.U. erst andere Karten ausbauen um die
     Netzwerkkarte umkonfigurieren zu knnen. Eine NE2000 kompatible
     Karte braucht einen freien Interrupt und eine freie IO-Adresse.


     2.2. Software
     Wer schon einen Netzwerkanschlu an seinem Rechner hat, bedenke
     bitte, da eine Netzwerkkarte nicht zwei Herren gleichzeitig
     dienen kann. Man mu also die vorhandene Netzwerksoftware (Novell,
     WfW usw.) totlegen, um mit FTP-Packet Treibern experimentieren zu
     knnen. Anschlieend kann man dann versuchen, die "alte" Software
     auf der Basis des Packet Treibers zu installieren. Nur in dieser
     Richtung geht es, nicht anders herum. Und ein Packet Treiber
     braucht nie mehr als einen Aufruf zum Installieren (Beispiel
     "EP3000PD 0x60"). PROTMAN.SYS und hnliche Programme sind hier
     definitiv falsch.

     Bei der Installation mu i.A. ein Software Interrupt fr den
     Treiber angegeben werden. Dieser Interrupt kann per Definition im
     Bereich 0x60 bis 0x80 liegen. Es spricht nichts dagegen, 0x60 zu
     verwenden.



     3. Testablauf
     Als erstes wird die Signatur des Treibers gesucht und so der
     verwendete Software Interrupt gefunden. Natrlich knnte man auch
     den Software Interrupt im Aufruf angeben. Da aber fast alle
     Programme den Treiber ber seine Signatur suchen, macht es schon
     Sinn, hier auch so vorzugehen.

     Dann mssen wir dem Treiber mitteilen, was wir von ihm verlangen -
     den Netzwerktyp, welche Art Pakete usw. Auerdem mssen wir ihm
     sagen, wo er die Pakete abliefern soll, die "fr uns" eingegangen
     sind. Der Treiber liefert uns als Ergebnis ein "Handle", das
     zuknftig bei der Kommunikation zwischen dem Treiber und uns den
     Briefkasten bezeichnet. Ohne gltiges Handle wird nicht
     gearbeitet.

     Nun fragen wir den Treiber, welchen Befehlssatz er versteht. Es
     gibt drei Ausbaustufen: Basisdienste, erweiterte Dienste und high-
     performance Funktionen. Wir brauchen die erweiterten Dienste. Die
     ersten Versionen von TFNETR und TNN liefen auch mit den
     Basisdiensten. Um zu PE1CHL und G8BPQ kompatibel zu werden, haben
     wir das Protokoll aber noch einmal gendert.

     Danach fragen wir die Hardware Adresse der Karte ab. Diese Adresse
     ist eindeutig, jede Karte hat eine andere Adresse. Wir sollten sie
     nie ohne zwingende Grunde ndern. Bei dieser Abfrage erleben wir
     die Schnheiten der Segmentierung des 80X86 Prozessors. Wenn der
     Programmierer des Kartentreibers nicht sorgfltig war, kommt hier
     als Adresse 00:00:00:00:00:00. Und dann sind wir ziemlich sicher,
     da die gleiche Schlamperei auch in der Empfangsroutine drin ist.
     Damit sind dann Abstrze vorprogrammiert.

     Die Kommunikation zwischen zwei Netzwerkkarten kann auf mehrere
     Arten erfolgen:
     - im Paket werden die Hardwareadressen der beteiligten Karten
     angegeben. Das ist kompliziert. Denn ich mu vor der ersten
     Kontaktaufnahme die Adresse meines Partners kennen.
     - Die Pakete werden "an Alle" gesendet (Broadcast). Fr diese
     Zwecke ist die Zieladresse FF:FF:FF:FF:FF:FF definiert. Dieses
     Verfahren strt in greren Netzen sehr, weil wir dann mit unseren
     Paketen das gesamte Netz berschwemmen und jeder unsere Pakete
     hren und analysieren mu.
     - Die Pakete werden an eine Gruppe gesendet (Multicast). Nur die
     Gruppe hrt auf diese Pakete. Dieses Verfahren werden wir
     verwenden.
     Wir kontrollieren nun, ob unser Treiber dieses Verfahren
     empfangsseitig versteht.

     Der nchste Test erfolgt, um zu sehen, ob das Programm NETWATCH
     laufen wird. NETWATCH ist ein universeller Netzwerkmonitor. Leider
     haben viele Programmierer den dazu notwendigen "promiscuous mode"
     zugenagelt. Aber es gibt ja die FTP-Treiber.

     Nun setzen wir den Treiber sendeseitig in den Multicast Mode. Dazu
     definieren wir die "BPQ" Adresse.

     Als letzten Test schicken wir ein Paket (mit zuflligem Inhalt) an



     unsere Gruppe. Wenn der Abschluwiderstand nicht steckt, bleiben
     einige Karten hier hngen. Andere kommen mit einer Fehlermeldung.

     Zum Schlu geben wir das Handle wieder frei. Wenn der Test bis
     hierher durchgelaufen ist, besteht Hoffnung, da der Treiber auch
     mit der Anwendersoftware laufen wird.

     Ein letzter Hinweis zum Schlu: ein Rechnerabsturz beim Empfang
     oder Senden eine Paketes in Verbindung mit einer WD (SMC) Karte
     ist meist auf einen Fehler in der Konfiguration des
     Speichermanagers zurck zu fhren. Diese Karten nutzen nmlich
     Teile des Hauptspeichers zur Kommunikation mit dem Treiber.



     4. Fehlermeldungen


     Einige Fehlermeldungen sollten nie vorkommen. Sie sind mit einem
     ??? markiert. Treten sie dennoch auf, so deutet das auf einen
     kapitale Macke im Treiber hin.

     kein Fehler                       ??? Der Treiber hat einen Fehler 
                                       gemeldet und erklrt bei 
                                       Nachfrage, es sei nichts gewesen.

     ungltiges Handle                 ??? Der Treiber erinnert sich 
                                       nicht an sein eigenes Handle.

     ungltige Klasse                  Der Treiber untersttzt die 
                                       Klasse "ETHERNET" nicht.

     ungltiger Typ                    ??? Wir haben "irgendeinen" Typ 
                                       verlangt.

     ungltige Nummer                  ??? Wir haben "die erste Karte" 
                                       verlangt.

     ungltiger Packet Typ             ??? Wir haben "alle verfgbaren" 
                                       Typen verlangt.

     Multicast unzulssig              "Unser" Modus wird nicht 
                                       untersttzt, Treiber unbrauchbar.

     TERMINATE unzulssig              ??? Wir verlangen nicht, da der 
                                       Treiber sich entfernt.

     unzulssiger RX-Modus             "Unser" Modus wird nicht 
                                       untersttzt, Treiber unbrauchbar.

     nicht genug Speicher              Karte ist berfordert, nach RESET
                                       des Rechners noch einmal 
                                       versuchen. Ist noch andere 
                                       Netzwerksoftware aktiv?

     Type ist belegt                   Andere Software hat die Karte 
                                       undefiniert hinterlassen.

     unzulssiger Befehl               Ein Standardbefehl wird nicht 
                                       erkannt, Treiber unbrauchbar.

     (Hardware) Fehler beim Senden     Abschluwiderstand nicht gesteckt
                                       oder falscher Anschlu.

     kann Hardware Adresse nicht setzen     ??? Wir fummeln da nicht dran.

     falsches Hardware Adressen Format      ??? Der Treiber ist defekt.

     RESET nicht mglich               ??? Da wurde ein Befehl miverstanden.



     5. Copyright

     Wie alle Software von NORD><LINK gilt auch fr dieses Programm die
     ALAS Lizenz. Die mitgelieferten Treiber aus dem FTP-Paket sind
     Copyright (C) by FTP Software Inc und drfen mit diesem Paket
     weitergegeben werden.

     Das komplette FTP-Paket bekommt man in jedem Uni Rechenzentrum und
     in gut sortierten Mailboxen.

     Allgemeine Lizenz fr Amateurfunk Software (ALAS)

     1. Vorwort
     Diese Lizenz entstand aus der General Public Licence der Free
     Software Foundation (GPL). Ich habe versucht, den Sinn zu erhalten
     und mehr Klarheit hineinzubringen. Einige Passagen sind
     vollstndig entfallen. Es ist aber jedem Nutzer freigestellt, an
     Stelle dieser Lizenz die GPL Bedingungen anzuwenden.

     Der Sinn dieser Lizenz ist es, den Autor und den Anwender der
     Software zu schutzen. Es sind daher einige Einschrnkungen
     erforderlich und es entstehen auch einige Pflichten fr den, der
     die mit dieser Lizenz verbundene Software weitergibt oder
     verndert.

     Dies wird dadurch erreicht, da die Software durch Copyright
     geschtzt wird und der Nutzer durch diese Lizenz die Mglichkeit
     einer nahezu unbeschrnkten Nutzung erhlt.

     2. Geltungsbereich
     Diese Lizenz gilt fr jedes Programm oder Teil eines
     Programmpaketes, das eine Copyright Notiz ausgibt, die sich auf
     diese Lizenz bezieht. Im folgenden bedeutet _Programm_ entweder
     das Programm oder einen Teil davon. _Du_ bist der Lizenznehmer.

     3. Deine Rechte:
     Du darfst das Programm nutzen oder kopieren oder verteilen oder
     verndern, solange Du damit keine kommerziellen Absichten
     verbindest.

     4. Deine Pflichten:

     4.1. Du darfst den Copyright Vermerk und den Hinweis auf diese
     Lizenz nicht verndern und er mu bei jedem Start des Programms
     eindeutig fr den Benutzer sichtbar sein.

     4.2. Du mut jedem Dritten, dem Du eine Kopie des Programms gibst,
     die gleichen Rechte einrumen, die auch Dir gegeben wurden. Du
     mut ihm auch die gleichen Pflichten auferlegen.

     4.3. Du darfst fr die Weitergabe kein Geld verlangen auer den
     Kosten fr das Medium und Porto.

     4.4. Du darfst das Programm nur komplett weitergeben, so wie Du es
     bekommen hast.



     4.5. Wenn Du das Programm vernderst oder Teile davon fr eigene
     Arbeiten verwendest - wrtlich oder verndert - so gelten die
     folgenden Punkte fr das daraus entstehende neue Programm:

     4.5.1. Du mut deutlich sichtbar angeben:
      - Deinen Namen und Deine Adresse und
      - die Tatsache, da Du das Programm gendert hast oder Teile des
     Programms verwendet hast.

     4.5.2. Du mut das Programm entweder mit dem kompletten Quelltext
     weitergeben oder jedem auf Verlangen eine Kopie des Quelltextes
     gegen eine Gebhr von maximal der Kosten des Mediums und der
     Portokosten aushndigen.

     4.5.3. Du darfst keine Beschrnkungen aussprechen, die ber diese
     Lizenz hinausgehen.

     5. Sonstiges
     Du erhltst das Programm ohne jede Garantie fr Funktion,
     Fehlerfreiheit oder Anwendbarkeit fr eine bestimmte Sache. Du
     verzichtest auf jede Schadensersatzforderung, gleich aus welchem
     Grunde. Mit der Nutzung des Programms erkennst Du diese
     Lizenzbedingungen vorbehaltlos an.

