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".