Mise en réseau de FreeDOS - installation du pilote ODI

Vue d'ensemble

    (Image du modèle ODI)
  Les pilotes "Open Datalink Interface" (ODI) étaient à l'origine
  nécessaires pour Novell NetWare. Mais cela ne signifie pas qu'ils ne
  peuvent pas être utilisés pour les applications TCP/IP fondées sur les
  pilotes de paquets. En fait, ils ont été utilisés pour cela depuis
  leur invention.
  Un pilote ODI est un bon choix si vous ne pouvez pas obtenir un pilote
  de paquets pour votre NIC. Comme NetWare était un système populaire
  pendant les années 80 et 90 du siècle dernier, il y a de bonnes
  chances pour que le fabricant de votre carte réseau ait fourni un tel
  pilote ODI.

Où les trouver

  Recherchez un répertoire appelé "netware", "nwclient", "ODI" ou "VLM"
  sur la disquette ou CD-ROM d'installation de votre carte. Les pilotes
  sont exécutables, leurs noms ressemblent à "3C574.COM" ou "DFE670.COM".

Comment ils fonctionnent

  Dans le jargon de la spécification ODI (voyez : http://developer.
  novell.com/ndk/doc/lancomp/dos_psta/dos_pstack.pdf (*01)) ces pilotes
  de la carte réseau sont appelés "Multiple Link Interface Driver"
  (MLID) c'est-à-dire "Pilote d'interface de liaison multiple".
  Comme vous le voyez sur l'image ci-dessus, le MLID communique
  directement avec le matériel de la carte d'interface réseau. Le MLID
  reçoit les paquets pour diverses piles de protocoles (kernels) dans le
  système et transmet ces paquets à un second logiciel, la "Link Support
  Layer" (LSL), c'est-à-dire la "Couche de support de liaison".
  La LSL détermine alors quelle pile de protocole doit recevoir le
  paquet. Les deux, à savoir le MLID et la LSL composent
  l'architecture ODI. Nous avons donc besoin d'un fichier additionnel
  pour que l'ODI fonctionne : la LSL, qui est un fichier appelé
  "LSL.COM". Ce fichier fait partie du "Client NetWare DOS", qui peut
  être téléchargé chez Novell (voyez:
  http://www.novell.com/coolsolutions/tools/downloads/dw271e.zip (*02)).
  Le site de téléchargement de Novell mentionne explicitement "LICENCE:
  GRATUIT" (voyez : http://www.novell.com/coolsolutions/tools/
  13555.html (*03)) pour ce logiciel. À la suite du téléchargement et
  de l'extraction, le fichier "LSL.COM" peut être trouvé dans le dossier
  "NIOS".

Le convertisseur/shim

    (Image de Webspyder)
  Comme nous voulons utiliser l'ODI avec les applications TCP/IP fondées
  sur les pilotes de paquets, nous devons télécharger un autre logiciel,
  un "convertisseur pilote de paquets vers l'ODI". Les convertisseurs
  sont aussi appelés des "wrappers" ou un "shim".
  Nous avons trois options :
    * ODIPKT.COM v3.1 par Dan Lanciani (cf. http://www.danlan.com (*04))
      à l'Université de Harvard. Le logiciel est dans le domaine public;
      sa licence permet la redistribution libre des binaires et de la
      source, et la modification de la source (assembleur). ODIPKT.COM
      fait partie de FreeDOS 1.0. Si vous avez installé les applications
      réseau depuis la distribution FullCD, il peut être trouvé dans
      C:\FDOS\BIN. C'est le logiciel que la plupart des utilisateurs
      choisiront.
    * PKT2ODI.EXE par Caldera. Ce fichier fait partie du logiciel DR
      "WebSpyder" un navigateur graphique pour DOS que Caldera a publié
      en 1998. WebSypder a été concédé sous licence par xChaos/
      Arachne. Le logiciel peut être
      téléchargé ici (cf. http://lazybrowndog.net/webspyder (*05)).
      Sa licence permet son évaluation et sa redistribution libre tant
      que cela revêt un but non commercial.
    * Si vous exécutez déjà tout NetWare, vous pouvez utiliser
      IPXPKT.COM pour lancer un pilote de paquets sur IPX.COM.
      IPXPKT.COM est un logiciel libre par Crynwr et fait partie de leur
      collection de pilotes de paquets PKTD11.ZIP (cf. http://www.
      crynwr.com/drivers/pktd11.zip (*06)). Il s'agit là d'un cas
      spécial qui ne fera pas l'objet d'une enquête plus approfondie
      dans ce document.
  Avec le MLID, la LSL et le convertisseur nous avons la plupart des
  fichiers nécessaires. La seule pièce manquante est le fichier de
  configuration "NET.CFG". Un exemple de fichier avec les réglages
  supposés pour votre carte peut être trouvée sur le CD ou la disquette
  qui a été livré avec la carte et devrait être dans le même répertoire
  que le pilote ODI.

Configuration de NET.CFG

  Maintenant, éditons notre principal fichier de configuration NET.CFG.
  S'il n'existe pas, créez-le. Vous devez choisir un répertoire - les
  emplacements par défaut de NET.CFG semblent être C:\NWCLIENT ou
  C:\NET. Dans tous les cas, l'emplacement devrait être dans le même
  répertoire où LSL.COM et le pilote se trouvent. Un exemple de NET.CFG
  (voyez ci-dessous) qui a été livré avec la 3Com 3C574 PC Card montre
  beaucoup de réglages de configuration qui sont nécessaires pour
  Novell NetWare et d'autres logiciels. Pour utiliser les applications
  TCP/IP fondées sur le pilote de paquets, les quatre lignes suivantes
  dans NET.CFG sont suffisantes :
      --- NET.CFG ---
      Link Support
        buffers 8 1600
      Link Driver 3C574
        Frame Ethernet_II
  Explication des paramètres :
      link support
  La ligne "Link Support" configure la LSL. Les options sont :
  "buffers", "max boards", "max stacks" et "mempool". Nous avons
  seulement besoin de définir :
      buffers 8 1600
  Cela détermine le nombre et la taille des tampons de réception de la
  LSL. Le numéro de communication par défaut pour TCP/IP est 8. L'auteur
  de ODIPKT, Dan Lanciani, recommande d'utiliser une taille de tampon de
  1600 octets pour ODIPKT. (cf. http://groups.google.de/group/comp.
  protocols.tcp-ip/msg/b8ba79ab39cacc4f/ (*07))
      Link Driver 3C574
  La ligne "Link Driver" configure le MLID (le pilote de votre
  carte réseau). Tout d'abord, le nom du pilote est spécifié. Ci-dessus
  vous voyez l'exemple d'une 3Com 3C574 PC Card. Remplace-le par le nom
  de votre carte réseau.
  Puis nous configurons le "frame" ou le "type d'enveloppe" (les deux
  déclarations fonctionnent de la même manière et signifient la même
  chose) utilisé par ce pilote :
      Frame Ethernet_II
  Il est possible de définir plus d'un type de frame (trame) ici : Nous
  avons déjà entendu que l'ODI est un pilote multiprotocole, donc le
  MLID peut utiliser plus d'une trame et protocole avec la même carte
  réseau matérielle.
  Pour cela, il définit des cartes logiques pour chaque trame définie.
  Les trames possibles sont par exemple "ETHERNET_II" (protocole IP),
  "ETHERNET_802.2" ou "ETHERNET_802.3" (les deux utilisant le protocole
  IPX/SPX).
  Pour le convertisseur du pilote de paquets que nous voulons lancer
  plus tard, il est obligatoire de définir au moins la trame Ethernet II
  ici. Vous devez également informer ODIPKT dans un paramètre de ligne
  de commande d'utiliser la carte avec la trame ETHERNET_II (voyez
  ci-dessous).
  Pour une documentation complète des paramètres dans NET.CFG voyez la
  "NetWare Client for DOS and MS Windows Technical Reference"
  (cf. http://www.docs.hp.com/en/J2771-90016/index.html (*08)).

Installation

  Après avoir configuré NET.CFG nous pouvons démarrer les pilotes ODI
  dans AUTOEXEC.BAT durant le démarrage.
  La première chose que nous devons démarrer les la couche de support
  de liaison (Link Support Layer) :
      LH C:\NETWORK\NWCLIENT\LSL.COM /C C:\NETWORK\NET\NET.CFG
  Veuillez remplacer les chemins par ceux que vous utilisez sur votre
  système. L'option "/C" indique à la LSL où trouver NET.CFG.
  Cette option n'est nécessaire que si NET.CFG n'est pas dans le même
  répertoire que LSL.COM. Maintenant nous démarrons le MLID:
      LH C:\NETWORK\PCMCIA\3C574\ODI\3C574.COM
  En tant que dernière étape, nous devons installer le convertisseur
  pilote de paquets vers ODI. Ici nous pouvons choisir entre ODIPKT ou
  le plus exotique PKT2ODI.
  La plupart des gens utiliseront le convertisseur libre ODIPKT.COM
  par Dan Lanciani qui peut être téléchargé ici : http://danlan.com/
  pdr_shim/odipkt/odipkt.zip (*09). Extrayez le fichier zip et
  chargez ODIPKT.COM avec une commande comme celle-ci dans AUTOEXEC.BAT:
    LH C:\NETWORK\NWCLIENT\ODIPKT.COM 0 96
  Le premier chiffre des paramètres ci-dessus ("0") détermine la carte
  qui utilise la trame ETHERNET_II. L'exemple suivant suppose que vous
  avez défini différentes trames (aussi connues en tant que "envelope
  types", c'est-à-dire types d'enveloppe) dans NET.CFG:
      --- NET.CFG ---
      Link Driver 3C574
        FRAME ETHERNET_II
        FRAME ETHERNET_802.2
        FRAME ETHERNET_802.3
        FRAME ETHERNET_SNAP
  Puis vous devez indiquer à ODIPKT que le numéro de la carte logique
  qui prend en charge la trame Ethernet II. Comptez
  simplement les trames (frames) dans NET.CFG : Ethernet II est la
  première, la trame 802.2 est la seconde, la trame 802.3 est la
  troisième, snap est la quatrième.
  Pour rendre les choses un peu plus difficiles, ODIPKT commence à
  compter avec "0" (comme le font les programmeurs). Cela signifie,
  selon l'exemple ci-dessus :
      ODIPKT.COM 0 | carte avec ETHERNET_II
      ODIPKT.COM 1 | ETHERNET_802.2 (ne fonctionnera pas)
      ODIPKT.COM 2 | ETHERNET_802.3 (ne fonctionnera pas)
      ODIPKT.COM 3 | ETHERNET_SNAP (ne fonctionnera pas)
  La seule option qui fonctionne pour ODIPKT est le numéro qui définit
  la carte logique avec la trame Ethernet II, qui est "0" dans notre
  exemple. Maintenant nous regardons le second paramètre ("96") que nous
  utilisons pour lancer ODIPKT. Ce paramètre définit le (vecteur)
  d'interruption logicielle utilisé par le pilote. Comme nous avons
  déjà entendu lors de la configuration du pilote de paquets,
  l'interruption logicielle la plus fréquemment utilisée, est 0x60 qui
  est la valeur hexadécimale de 60 (le "0x" nous dit simplement que
  le format est hexadécimal).
  Malheureusement ODIPKT ne comprend pas les valeurs hexadécimales, donc
  vous devez traduire ce paramètre en une valeur décimale - qui est 96.
  Si vous voulez utiliser d'autres valeurs et vous n'êtes pas habitué à
  l'hexadécimal, vous pouvez essayer une calculatrice hex-dec (voyez :
  http://www.langeneggers.ch/Nuetzliches/Hex_Dez.htm (*10)) ou bien
  utiliser la liste suivante :
        0x60 = 96
        0x61 = 97
        0x62 = 98
         ...
        0x69 = 105
        0x6A = 106
         ...
        0x7D = 125
        0x7E = 126

  Exemple de NET.CFG
    ; version 2.0
    ; max tasks = 60
    ; show dots = on
    link support
    buffers 8 1514
    ; mempool 4096
    ; CETTE SECTION EST POUR LA CONFIGURATION DES NOEUDS FINAUX
    ; GÉRABLES DE LINKWATCH (LINKWATCH MANAGEABLE END NODES)
    ;
    Protocol DME
    BIND #1
    ; remplacez avec vos informations spécifiques à LinkWatch
    USER_NAME "Votre nom"
    NODE_NAME "Le nom de votre noeud"
    NODE_LOCATION "L'emplacement de votre noeud"
    ; définissez le mot de passe selon les instructions de votre
    ; administrateur
    ; réseau
    ; NODE_PASSWORD "ABCDEFGH"
    PHONE_NUMBER "Votre numéro de téléphone"
    NOTES "Texte divers"
    NOTES "et plus de texte"
    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

Redémarrage

  Après un redémarrage le pilote de paquets est installé et prêt. Vous^
  pouvez utiliser une application pour tester si elle marche, par exemple
  la commande "ping" du paquet WATTCP.
  Bonne chance !
    (Image : messages d'amorçage)

  (*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 (Allemagne), modifié en 2010
  par W. Spiegl.
  Traduit en 2020 par Berki Yenigün.

  Pour plus d'informations, voyez ici.

  La permission est accordée de copier, distribuer et/ou modifier ce
  document selon les termes de la licence de documentation libre GNU,
  version 1.2 ou toute version ultérieure publiée par la Free Software
  Foundation.
  Une copie de la licence est incluse dans la section intitulée
  "GNU Free Documentation License 1.2".