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 Netz-
  werkkartentreiber "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 ausdrü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" ("Hülle") oder eine "Shim" ("Unterlegscheibe") 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). ODIPKT.COM
      ist Teil von FreeDOS 1.0. Wenn Sie die Netzwerk-Apps von der FullCD
      Distribution heruntergeladen haben, sollte sie unter C:\FREEDOS\BIN
      zu finden sein. 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, aus-
      probiert 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
  benö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 Kommandozeilen-
  parameter 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)
  nennen, 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äß den Anweisungen Ihres Netzadmins
    ; NODE_PASSWORD "ABCDEFGH"
    PHONE_NUMBER "Ihre Telefonnummer"
    NOTES "Verschiedene Texte"
    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) Der Link existiert nicht mehr, neuer Link:
https://www.novell.com/documentation/developer/lancomp/dos_psta/
dos_pstack.pdf (alles in EINER ZEILE, KEINE Leerzeichen!)
  (*02) Der Link existiert nicht mehr, neuer Link:
https://web.archive.org/web/20060823021022/http://www.novell.com/
coolsolutions/tools/downloads/dw271e.zip
        (alles in EINER ZEILE, KEINE Leerzeichen!)
  (*03) Der Link existiert nicht mehr, neuer Link:
https://web.archive.org/web/20120716195541/http://www.novell.com/
coolsolutions/tools/13555.html
        (alles in EINER ZEILE, KEINE Leerzeichen!)
  (*04) Der Link existiert nicht mehr, neuer Link:
https://web.archive.org/web/20110722171549/http://www.danlan.com/
  (*05) Der Link existiert noch, siehe auch:
https://web.archive.org/web/20220920184714/https://lazybrowndog.
net/webspyder/ (alles in EINER ZEILE, KEINE Leerzeichen!)
  (*06) Link does not work with www, new links:
http://crynwr.com/drivers/pktd11.zip
        ODER:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/
repositories/latest/net/crynwr.zip
        (alles in EINER ZEILE, KEINE Leerzeichen!)
  (*07) Der Link existiert noch, siehe auch:
https://groups.google.com/g/comp.protocols.tcp-ip/c/PoQEYrJhaJ0/m/
T8zKOat5urgJ (alles in EINER ZEILE, KEINE Leerzeichen!)
  (*08) Der Link existiert nicht mehr, neuer Link:
https://support.hpe.com/hpesc/public/docDisplay?docId=
c02037554&docLocale=en_US
        (alles in EINER ZEILE, KEINE Leerzeichen!)
  (*09) Der Link existiert nicht mehr, neuer Link:
https://web.archive.org/web/20110722171549/http://www.danlan.com/
  (*10) Der Link existiert noch, siehe auch:
https://web.archive.org/web/20220112213238/https://www.langeneggers.
ch/nuetzliches/umrechner/hex-dez.html
        (alles in EINER ZEILE, KEINE Leerzeichen!)

  Copyright © 2007 Ulrich Hansen, Mainz (Germany), 2011, 2020
  und 2024 von W. Spiegl an die FreeDOS-Hilfe angepasst.
  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".