FreeDOS help system (hhstndrd 1.0.8 fr)[ndis_ins]

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

Vue d'ensemble

(Image : Vue d'ensemble de l'architecture NDIS) Les pilotes fondés sur la "Network Driver Interface Specification" (NDIS) sont utilisés par défaut dans le monde Windows. La version la plus récente est NDIS 6 qui est utilisé dans Windows Vista. Windows 98 utilisait NDIS 5, Windows 95 était fourni avec NDIS 3.1. Sous DOS vous devez utiliser le pilote en mode réel NDIS2.

Où les trouver

Il est fort probable qu'un pilote NDIS existe pour votre carte réseau. Cherchez un répertoire appelé "NDIS2" dans les fichiers d'installation de votre carte. Si vous ne trouvez pas de pilote, jetez un coup d'oeil à site : (voyez : http://drivesnapshot.de/en/makebootdisk.htm (*01)). L'extension du nom du pilote doit être *.DOS, donc par exemple le pilote 3Com 3C574 PC-Card est appelé "EL3C574.DOS".

Comment ils fonctionnent

Dans le jargon de l'architecture NDIS, ces pilotes sont appelés les pilotes "Media Access Control" (MAC). Le pilote MAC n'est qu'un composant de l'architecture NDIS comme vous pouvez le voir sur l'image ci-dessus. Selon la documentation de NDIS 2.1 (voyez : http://www.ndis.com/faq/ndis201.txt (*02)) NDIS semble fonctionner ainsi : * Les commandes de FDCONFIG.SYS (FreeDOS) ou CONFIG.SYS (autres DOS) chargent le gestionnaire de protocole PROTMAN.DOS, le pilote MAC et le pilote de protocole. Cela peut être effectué par des lignes pour chacun de ces pilotes ou en commençant le pilote "Installable File System Helper" qui est chargé par "DEVICEHIGH=IFSHLP.SYS" et qui démarre le gestionnaire de protocole ainsi que les pilotes MAC et de protocole selon PROTOCOL.INI. * Le gestionnaire de protocole lit la configuration depuis PROTOCOL.INI et la rend accessible aux pilotes MAC et de protocole qui se chargent ensuite. * Les pilotes MAC et de protocole se chargent et se configurent selon ces informations. Ils s'identifient auprès du gestionnaire de protocole. * Avant que les pilotes MAC et de protocole puissent communiquer, ils doivent être liés ensemble pour pouvoir accéder aux "points d'entrée" l'un de l'autre (c'est-à-dire aux ports de communication). Ce processus de liaison est contrôlé par le gestionnaire de protocole en se fondant sur les informations contenues dans PROTOCOL.INI. * La séquence de liaison peut être déclenchée par NET.EXE ou NETBIND.COM (ce qui peut être fait dans AUTOEXEC.BAT). * Le gestionnaire de protocole (PROTMAN.DOS) démarre alors le programme résident en mémoire (Terminate and Stay Resident - TSR) PROTMAN.EXE pour exécuter la commande de liaison et pour contrôler le bon ordre des pilotes. * Après que la liaison ait été effectuée, les pilotes MAC et de protocole communiquent directement l'un avec l'autre. Le gestionnaire de protocole n'intervient plus dans ce processus de communication, donc NETBIND.COM libère la plupart de la mémoire précédemment réservée par le gestionnaire de protocole. La configuration de NDIS sous DOS a changé au fil du temps avec les différentes versions du paquet. Quelques indications sur les différences peuvent être trouvées ici (voyez : http://www.yale.edu/pclt/WINWORLD/NDIS.HTM (*03)). Dans ce document, je considère que nous utilisons les fichiers NDIS livrés avec le client MS 3.0. Comme cette section est consacrée à l'utilisation des applications TCP/IP fondées sur les pilotes de paquets sous DOS nous n'irons pas dans les détails au sujet du client MS ici, cela est déjà expliqué ailleurs.

Fichiers additionnels nécessaires

Alors comment pouvons-nous utiliser le pilote MAC NDIS2 qui a été livré avec notre carte d'interface réseau pour la mise en réseau TCP/IP ? Comme nous l'avons appris de la description ci-dessus, nous avons besoin de fichiers additionnels. Il s'agit de : * Le gestionnaire de protocole ("PROTMAN.DOS" et "PROTMAN.EXE") * L'utilitaire de liaison ("NETBIND.COM") Ces fichiers font partie du client MS 3.0 qui peut être téléchargé ici: ftp://ftp.microsoft.com/bussys/Clients/MSCLIENT/DSK3-1.EXE (*04) ftp://ftp.microsoft.com/bussys/Clients/MSCLIENT/DSK3-2.EXE (*05) Les trois fichiers mentionnés font partie de "DSK3-1.EXE". Utilisez l'utilitaire "EXPAND.EXE" inclus sur le premier disque pour décompresser ces fichiers. * Copiez DSK3-1.EXE vers un répertoire comme C:\MSCLIENT1. Évitez un chemin long si vous faites cela sous Windows. Les logiciels 16-bit ne s'exécuteront pas si le chemin est trop long. * Lancez DSK3-1.EXE pour décompresser ses contenus. * Décompressez PROTMAN.DO_ et PROTMAN.EX_. expand -r protman.do_ expand -r protman.ex_ * NETBIND.COM est déjà décompressé. Vous pouvez maintenant prendre et utiliser les trois fichiers. Lisez le fichier LICENSE.TXT avant de commencer à utiliser ces fichiers. Le logiciel peut être utilisé gratuitement pour un usage interne. Ni la distribution ni les modifications ne sont permises.

Le convertisseur/shim

La dernière pièce dont nous avons besoin est le "Convertisseur pilote de paquets vers NDIS". Obtenez "DIS_PKT9.DOS" qui est largement utilisé (version 9, cf. ftp://ftp.cc.umanitoba.ca/software/pc_network/ dis_pkt9.zip (*06)) ou alternativement utilisez la version 11 légérement plus récente "DIS_PKT.DOS" (voyez : http://danlan.com/ pdr_shim/odipkt/odipkt.zip/ (*07)). Il n'y a aucune différence dans leur utilisation et gestion. Les deux ont été écrits par le Prof. Joe R. Doupnik (Université d'État de l'Utah) et Dan Lanciani (Université de Harvard). Le copyright est détenu par le désormais historique FTP Software, Inc., qui a heureusement publié ce pilote dans le domaine public, libre d'utilisation, de distribution, de modification et avec le code source.

Configuration des pilotes NDIS

Comme j'en ai déjà fait état, c'est simplement une installation minimale du client MS 3.0. Le seul but est d'utiliser les applications TCP/IP fondées sur les pilotes de paquets. Dans ce but : Copiez les quatre fichiers PROTMAN.DOS PROTMAN.EXE NETBIND.COM DIS_PKT.DOS dans un répertoire, par exemple C:\NET. Copiez aussi le pilote MAC de votre carte d'interface réseau, par exemple : EL3C574.DOS dans ce répertoire. Nous devons maintenant créer le fichier de configuration nécessaire pour l'architecture NDIS : Créez un fichier avec le nom PROTOCOL.INI dans le dossier C:\NET. Pour notre configuration minimale, il n'aura besoin que des lignes suivantes : --- PROTOCOL.INI --- [protman] DriverName=PROTMAN$ [EL3C574] DriverName=EL3C574$ [PKTDRV] drivername=PKTDRV$ bindings=EL3C574 intvec=0x60 chainvec=0x68 Explication des paramtères : Tout comme d'autres fichiers *.ini, PROTOCOL.INI est structuré en noms de section entre crochets et en nom d'éléments avec des valeurs qui leur sont attribuées. [protman] DriverName=PROTMAN$ La première section [protman] définit le gestionnaire de protocole. Comme décrit ci-dessus, le gestionnaire de protocole est chargé en tant que pilote PROTMAN.DOS qui est appelé "PROTMAN$" ici. La section et la ligne sont obligatoires. [EL3C574] DriverName=EL3C574$ La section [EL3C574] définit la carte d'interface réseau. Par défaut la section elle-même est nommée d'après la carte - c'est utile, si vous avez plus d'une carte réseau et utilisez différentes sections pour différentes cartes. Donc le nom de section est la première valeur à être modifiée ici. Ce serait une bonne idée de le nommer d'après votre propre carte réseau. Mais vous pouvez nommer la section "netcard", "NIC" ou même "yaourt_cuit" - ce que vous voulez, tant que vous modifiez toutes les autres lignes qui pointent vers cette section dans PROTOCOL.INI. La prochaine ligne de cette section est "DriverName=EL3C574$". Elle définit le pilote pour la carte d'interface réseau. Dans notre exemple, c'est EL3C574.DOS, qui est appelé "EL3C574$" ici. Très certainement vous utiliserez une carte différente que celle mentionnée dans l'exemple. Donc vous devrez modifier cette ligne. Vous trouverez le nom correct du pilote dans un fichier textuel appelé "PROTOCOL.INI" qui devrait faire partie des fichiers de pilote NDIS fournis avec votre carte. Il est également possible d'ajouter plus de lignes à cette section pour définir des réglages spéciaux pour votre carte réseau. Consultez "PROTOCOL.INI"fourni avec votre pilote NDIS pour plus d'informations. Mais dans de nombreux cas la ligne avec le nom du pilote devrait être suffisant. [PKTDRV] drivername=PKTDRV$ bindings=EL3C574 intvec=0x60 chainvec=0x68 La section suivante "[PKTDRV]" definit notre convertisseur pilote de paquets vers NDIS qui est "DIS_PKT.DOS" ou "DIS_PKT9.DOS". Tous les deux sont appelés par le nom "PKTDRV$". Il est important que le convertisseur se lie au pilote de la carte réseau. Cela est effectué par la prochaine ligne "bindings=EL3C574". Veuillez noter que ce nom ne comprend PAS de lettre "$" - il fait référence au nom de la section qui définit le pilote, pas au pilote lui-même. Donc si vous aviez appelé cette section "[yaourt_cuit]" comme suggéré plus haut, vous devriez écrire "bindings=yaourt_cuit" ici ;-). L'élément "intvec" spécifie le vecteur d'interruption du logiciel utilisé par l'interface du pilote de paquets. Comme déjà expliqué, cela devrait être la valeur hexadécimale 0x60 par défaut. L'élément "chainvec" définit aussi une interruption logicielle disponible. Sa fonction est encore un mystère pour moi. Selon l'inventeur du pilote de paquets (cf. http://groups.google.de/group/ comp.protocols.tcp-ip.ibmpc/msg/17b6041f7a3cde7c?dmode=source (*08)) FTP, l'ajout d'une "chain vector interrupt" peut améliorer la vitesse et la fiabilité du traitement des paquets. Les utilisateurs ont vu "une amélioration de 10 fois de la performance" (cf. http://groups.google.de/group/comp.protocols.nfs/msg/9b0c2e0d 6aa47b32?dmode=source (*09)). Pour éviter les erreurs EMM386 certaines personnes conseillent (voyez : http://groups.google.de/group/ bit.listserv.banyan-l/msg/aa961def5901f506?dmode=source (*10)) de définir une interruption qui augmente le vecteur de 8 décimales. Donc si le intvec est 0x60 (c'est le décimal 96), alors le chainvec devrait être le décimal 104 (96+8), ce qui est l'hexadécimal 0x68. C'est décrit (cf. http://groups.google.de/group/comp.protocols.tcp-ip.ibmpc/ msg/64f2b6060ff2b438?dmode=source (*11)) par l'un des auteurs de DIS_PKT.DOS, Dan Lanciani. Veuillez contribuer si vous en savez plus. Ce sont là tous les réglages dans PROTOCOL.INI nécessaires à notre objectif. Un dernier conseil : Si vous pensez modifier certaines de ses valeurs à chaque amorçage, par exemple par des choix présentés dans un menu de démarrage DOS, vous pourriez apprécier le programme gratuit de Horst Schaeffer "Inifile" (voyez : http://www.horstmuc.de/wbat32.htm (*12)).

Installation

La dernière chose qui reste à faire est de charger les pilotes lors du démarrage. Donc modifiez vos fichiers système pour qu'ils contiennent les lignes suivantes : --- FDCONFIG.SYS (FreeDOS) --- --- ou CONFIG.SYS (MS DOS/autre DOS) --- DEVICEHIGH=C:\NET\PROTMAN.DOS /I:C:\NET DEVICEHIGH=C:\NET\EL3C574.DOS DEVICEHIGH=C:\NET\DIS_PKT.DOS Le paramètre "/I" indique au gestionnaire de protocole l'emplacement de PROTOCOL.INI. Cela n'est pas nécessaire si tous les deux sont dans le même répertoire. --- AUTOEXEC.BAT --- C:\NET\NETBIND.COM Notez que NETBIND.COM ne peut pas être chargé dans la mémoire haute et devrait simplement être exécuté depuis AUTOEXEC.BAT. Si vous tentez de le charger comme un pilote, il quittera avec le message "run-time error R6009 - not enough space for environment", c'est-à-dire "erreur d'exécution R6009 - pas assez d'espace pour l'environnement".

Redémarrage

C'est tout. Redémarrez le système et utilisez une application TCP/IP simple comme ping pour tester si tout marche correctement. (Image : Messages d'amorçage de NDIS) (*01) OK (*02) https://web.archive.org/web/20030327055531/http:// www.ndis.com/faq/ (*03) https://web.archive.org/web/20100901143311/http://www.yale. edu/pclt/WINWORLD/NDIS.HTM (*04) https://www.virtualbox.org/wiki/Sharing_files_with_DOS et: https://archive.org/download/ftp.microsoft.com/ftp.microsoft. com.zip/ftp.microsoft.com%2Fbussys%2FClients%2FMSCLIENT%2FDSK3-1. EXE (*05) https://www.virtualbox.org/wiki/Sharing_files_with_DOS et: https://archive.org/download/ftp.microsoft.com/ftp.microsoft. com.zip/ftp.microsoft.com%2Fbussys%2FClients%2FMSCLIENT%2FDSK3-2. EXE et: http://download.amd.com/techdownloads/wfw31.zip et: https://archive.org/download/ftp.microsoft.com/ftp.microsoft. com.zip/ftp.microsoft.com%2FSoftlib%2FMSLFILES%2FWG1049.EXE et: https://archive.org/download/ftp.microsoft.com/ftp.microsoft. com.zip/ftp.microsoft.com%2FSoftlib%2FMSLFILES%2FNETSHAR.EXE et: https://jeffpar.github.io/kbarchive/kb/121/Q121086/ et: https://jeffpar.github.io/kbarchive/kb/128/Q128800/ (*06) OK (*07) https://web.archive.org/web/20110722171549/http:// www.danlan.com/ (*08) https://groups.google.com/forum/#!topic/comp.os.ms-windows. networking.tcp-ip/Ekxg5Y5pP0g (*09) https://groups.google.com/forum/#!original/comp.protocols. nfs/Xe1WnbPu0og/Mnukag0uDJsJ (*10) https://groups.google.com/forum/#!original/bit.listserv. banyan-l/v6HiU41jovQ/BvUBWe8dlqoJ (*11) https://groups.google.com/forum/#!original/comp.protocols .tcp-ip.ibmpc/-/OLTyDwa28mQJ (*12) https://www.horstmuc.de/div.htm#inifile ------------------------------------------------------------------------------ Copyright (C) 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".