Netzwerken unter FreeDOS - ODI
Treiberinstallation
Übersicht
(Bild des ODI Modells)
"Open Datalink Interface" (ODI) Treiber wurden ursprünglich für
Novell Netware benötigt. Aber das bedeutet nicht, daß sie nicht auch
für pakettreiberbasierte TCP/IP Anwendungen verwendet werden können.
In Wahrheit wurden sie dafür verwendet, seitdem sie erfunden wurden.
Ein ODI Treiber ist eine gute Wahl, wenn Sie für Ihre Netzwerkkarte
keinen Pakettreiber bekommen können. Da NetWare während der 80er und
90er Jahre des vorigen Jahrhunderts ein beliebtes System war, besteht
eine ganz gute Chance, daß der Hersteller Ihrer Netzwerkkarte solch
einen ODI Treiber mitgeliefert hat.
Wo man sie findet
Suchen Sie auf der Installationsdiskette oder CD-ROM Ihrer Karte nach
einem Verzeichnis mit folgenden Namen: "netware", "nwclient", "ODI"
oder "VLM". Die Treiber sind ausführbar, die Namen sehen in etwa
wie folgt aus: "3C574.COM" oder "DFE670.COM".
Wie sie arbeiten
In der Sprache der ODI Spezifikation (vgl.: http://developer.novell.
com/ndk/doc/lancomp/dos_psta/dos_pstack.pdf (*01))werden diese Netzwerk-
kartentreiber "Multiple Link Interface Driver" (MLID) genannt.
Wie Sie aus dem obigen Schaubild entnehmen können, kommuniziert
die MLID direkt mit der Hardware der Netzwerkschnittstellenkarte.
Die MLID erhält Pakete für unterschiedliche Protokollstapel
(Kernel) im System und reicht diese Pakete an ein zweites Stück
Software, den "Link Support Layer" (LSL) weiter. Der LSL bestimmt
dann, welcher Protokollstapel das Paket empfangen soll. MLID und
LSL zusammen formen die ODI Architektur. Wir benötigen also eine
zusätzliche Datei, um ODI zum Arbeiten zu bringen:
Die LSL, eine Datei mit Namen "LSL.COM". Diese Datei ist Teil des
"DOS Netware Clients", der von der Novell Webseite heruntergeladen
werden kann (vgl.: http://www.novell.com/coolsolutions/tools/
downloads/dw271e.zip (*02)). Die Downloadseite von Novell
(vgl.: http://www.novell.com/coolsolutions/tools/13555.html (*03))
merkt für sie aus-drücklich "LIZENZ: FREI" an. Nach dem Herunterladen
und Entpacken finden Sie die Datei "LSL.COM" im Ordner "NIOS".
Der Konverter/Shim
(Bild von Webspyder)
Da wir ODI mit pakettreiberbasierenden TCP/IP Anwendungen verwenden
wollen, müssen wir noch ein weiteres Stück Software, den "Packet
Driver to ODI Konverter" herunterladen. Konverter werden auch
"Wrapper" ("Huelle") oder eine "Shim" ("Beilagscheibe") genannt. Wir
haben drei Möglichkeiten:
* ODIPKT.COM v3.1 von Dan Lanciani (vgl.: http://www.danlan.com
(*04))an der Harvard University. Die Software ist Public Domain;
ihre Lizenz erlaubt den freien Weitervertrieb des Binär- und
Quellcodes und die Veränderung des Quellcodes (Assembler). Diese
Software dürften die meisten Anwender wählen.
* PKT2ODI.EXE von Caldera. Diese Datei ist Teil der DR "WebSpyder"
Software, einem grafischen DOS Browser, den Caldera im Jahr 1998
herausbrachte. WebSpyder war von xChaos/Arachne lizensiert. Die
Software kann hier heruntergeladen werden (vgl.: http://
lazybrowndog.net/webspyder (*05)). Ihre Lizenz erlaubt es, auspro-
biert und für nichtkommerzielle Zwecke frei weiterverteilt zu
werden.
* Wenn Sie bereits das volle NetWare am Laufen haben, können Sie
IPXPKT.COM verwenden, um einen Pakettreiber über IPX.COM laufen
zu lassen. IPXPKT.COM ist freie Software von Crynwr und ein Teil
ihrer Pakettreibersammlung PKTD11.ZIP (vgl.: http://www.crynwr.
com/drivers/pktd11.zip (*06)). Dies ist aber ein spezieller Fall
und wird in diesem Dokument nicht weiter untersucht werden.
Mit der MLID, der LSL und dem Konverter haben wir jetzt fast alle be-
nötigten Dateien. Die einzige noch fehlende ist die Konfigurationsda-
tei "NET.CFG". Eine Beispielsdatei mit den vermutlichen Einstellungen
Ihrer Karte dürften Sie auf der CD oder Diskette finden, die mitge-
liefert wurde und sollte im gleichen Verzeichnis wie die ODI Treiber
sein. Vgl. auch weiter unten.
Konfiguration der NET.CFG
Okay, dann editieren wir unsere Hauptkonfigurationsdatei NET.CFG.
Falls sie nicht existiert, erzeugen Sie sie. Sie müssen ein Verzeich-
nis wählen - die Standardverzeichnisse von NET.CFG scheinen
C:\NWCLIENT oder C:\NET
zu sein. Egal wo, die Datei sollte im gleichen Verzeichnis wie die
LSL.COM und die Treiber sein.
Eine Muster NET.CFG, die mit der 3Com 3C574 PC Karte geliefert wurde,
zeigt eine Vielzahl von Konfigurationseinstellungen, die für Novell
Netware und andere Software benötigt werden. Bei der Verwendung von
pakettreiberbasierenden TCP/IP Anwendungen reichen die folgenden vier
Zeilen in der NET.CFG aus:
--- NET.CFG ---
Link Support
buffers 8 1600
Link Driver 3C574
Frame Ethernet_II
Erklärung der Parameter:
link support
Die Zeile "Link Support" konfiguriert die LSL. Optionen sind:
"buffers", "max boards", "max stacks" und "mempool".
Wir müssen nur setzen:
buffers 8 1600
Das bestimmt die Anzahl und die Größe der Empfangspuffer der LSL.
Die Standardübertragungszahl für TCP/IP ist 8. Der Autor von ODIPKT,
Dan Lanciani empfiehlt die Verwendung einer Puffergröße von 1600
Byte für ODIPKT (vgl.: http://groups.google.de/group/comp.protocols.
tcp-ip/msg/b8ba79ab39cacc4f/ (*07)).
Link Driver 3C574
Die Zeile "Link Driver" konfiguriert die MLID (den Treiber Ihrer
Netzwerkkarte). Als erstes wird der Name des Treibers angegeben.
Oben sehen Sie das Beispiel einer 3Com 3C574 PC Karte. Ändern Sie
dies auf den Namen Ihrer eigenen Netzwerkkarte ab.
Dann konfigurieren wir den "Frame" (Rahmen) oder "envelope type" (Typ
des Briefumschlags - es gibt beide Formulierungen - und sie meinen
das gleiche), der von folgendem Treiber verwendet wird:
Frame Ethernet_II
Es ist möglich, hier mehr als einen Frametyp zu definieren. Wir haben
bereits gehört, daß ODI ein Multiprotokolltreiber ist; deshalb ist
die MLID in der Lage, mehr als einen Frame und ein Protokoll mit der
gleichen hardwaremäßigen Netzwerkkarte (Board) zu verwenden.
Mögliche Frames sind zum Beispiel "ETHERNET_II" (IP Protokoll),
"ETHERNET_802.2" oder "ETHERNET_802.3" (beide für das (IPX/SPX
Protokoll). Für den Pakettreiberkonverter, den wir später starten
wollen, ist es zwingend vorgeschrieben, hier wenigstens den Ethernet II
Frame zu definieren. Sie müssen auch ODIPKT mit einem Kommandozei-
lenparameter darüber informieren, daß er die Karte mit einem
ETHERNET_II Frame verwenden soll (siehe weiter unten).
Eine vollständige Dokumentation der Parameter in der NET.CFG finden
Sie in der "NetWare Client for DOS and MS Windows Technical Reference"
(vgl.: http://www.docs.hp.com/en/J2771-90016/index.html (*08)).
Installation
Nachdem wir die NET.CFG konfiguriert haben, können wir die ODI Treiber
beim Booten durch die AUTOEXEC.BAT starten.
Das Erste, das wir starten müssen, ist der Link Support layer (LSL):
LH C:\NETWORK\NWCLIENT\LSL.COM /C C:\NETWORK\NET\NET.CFG
Bitte passen Sie die obigen Pfade den in Ihrem System verwendeten
Pfaden an.
Die Option "/c" sagt der LSL, wo sie die die NET.CFG findet. Diese
Option ist nur erforderlich, wenn sich die NET.CFG nicht im gleichen
Verzeichnis wie die LSL.COM befindet.
Jetzt starten wir die MLID:
LH C:\NETWORK\PCMCIA\3C574\ODI\3C574.COM
Als letzten Schritt müssen wir den Pakettreiber-zu-ODI-Konverter zu
installieren. Hier können wir wählen zwischen ODIPKT oder dem
exotischeren PKT2ODI.
Die meisten Leute werden den freien Konverter ODIPKT.COM von Dan
Lanciani verwenden, der hier heruntergeladen werden kann: http://
danlan.com/pdr_shim/odipkt/odipkt.zip (*09). Entpacken Sie die
zip-Datei und laden Sie ODIPKT.COM mit einem Befehl wie diesem in der
AUTOEXEC.BAT:
LH C:\NETWORK\NWCLIENT\ODIPKT.COM 0 96
Die erste Zahl der oben genannten Parameter ("0") legt das Board
(die Karte) fest, die den ETHERNET_II Frame verwendet. Das folgende
Beispiel geht davon aus, daß Sie verschiedene Frames (auch als
"envelope types"=Typ des Briefumschlags bekannt) in der NET.CFG
definiert haben.
--- NET.CFG ---
Link Driver 3C574
FRAME ETHERNET_II
FRAME ETHERNET_802.2
FRAME ETHERNET_802.3
FRAME ETHERNET_SNAP
Dann müssen Sie ODIPKT die Indexnummer des logischen Boards (Karte)
sagen, die den Ethernet II Frame unterstützt. Zählen Sie einfach
die Frames in der NET.CFG: Ethernet II ist der erste, der Frame 802.2
ist der zweite, der Frame 802.3 ist der dritte, snap ist der vierte.
Um das Ganze etwas komplizierter zu machen, startet ODIPKT das Zählen
mit "0" (so wie es die Programmierer tun). Das bedeutet analog zum
obigen Beispiel:
ODIPKT.COM 0 | Board mit ETHERNET_II
ODIPKT.COM 1 | ETHERNET_802.2 (wird nicht arbeiten)
ODIPKT.COM 2 | ETHERNET_802.3 (wird nicht arbeiten)
ODIPKT.COM 3 | ETHERNET_SNAP (wird nicht arbeiten)
Die einzige Option, die für ODIPKT arbeitet, ist die Nummer, die das
logische Board (Karte) mit dem Frame Ethernet II definiert, welche in
unserem Beispiel die "0" ist. Nun sehen wir uns den zweiten Parameter
("96") an, den wir zum Starten von ODIPKT verwenden. Dieser Parameter
definiert den Softwareinterrupt (Vektor), der von dem Treiber verwen-
det wird. Wie bereits gehört haben, als wir einen Pakettreiber konfi-
guriert haben, ist die am meisten verwendete Pakettreiber-Software-
interruptnummer 0x60, welche der hexadezimale Wert 60 (das "0x" teilt
uns nur mit, daß es im Hex-Format ist) ist. Dummerweise versteht
ODIPKT keine Hex-Werte, deshalb müssen wir diesen Parameter in eine
dezimale Zahl umwandeln - welche 96 ist.
Wenn Sie andere Werte verwenden wollen und nicht an Hex-Werte gewohnt
sind, können Sie einen Hex-Dezimal-Taschenrechner ausprobieren
(vgl.: http://www.langeneggers.ch/Nützliches/Hex_Dez.htm (*10)) oder
die folgende Liste verwenden:
0x60 = 96
0x61 = 97
0x62 = 98
...
0x69 = 105
0x6A = 106
...
0x7D = 125
0x7E = 126
Beispiel für eine NET.CFG
; version 2.0
; max tasks = 60
; show dots = on
link support
buffers 8 1514
; mempool 4096
; DIESER BEREICH IST FÜR DIE KONFIGURATION VON DURCH LINKWATCH
; VERWALTBARE END NODES.
;
Protocol DME
BIND #1
; ersetzen Sie dies mit Ihren spezifischen Informationen für
; LinkWatch
USER_NAME "Ihr Name"
NODE_NAME "Ihr Node Name"
NODE_LOCATION "Der Ort Ihrer Node"
; Setzen Sie das Passwort gemäß deb Anweisungen Ihres Netzadmins
; NODE_PASSWORD "ABCDEFGH"
PHONE_NUMBER "Ihre Telefonnummer"
NOTES "Verschiedener Text"
NOTES "und weiterer Text"
LINK DRIVER 3C574
INT 10
; PORT 300
NO_AMP
FRAME ETHERNET_802.2
FRAME ETHERNET_802.3
; PROTOCOL IPX 0 ETHERNET_802.3
FRAME ETHERNET_II
FRAME ETHERNET_SNAP
Netware DOS Requester
FIRST NETWORK DRIVE = F
NETWARE PROTOCOL = NDS BIND
Neustart (reboot)
Nach einem Neustart ist der Pakettreiber installiert und bereit. Sie
können eine Anwendung, wie zum Beispiel "ping" aus dem WATTCP Paket
verwenden, um zu testen, ob es funktioniert.
Viel Glück!
(Bild: "Bootmeldungen")
(*01) OK
(*02) OK
(*03) OK
(*04) https://web.archive.org/web/20110722171549/http:
//www.danlan.com/
(*05) OK
(*06) http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/
repositories/latest/net/crynwr.zip
(*07) OK
(*08) https://support.hpe.com/hpesc/public/docDisplay?docId=
c02037554&docLocale=en_US
(*09) https://web.archive.org/web/20110722171549/http://
www.danlan.com/
(*10) OK
Copyright © 2007 Ulrich Hansen, Mainz (Germany), 2011 und 2020
an die FreeDOS-Hilfe angepasst von W.Spiegl.
Weitergehende Informationen finden Sie hier.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation.
A copy of the license is included in the section entitled
"GNU Free Documentation License 1.2".