Netzwerken unter FreeDOS - ODI Treiberinstallation
Uebersicht
(Bild des ODI Modells)
"Open Datalink Interface" (ODI) Treiber wurden urspruenglich fuer
Novell Netware benoetigt. Aber das bedeutet nicht, dass sie nicht auch
fuer pakettreiberbasierte TCP/IP Anwendungen verwendet werden koennen.
In Wahrheit wurden sie dafuer verwendet, seitdem sie erfunden wurden.
Ein ODI Treiber ist eine gute Wahl, wenn Sie fuer Ihre Netzwerkkarte
keinen Pakettreiber bekommen koennen. Da NetWare waehrend der 80er und
90er Jahre des vorigen Jahrhunderts ein beliebtes System war, besteht
eine ganz gute Chance, dass 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 ausfuehrbar, 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 koennen, kommuniziert
die MLID direkt mit der Hardware der Netzwerkschnittstellenkarte.
Die MLID erhaelt Pakete fuer unterschiedliche Protokollstapel
(Kernel) im System und reicht diese Pakete an ein zweites Stueck
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 benoetigen also eine
zusaetzliche 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 fuer sie aus-druecklich "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, muessen wir noch ein weiteres Stueck Software, den "Packet
Driver to ODI Konverter" herunterladen. Konverter werden auch
"Wrapper" ("Huelle") oder eine "Shim" ("Beilagscheibe") genannt. Wir
haben drei Moeglichkeiten:
* 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 Binaer- und
Quellcodes und die Veraenderung des Quellcodes (Assembler). Diese
Software duerften die meisten Anwender waehlen.
* 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 fuer nichtkommerzielle Zwecke frei weiterverteilt zu
werden.
* Wenn Sie bereits das volle NetWare am Laufen haben, koennen Sie
IPXPKT.COM verwenden, um einen Pakettreiber ueber 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-
noetigten Dateien. Die einzige noch fehlende ist die Konfigurationsda-
tei "NET.CFG". Eine Beispielsdatei mit den vermutlichen Einstellungen
Ihrer Karte duerften 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 muessen ein Verzeich-
nis waehlen - 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 fuer Novell
Netware und andere Software benoetigt 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
Erklaerung der Parameter:
link support
Die Zeile "Link Support" konfiguriert die LSL. Optionen sind:
"buffers", "max boards", "max stacks" und "mempool".
Wir muessen nur setzen:
buffers 8 1600
Das bestimmt die Anzahl und die Groesse der Empfangspuffer der LSL.
Die Standarduebertragungszahl fuer TCP/IP ist 8. Der Autor von ODIPKT,
Dan Lanciani empfiehlt die Verwendung einer Puffergroesse von 1600
Byte fuer 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. Aendern 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 moeglich, hier mehr als einen Frametyp zu definieren. Wir haben
bereits gehoert, dass ODI ein Multiprotokolltreiber ist; deshalb ist
die MLID in der Lage, mehr als einen Frame und ein Protokoll mit der
gleichen hardwaremaessigen Netzwerkkarte (Board) zu verwenden.
Moegliche Frames sind zum Beispiel "ETHERNET_II" (IP Protokoll),
"ETHERNET_802.2" oder "ETHERNET_802.3" (beide fuer das (IPX/SPX
Protokoll). Fuer den Pakettreiberkonverter, den wir spaeter starten
wollen, ist es zwingend vorgeschrieben, hier wenigstens den Ethernet II
Frame zu definieren. Sie muessen auch ODIPKT mit einem Kommandozei-
lenparameter darueber informieren, dass er die Karte mit einem
ETHERNET_II Frame verwenden soll (siehe weiter unten).
Eine vollstaendige 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, koennen wir die ODI Treiber
beim Booten durch die AUTOEXEC.BAT starten.
Das Erste, das wir starten muessen, 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 muessen wir den Pakettreiber-zu-ODI-Konverter zu
installieren. Hier koennen wir waehlen 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, dass 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 muessen Sie ODIPKT die Indexnummer des logischen Boards (Karte)
sagen, die den Ethernet II Frame unterstuetzt. Zaehlen 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 Zaehlen
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 fuer 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 gehoert 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, dass es im Hex-Format ist) ist. Dummerweise versteht
ODIPKT keine Hex-Werte, deshalb muessen wir diesen Parameter in eine
dezimale Zahl umwandeln - welche 96 ist.
Wenn Sie andere Werte verwenden wollen und nicht an Hex-Werte gewohnt
sind, koennen Sie einen Hex-Dezimal-Taschenrechner ausprobieren
(vgl.: http://www.langeneggers.ch/Nuetzliches/Hex_Dez.htm (*10)) oder
die folgende Liste verwenden:
0x60 = 96
0x61 = 97
0x62 = 98
...
0x69 = 105
0x6A = 106
...
0x7D = 125
0x7E = 126
Beispiel fuer eine NET.CFG
; version 2.0
; max tasks = 60
; show dots = on
link support
buffers 8 1514
; mempool 4096
; DIESER BEREICH IST FUER DIE KONFIGURATION VON DURCH LINKWATCH
; VERWALTBARE END NODES.
;
Protocol DME
BIND #1
; ersetzen Sie dies mit Ihren spezifischen Informationen fuer
; LinkWatch
USER_NAME "Ihr Name"
NODE_NAME "Ihr Node Name"
NODE_LOCATION "Der Ort Ihrer Node"
; Setzen Sie das Passwort gemaess 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
koennen eine Anwendung, wie zum Beispiel "ping" aus dem WATTCP Paket
verwenden, um zu testen, ob es funktioniert.
Viel Glueck!
(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".