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