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

#### [Hauptseite] [oben] [Wo man sie] [Wie sie arbeiten] [Konverter] [Konfig] [Install]

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

#### [Hauptseite] [oben] (Wo man sie) [Wie sie arbeiten] [Konverter] [Konfig] [Install]

## Wie sie arbeiten

      In der Sprache der ODI Spezifikation (vgl.: http://developer.novell.
      com/ndk/doc/lancomp/dos_psta/dos_pstack.pdf)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). Die Downloadseite von Novell (vgl.: http://
      www.novell.com/coolsolutions/tools/13555.html) merkt fuer sie aus-
      druecklich "LIZENZ: FREI" an. Nach dem Herunterladen und Entpacken
      finden Sie die Datei "LSL.COM" im Ordner "NIOS".

#### [Hauptseite] [oben] [Wo man sie] (Wie sie arbeiten) [Konverter] [Konfig] [Install]

## 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)
          an der Harvard University. Die Software ist Public Domain; ihre
          Lizenz erlaubt den freien Weitervertrieb des Binaer- und Quell-
          codes 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). Ihre Lizenz erlaubt es, ausprobiert
          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). 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.

#### [Hauptseite] [oben] [Wo man sie] [Wie sie arbeiten] (Konverter) [Konfig] [Install]

## 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/).
          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).

#### [Hauptseite] [oben] [Wo man sie] [Wie sie arbeiten] [Konverter] (Konfig) [Install]

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

#### [Hauptseite] [oben] [Wo man sie] [Wie sie arbeiten] [Konverter] [Konfig] (Install)

      Copyright © 2007 Ulrich Hansen, Mainz (Germany), 2011 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.1 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"