
                       Linux AX.25-HOWTO, Amateur Radio.

Terry Dawson, VK2KTJ, terry@perf.no.itg.telstra.com.au, traduit par Franois
Romieu, romieu@ensta.fr

   v1.5, 17 Octobre 1997
     _________________________________________________________________

   _Le systme d'exploitation Linux est srement le seul au monde 
   pouvoir se vanter d'offrir un support natif du protocole de
   transmission de donnes AX.25 employ par les radioamateurs  travers
   le monde. Le prsent document se veut un guide d'installation et de
   configuration de cette prise en charge._
     _________________________________________________________________

1. Introduction.

   Le document trouve son origine dans une annexe du HAM-HOWTO.
   L'importance de son dveloppement devint cependant incompatible avec
   une telle organisation. L'installation et la prise en charge intgre
   d'AX.25, la gestion NetRom et Rose sous Linux sont dcrites. Quelques
   exemples de configurations typiques fournissent une base de travail.

   La mise en oeuvre des protocoles radioamateurs sous Linux est trs
   souple. Les personnes peu familires du systme d'exploitation Linux
   trouveront peut-tre la configuration un peu obscure. Il vous faudra
   un certain temps pour matriser l'interaction des diffrents lments.
   Attendez-vous  une configuration pnible si vous ne vous tes pas
   auparavant familiaris avec Linux. N'esprez pas passer  Linux depuis
   un autre environnement en faisant l'conomie de tout apprentissage.

1.1 Modifications par rapport  la version prcdente

Ajouts:
        Page ouaibe de Joerg Reuters
        Section "Informations supplmentaires"
        configuration d'ax25ipd.

Corrections/Mises  jour:
        Prvention des conflits dus aux pty
        Nouvelles versions du module et des ax25-utils

A faire:
        Mettre au point la section SCC qui est srement errone
        toffer la section touchant  la programmation

1.2 Nouvelles versions du document

   Les archives du Projet de Documentation Linux (LDP ou Linux
   Documentation Project) constituent le meilleur emplacement o trouver
   la dernire mouture de ce texte. Le LDP tient  jour un site ouaibe
   dans lequel figure l'AX.25 HOWTO : AX.25-HOWTO. Le texte est
   disponible sous diffrents formats  l'adresse suivante : archive ftp
   sunsite.unc.edu. La version franaise est accessible via : archive
   Traduc.org.

   Vous pouvez me contacter mais comme je transmets directement les
   nouvelles versions au coordinateur LDP des HOWTO, l'absence d'une
   nouvelle version indique srement que je ne l'ai pas termine.

1.3 Autres documents

   La documentation sur les sujets apparents ne manque pas. Bon nombre
   de textes traitent de l'utilisation gnrale de Linux en rseau et je
   vous conseille vivement de les lire : ils vous guideront dans vos
   efforts et offrent une vision largie  d'autres configurations
   envisageables.

   Par exemple :

   HAM-HOWTO,

   NET-3-HOWTO,

   Ethernet-HOWTO,

   et :

   le Firewall-HOWTO

   Des informations plus gnrales sur Linux sont disponibles : Linux
   HOWTO

2. Les protocoles de paquets par radio et Linux

   Le protocole _AX.25_ fonctionne aussi bien en mode connect que
   non-connect et s'emploie tel quel pour des liaisons point--point ou
   pour encapsuler d'autres protocoles tels qu'IP ou NetRom.

   Sa structure se rapproche de celle du niveau 2 d'X25 avec des
   extensions qui l'adaptent  l'environnement radioamateur.

   Le protocole NetRom a pour objectif de fournir un protocole rseau
   complet. Il repose sur AX.25 au niveau liaison de donnes et procure
   une couche rseau drive d'AX.25. Le protocole NetRom autorise le
   routage dynamique et la cration d'alias pour les noeuds.

   Le protocole Rose a t initialement conu et ralis par Tom Moulton
   alias W2VY. Il constitue une mise en oeuvre du protocole par paquets
   X25 et peut inter-oprer avec AX.25 au niveau liaison. Il fournit des
   services de couche rseau. Les adresses Roses comportent 10 digits.
   Les quatre premiers constituent le code d'identification du rseau de
   donnes (DNIC ou Data Network Identification Code) et sont rfrencs
   dans l'Appendice B de la recommandation X121 du CCITT. Des
   informations supplmentaires sur le protocole Rose sont disponibles
   sur le site suivant : Serveur Web RATS.

   Alan Cox a cr les toutes premires versions de support noyau pour
   AX.25. Jonathon Naylor <g4klx@g4klx.demon.co.uk> a poursuivi le
   dveloppement, ajout la gestion de NetRom et de Rose et assure 
   prsent officiellement la maintenance du code noyau relatif  AX.25.
   La prise en compte de DAMA est l'oeuvre de Joerg, DL1BKE,
   jreuter@poboxes.com. Thomas Sailer, <sailer@ife.ee.ethz.ch> s'est
   charg des matriels Baycom et SoundModem. J'assure pour ma part le
   suivi des utilitaires AX.25.

   Linux gre les TNC (Terminal Node Controllers) KISS, les cartes Ottawa
   PI, les PacketTwin Gracilis et autres cartes  base de SCC Z8530 via
   le pilote SCC gnrique ainsi que les modems sur ports srie et
   parallle de Baycom. Le nouveau pilote pour modems  base de carte son
   de Thomas accepte les Soundblaster et les cartes  base de composants
   Crystal.

   Le paquetage de programmes applicatifs comprend une messagerie
   individuelle (PMS ou Personal Message System), une balise, un
   programme de connexion en mode texte, un exemple de rcupration des
   trames AX.25 au niveau de l'interface et des utilitaires de
   configuration du protocole NetRom. Il comprend galement un serveur de
   type AX.25 qui gre les demandes de connexions AX.25 et un dmon qui
   se charge de l'essentiel du travail pour le protocole NetRom.

2.1 Fonctionnement

   La mise en oeuvre d'AX.25 sous Linux lui est propre de A  Z. Bien
   qu'elle puisse ressembler  NOS,  BPQ ou  d'autres versions d'AX.25
   sur certains points, elle ne se confond avec aucune d'entre elles. La
   version Linux peut tre configure pour se comporter de faon voisine
   aux autres mais le processus n'en reste pas moins radicalement
   diffrent.

   Pour vous aider  comprendre la dmarche intellectuelle  suivre lors
   de la configuration, cette section dcrit les fonctionnalits
   structurelles d'AX.25 et son adaptation au contexte Linux.

   _Diagramme simplifi des couches protocolaires _

+----------+-----------+-------------+---------+
| AF_AX.25 | AF_NETROM |   AF_INET   | AF_ROSE |
+==========+===========+=============+=========+
|          |           |             |         |
|          |           |    TCP/IP   |         |
|          |           +--------+    |         |
|          |  NetRom            |    | Rose    |
|          +--------------------+----+---------+
|            AX.25                             |
+----------------------------------------------+

   Le diagramme prcdent illustre simplement le fait que Rose, NetRom,
   AX.25 et TCP/IP reposent tous sur AX.25 mais que chacun est trait
   comme un protocole diffrent au niveau de l'interface de
   programmation. Les noms `AF_' correspondent aux noms donns aux
   `_Familles d'Adresses_' de chacun du point de vue du programmeur. On
   notera ici l'obligation de configurer la pile AX.25 avant toute
   configuration des protocoles NetRom, Rose ou TCP/IP.

   _Diagramme des modules logiciels de la pile rseau de Linux _
---------------+-----------+-----------------------++----------+---------------
  Utilisateur  |Programmes |   call        node    ||  Dmons  | ax25d  mheardd
               |           |   pms         mheard  ||          | inetd  netromd
---------------+-----------+-----------------------++----------+---------------
               |Sockets    | open(), close(), listen(), read(), write(), connec
t()
               |           +----------------------+-------------------+--------
--
               |           |    AF_AX.25   |  AF_NETROM |   AF_ROSE   |  AF_INE
T
               +-----------+--------------+-------+-----+-------------+--------
--
Noyau          |Protocoles |    AX.25     |   NetRom    |     Rose    | IP/TCP/
UDP
               +-----------+--------------+-------------+-------------+--------
--
               |Priph.    |    ax0,ax1   |  nr0,nr1    | rose0,rose1 | eth0,pp
p0
               +-----------+--------------+-------------+-------------+--------
--
               |Pilotes    |  Kiss   PI2   PacketTwin   SCC   BPQ     | slip pp
p
               |           |    modems type son   Baycom              | etherne
t
---------------+-----------+------------------------------------------+-----
Matriel | Cartes PI2, PacketTwin, SCC, Srie, Ethernet
----------------------------------------------------------------------------

   Ce diagramme est plus gnral que le prcdent. Il montre les
   relations entre les applications, le noyau et le matriel ainsi
   qu'entre l'interface de programmation des sockets, les modules de
   protocoles, les priphriques rseau et leurs pilotes. Chaque niveau
   dpend de celui sur lequel il repose et, de faon gnrale, la
   configuration doit se faire de bas en haut. Par exemple, si vous
   souhaitez excuter le programme _call_, vous devez configurer le
   matriel, vrifier que le pilote adquat est inclus dans le noyau,
   crer les priphriques noyaux correspondants et inclure le protocole
   requis par le programme _call_. J'ai essay d'organiser le prsent
   document de cette faon.

3. Composants logiciels de la suite AX.25/NetRom/Rose

   Le paquetage AX.25 comprend trois volets : les sources du noyau, les
   outils de configuration rseau et les applications utilisateur.

   Les version 2.0.xx des noyaux Linux incluent les gestionnaires AX.25,
   NetRom, SCC Z8530, PacketTwin et ceux des cartes PI. Les noyaux 2.1.*
   les amliorent substantiellement. L'emploi d'un noyau 2.1.* dans un
   systme de production est vivement dconseill. Pour y remdier,
   Jonathon Naylor propose un ensemble de patches pour mettre  niveau la
   gestion du protocole radio amateur dans un noyau 2.0.28. L'application
   des patches est trs simple et apporte une palette de fonctionnalits
   autrement absentes du noyau tel le support Rose. L'emploi d'un noyau
   2.2.x est galement envisageable.

3.1 Rcupration du noyau, des outils et utilitaires

  Sources du noyau

   Les sources du noyau sont disponibles via le rseau de miroirs de
   ftp.kernel.org : _ftp.xx.kernel.org_ o xx dsigne un code pays tel
   fr, uk, de, us, etc... Les diffrentes version du noyau se trouvent
   en :

/pub/linux/kernel/

   Version courante de mise  jour d'AX.25 : _ftp.pspt.fi_

/pub/linux/ham/ax25/ax25-module-14e.tar.gz

  Les outils rseau

   Dernire version alpha des outils rseau standard pour Linux grant
   AX.25 et NetRom : _ftp.inka.de_

/pub/comp/Linux/networking/net-tools/net-tools-1.33.tar.gz

   Paquetage ipfwadm : _ftp.xos.nl_

/pub/linux/ipfwadm/

   En 2.2.x, le paquetage _ipchains_ remplace ipfwadm devenu obsolte.

  Les utilitaires AX.25

   Il existe deux familles distinctes d'outils AX.25. L'une ddie aux
   noyaux 2.0.* et l'autre destine aussi bien aux version 2.1.* qu'aux
   noyaux 2.0.* patchs. Le numro de version de ax25-utils indique la
   version du noyau la plus ancienne  partir de laquelle les outils
   fonctionneront. A vous de choisir une version des ax25-utils
   approprie. Les combinaisons suivantes fonctionnent, _utilisez les _.

Noyau Linux              Utilitaires AX.25
----------------------   -------------------------
linux-2.0.29             ax25-utils-2.0.12c.tar.gz **
linux-2.0.28+module12    ax25-utils-2.1.22b.tar.gz **
linux-2.0.30+module14c   ax25-utils-2.1.42a.tar.gz
linux-2.0.31+module14d   ax25-utils-2.1.42a.tar.gz
linux-2.1.22 ++          ax25-utils-2.1.22b.tar.gz
linux-2.1.42 ++          ax25-utils-2.1.42a.tar.gz

   _Note_: les versions ax25-utils-2.0.* identifies ci-dessus avec le
   symbole '**' sont  prsent obsoltes. Le document couvre l'emploi des
   logiciels conseills dans les tables. Bien que les paquetages
   diffrent, la plus grande partie des informations reste valable pour
   les versions suivantes.

   Utilitaires AX.25 : ftp.pspt.fi ou : sunsite.unc.edu

4. Installation des logiciels AX.25/NetRom/Rose

   Une mise en oeuvre correcte d'AX.25 dans votre systme Linux ncessite
   l'installation et la configuration d'un noyau appropri ainsi que des
   utilitaires AX.25.

4.1 Compilation du noyau

   Si vous tes un habitu de la compilation du noyau Linux,
   contentez-vous de vrifier que vous avez activ les options adquates
   et sautez cette section. Si ce n'est pas le cas, lisez ce qui suit.

   En principe, les sources du noyau sont dcompactes au niveau du
   rpertoire /usr/src dans un sous-rpertoire nomm linux. Pour ce
   faire, prenez l'identit du super-utilisateur root et excutez les
   commandes ci-dessous :

# mv linux linux.old
# cd /usr/src
# tar xvfz linux-2.0.31.tar.gz
# tar xvfz /pub/net/ax25/ax25-module-14e.tar.gz
# patch -p0 </usr/src/ax25-module-14/ax25-2.0.31-2.1.47-2.diff
# cd linux

   Une fois les sources du noyau dcompactes et la mise  jour
   applique, lancez le script de configuration et activez les options
   qui correspondent  la configuration matrielle dont vous souhaitez
   disposer. Vous utiliserez la commande :

# make menuconfig

   Si vous tes bte^H^H^H^Hcourageux, vous pouvez essayer

# make config

   Les claviophobes se serviront de :

# make xconfig

   Je vais dcrire la mthode plein-cran (menuconfig) dont j'apprcie la
   facilit de dplacement mais vous tes libre d'en utiliser une autre.

   Dans tous les cas, vous devrez choisir parmi une srie d'options
   auxquelles il faudra rpondre par `Y' ou `N' (voire `M' si vous avez
   recours aux modules, ce sur quoi je fais l'impasse pour simplifier).

   Options importantes pour la configuration d'AX.25 :

Code maturity level options  --->
    ...
    [*] Prompt for development and/or incomplete code/drivers
    ...
General setup  --->
    ...
    [*] Networking support
    ...
Networking options  --->
    ...
    [*] TCP/IP networking
    [?] IP: forwarding/gatewaying
    ...
    [?] IP: tunneling
    ...
    [?] IP: Allow large windows (not recommended if <16Mb of memory)
    ...
    [*] Amateur Radio AX.25 Level 2
    [?] Amateur Radio NET/ROM
    [?] Amateur Radio X.25 PLP (Rose)
    ...
Network device support  --->
    [*] Network device support
    ...
    [*] Radio network interfaces
    [?] BAYCOM ser12 and par96 driver for AX.25
    [?] Soundcard modem driver for AX.25
    [?] Soundmodem support for Soundblaster and compatible cards
    [?] Soundmodem support for WSS and Crystal cards
    [?] Soundmodem support for 1200 baud AFSK modulation
    [?] Soundmodem support for 4800 baud HAPN-1 modulation
    [?] Soundmodem support for 9600 baud FSK G3RUH modulation
    [?] Serial port KISS driver for AX.25
    [?] BPQ Ethernet driver for AX.25
    [?] Gracilis PackeTwin support for AX.25
    [?] Ottawa PI and PI/2 support for AX.25
    [?] Z8530 SCC KISS emulation driver for AX.25
    ...

   Vous _devez_ rpondre `Y' aux options marques d'un *'. Le reste
   dpend de votre configuration matrielle et d'options laisses  votre
   choix. Certaines de ces options sont dcrites un peu plus loin. Si
   vous ne voyez pas ce dont il retourne, continuez la lecture et revenez
    cette section ultrieurement.

   Une fois la configuration du noyau acheve, vous devriez pouvoir
   compiler proprement un nouveau noyau :

# make dep
# make clean
# make zImage

   Dplacez ensuite le fichier arch/i386/boot/zImage et ditez le fichier
   /etc/lilo.conf en consquence avant de relancer _lilo_ pour tre sr
   que vous dmarrerez bien sur le bon noyau.

  Un mot sur les modules

   Je vous recommande de ne _pas_ compiler quelque pilote que ce soit en
   tant que module. Dans presque toutes les installations, vous n'y
   gagnez rien sinon une complexit accrue. De nombreuses personnes ont
   des problmes avec les modules, non par la faute du code, mais parce
   que les modules sont plus compliqus  installer et  configurer.
   [NdT:manifestement nous ne faisons pas le mme arbitrage
   complexit/souplesse]

   Si vous avez choisi de compiler certains composants en tant que
   modules, vous devrez galement utiliser :

# make modules
# make modules_install

   afin d'installer vos modules  l'emplacement adquat.

   Certains ajouts au fichier /etc/conf.modules sont ncessaires afin que
   _kerneld_ sache grer l'interface d'accs aux fonctions modularises.
   Les entres suivantes doivent tre prsentes :

alias net-pf-3     ax25
alias net-pf-6     netrom
alias net-pf-11    rose
alias tty-ldisc-1  slip
alias tty-ldisc-3  ppp
alias tty-ldisc-5  mkiss
alias bc0          baycom
alias nr0          netrom
alias pi0a         pi2
alias pt0a         pt
alias scc0         optoscc    (or one of the other scc drivers)
alias sm0          soundmodem
alias tunl0        newtunnel
alias char-major-4 serial
alias char-major-5 serial
alias char-major-6 lp

# modprobe -c

   vous renverra la configuration courante.

  Qu'y a-t-il de nouveau dans les noyaux 2.0.x patchs et les 2.1.y ?

   Les noyaux 2.1.* prsentent des amliorations au niveau de quasiment
   tous les pilotes et protocoles. Citons les plus significatives :

   _Modularisation_
          tous les protocoles et gestionnaires ont t modulariss de
          faon  tre grs via _insmod_ et _rmmod_. La mmoire demande
          par le noyau diminue dans le cas de modules employs par
          intermittence. Le dveloppement et la mise au point des
          gestionnaires devient galement plus facile. Cela tant, la
          configuration devient lgrement plus complique.

   _Uniformisation des pilotes_
          l'accs aux priphriques tels les Baycom, SCC, PI, PacketTwin
          et autres a maintenant lieu via une interface rseau usuelle
          semblable  celle du gestionnaire ethernet. Ils n'apparaissent
          dsormais plus comme des TNC KISS. L'utilitaire _net2kiss_
          permet de crer une interface KISS pour ces priphriques si on
          le souhaite.

   _bugs_
          il y a eu de nombreuses corrections et des fonctionnalits ont
          t ajoutes tel le protocole Rose.

4.2 Les outils de configuration du rseau

   A prsent que le noyau est compil, vous devez faire de mme avec les
   nouveaux outils de configuration du rseau. Ces outils permettent de
   modifier la configuration des priphriques rseau et des tables de
   routage.

   Le nouveau paquetage alpha des net-tools standard gre AX.25 et
   NetRom. Je l'ai essay et il semble fonctionner correctement chez moi.

  Patch correctif incluant la gestion Rose

   Le paquetage standard net-tools-1.33.tar.gz comporte certains bugs qui
   affectent AX.25 et NetRom. J'ai produit un correctif qui supporte
   aussi Rose.

   Le patch est disponible  l'adresse suivante : zone.pspt.fi.

  Compilation des net-tools standard

   Lisez le fichier Release et suivez les indications qui y sont donnes.
   Je suis pass par les tapes ci-dessous :

# cd /usr/src
# tar xvfz net-tools-1.33.tar.gz
# zcat net-tools-1.33.rose.tjd.diff.gz | patch -p0
# cd net-tools-1.33
# make config

   Arrivs  ce point, vous devrez rpondre  une srie de questions de
   configuration d'une faon similaire  ce qui se fait pour le noyau.
   N'oubliez pas d'inclure tous les protocoles et gestionnaires de
   priphriques dont vous souhaitez vous servir ultrieurement. Dans le
   doute, rpondez par l'affirmative (``Y'').

   Une fois la compilation effectue :

# make install

   installera les programmes  leur place dfinitive.

   Pour disposer des fonctionnalits de type pare-feu IP (firewall), vous
   aurez besoin des derniers outils d'administration ipfwadm. Ils
   remplacent ipfw qui ne fonctionne  prsent plus.

   Pour la compilation d'ipfwadm :

# cd /usr/src
# tar xvfz ipfwadm-2.0beta2.tar.gz
# cd ipfwadm-2.0beta2
# make install
# cp ipfwadm.8 /usr/man/man8
# cp ipfw.4 /usr/man/man4

4.3 Utilitaires et applications AX.25

   Une fois les tapes de compilation et de redmarrage du noyau menes 
   leur terme avec succs, il vous reste  compiler les applications
   AX.25. Les commandes devraient ressembler  ce qui suit :

# cd /usr/src
# tax xvfz ax25-utils-2.1.42a.tar.gz
# cd ax25-utils-2.1.42a
# make config
# make
# make install

   Les fichiers sont installs par dfaut dans les sous-rpertoires bin,
   sbin, etc et man du rpertoire /usr.

   S'il s'agit de la premire installation des utilitaires AX.25 sur
   votre systme, vous devrez installer quelques fichiers de
   configuration type dans le rpertoire /etc/ax25/ via :

# make installconf

   En cas de messages du type :
gcc -Wall -Wstrict-prototypes -O2 -I../lib -c call.c
call.c: In function `statline':
call.c:268: warning: implicit declaration of function `attron'
call.c:268: `A_REVERSE' undeclared (first use this function)
call.c:268: (Each undeclared identifier is reported only once
call.c:268: for each function it appears in.)

   vrifiez encore une fois que les _ncurses_ sont correctement
   installes. Le script de configuration tente de localiser les ncurses
    certains emplacements usuels mais sur des installations faisant
   n'importe quoi avec les ncurses, le script choue  cette tape.

5. Numros d'identification, adresses et prliminaires divers

   Chaque port AX.25 et NetRom sur votre systme doit se voir allouer un
   numro d'identification (callsign/ssid). Il se configure dans les
   fichiers dont il va tre  prsent question.

   Certaines mises en oeuvre d'AX.25 telles NOS et BPQ permettent
   l'emploi d'un ssid commun sur un mme port AX.25 et NetRom. Pour des
   raisons techniques assez compliques, Linux l'interdit. En pratique,
   a ne s'avre pas un problme aussi important qu'on pourrait le
   croire.

   Cela signifie que vous devez garder prsents  l'esprit certains
   lments lorsque vous configurez votre systme.

    1. Chaque port AX.25 et NetRom doit disposer d'un ssid unique.
    2. TCP/IP utilise le ssid du port AX.25 par lequel il met ou reoit
       (celui dont il est question juste au-dessus).
    3. NetRom emploie le ssid spcifi dans son fichier de configuration
       mais seulement lorsqu'il dialogue avec un autre NetRom. Il ne
       s'agit _pas_ du ssid que les clients AX.25 de votre noeud NetRom
       vont employer. Davantage de dtails sur ce point tout  l'heure.
    4. Rose utilise par dfaut le ssid du port AX.25  moins qu'on ne lui
       en spcifie explicitement un autre grce  la commande `_rsparms_'
       qui forcera le mme ssid sur _tous_ les ports.
    5. Les autres programmes tels `_ax25d_' coutent via un ssid
       quelconque qui n'est soumis  aucune contrainte d'unicit entre
       ports diffrents.
    6. Si le routage est fait avec attention, vous pouvez affecter la
       mme adresse IP  tous les ports.

5.1 Que sont les T1, T2, N2 ?

   Toutes les piles AX.25 ne sont pas de type TNC2. La nomenclature Linux
   diffre sur certains points de celle du monde des TNC. Le tableau
   ci-dessous vous aidera  tablir les correspondances entre les
   diffrents concepts.

-------+----------+------------------------------------------------
Linux  | TAPR TNC | Description
-------+----------+------------------------------------------------
T1     | FRACK    | Temps d'attente avant retransmission d'une
       |          | trame prive d'accus de rception.
-------+----------+------------------------------------------------
T2     | RESPTIME | Temps minimum d'attente entre trames avant
       |          | mission d'un acquittement.
-------+----------+------------------------------------------------
T3     | CHECK    | Priodicit d'mission d'un paquet de
       |          | vrification de l'tat de la connexion.
-------+----------+------------------------------------------------
N2     | RETRY    | Nombre de tentatives de retransmission avant
       |          | de signaler un chec.
-------+----------+------------------------------------------------
Idle   |          | Dure d'inactivit d'une connexion avant sa
       |          | fermeture.
-------+----------+------------------------------------------------
Window | MAXFRAME | Nombre maximal de trames transmises sans
       |          | acquittement.
-------+----------+------------------------------------------------

5.2 Paramtres configurables dynamiquement

   Les noyaux 2.1.* et 2.0.* +moduleXX permettent la modification  la
   vole de paramtres auparavant statiques. Un examen attentif de la
   structure du rpertoire /proc/sys/net/ rvle de nombreux fichiers
   dont les noms correspondent  ceux de paramtres rseau. Les fichiers
   dans le rpertoire /proc/sys/net/ax25/ reprsentent chacun un port
   AX.25 configur. Le nom du fichier reflte celui du port. La structure
   des fichiers dans /proc/sys/net/ax25/<portname>/ est la suivante :
Fichier               Signification         Valeur                   Dfaut
ip_default_mode       Mode IP par dfaut    0=DG 1=VC                0
ax25_default_mode     Mode AX.25 par dfaut 0=normal 1=tendu        0
backoff_type          Backoff               0=Linaire 1=exponentiel 1
connect_mode          Mode connect         0=non 1=oui              1
standard_window_size  Fentre standard      1  <= N <= 7             2
extended_window_size  Fentre tendue       1  <= N <= 63            32
t1_timeout            Dlai maximal T1      1s <= N <= 30s           10s
t2_timeout            Dlai maximal T2      1s <= N <= 20s           3s
t3_timeout            Dlai maximal T3      0s <= N <= 3600s         300s
idle_timeout          Attente d'inactivit  0m <= N                  20m
maximum_retry_count   N2                    1  <= N <= 31            10
maximum_packet_length Trame AX.25           1  <= N <= 512           256

   T1, T2, T3 sont donns en secondes tandis que la dure d'inactivit
   est en minutes. Notez que les valeurs employes dans l'interface
   sysctl s'expriment dans une unit interne multiple par 10 du temps en
   secondes. La rsolution atteint donc le dixime de seconde. Dans le
   cas d'une alarme qui peut tre nulle, c'est  dire pour T3 et pour la
   dure d'inactivit, une valeur nulle quivaut  une dsactivation.

   La structure des fichiers dans /proc/sys/net/netrom/ est la suivante :
Fichier                                    Valeur par dfaut
default_path_quality                       10
link_fails_count                           2
network_ttl_initialiser                    16
obsolescence_count_initialiser             6
routing_control                            1
transport_acknowledge_delay                50
transport_busy_delay                       1800
transport_maximum_tries                    3
transport_requested_window_size            4
transport_timeout                          1200

   La structure des fichiers dans /proc/sys/net/rose/ est la suivante :
Fichier                                    Valeur par dfaut
acknowledge_hold_back_timeout              50
call_request_timeout                       2000
clear_request_timeout                      1800
link_fail_timeout                          1200
maximum_virtual_circuits                   50
reset_request_timeout                      1800
restart_request_timeout                    1800
routing_control                            1
window_size                                3

   Le positionnement d'un paramtre se fait simplement en l'crivant dans
   le fichier. Par exemple, pour vrifier puis modifier la taille de
   fentre Rose, vous pourriez excuter :

# cat /proc/sys/net/rose/window_size
3
# echo 4 >/proc/sys/net/rose/window_size
# cat /proc/sys/net/rose/window_size
4

6. Configuration d'un port AX.25

   Chaque application AX.25 ncessite un fichier de configuration
   spcifique pour obtenir les paramtres des ports AX.25 dfinis sur
   votre systme. Pour les ports AX.25, il s'agit du fichier
   /etc/ax25/axport. Chaque port dont vous souhaitez vous servir doit
   tre rpertori dans ce fichier.

6.1 Cration des priphriques AX.25

   Le priphrique rseau correspond  ce qui apparat lorsque vous
   entrez la commande `_ifconfig_'. Il s'agit de l'abstraction logicielle
   par le biais de laquelle le noyau Linux met et reoit des donnes
   rseau. Presque tous les priphriques rseau sont associs  une
   entit matrielle mais il y a certaines exceptions. Le priphrique
   rseau se rattache directement  un gestionnaire de priphrique.

   Le code AX.25 de Linux inclut un grand nombre de gestionnaires de
   priphriques. Le pilote KISS est srement le plus courant mais on
   peut galement citer les pilotes SCC, Baycom et modem-son.

   Chacun de ces pilotes cre un priphrique lors de son invocation.

  Cration des priphriques KISS

   _Options de configuration du noyau_ :

General setup  --->
    [*] Networking support
Network device support  --->
    [*] Network device support
    ...
    [*] Radio network interfaces
    [*] Serial port KISS driver for AX.25

   Le TNC KISS sur un port srie constitue srement la configuration la
   plus courante.  vous de prconfigurer et de connecter le TNC  un
   port srie. Un programme de communication tel _minicom_ ou _seyon_
   vous permettra de configurer le TNC en kiss.

   Servez-vous du programme _kissattach_ pour crer les priphriques
   KISS. Par exemple :

# /usr/sbin/kissattach /dev/ttyS0 radio
# kissparms -p radio -t 100 -s 100 -r 25

   Les priphriques KISS se retrouvent sous la dnomination `ax[0-9]'.
   Au premier appel de _kissattach_, `ax0' est cr ; au second, `ax1',
   etc ... Chaque priphrique KISS est associ  un port srie.

   _kissparms_ permet de positionner divers paramtres sur un
   priphrique KISS.

   De faon prcise, l'exemple prcdent crerait un priphrique KISS
   reposant sur le priphrique srie `/dev/ttyS0' et le port `radio' du
   fichier /etc/ax25/axports. Il positionne ensuite _txdelay_ et
   _slottime_  100 ms et _ppersist_  25.

   Reportez vous aux pages de _man_ pour davantage d'informations.

  Configuration des TNC Dual Port

   L'utilitaire _mkiss_ inclus dans le paquetage ax25-utils permet
   l'emploi des modems d'un TNC  doubles ports. La configuration est
   simple. Elle consiste  prendre le contrle du priphrique srie
   connect au TNC multiports et  le faire ressembler  une collection
   de priphriques chacun connect  un TNC monoport. Vous devrez le
   faire _avant_ toute autre configuration AX.25. Les priphriques que
   vous configurerez correspondent  des pseudo-TTY (/dev/ttyq*) et non
   aux ports srie. Les pseudo-TTY mettent en place un quivalent de
   tuyau via lequel des programmes prvus pour dialoguer avec des
   priphriques de type tty peuvent communiquer. Chaque tuyau possde
   une extrmit matre (`/dev/ptyq*') et une esclave (`/dev/ttyq*'). Les
   extrmits sont en relation telles que si /dev/ptyq0 est l'extrmit
   matre d'un tuyau, alors /dev/ttyq0 est son extrmit esclave. Le ct
   matre doit tre ouvert avant le ct esclave. _mkiss_ divise un
   priphrique srie grce  ce mcanisme.

   Par exemple, pour un TNC double-port connect au port srie /dev/ttyS0
   en 9600 bps, les commandes suivantes creront deux pseudo-tty qui se
   comporteront comme des ports sries munis de TNC usuels :

# /usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyq0 /dev/ptyq1
# /usr/sbin/kissattach /dev/ttyq0 port1
# /usr/sbin/kissattach /dev/ttyq1 port2

   /dev/ttyq0 et /dev/ttyq1 se manipulent ensuite avec _kissattach_ comme
   dcrit prcdemment dans l'exemple relatif  port1 et port2.
   N'utilisez pas directement _kissattach_ sur le port srie car _mkiss_
   y accde.

   _mkiss_ accepte de nombreux arguments optionnels. En voici un rsum :

   _-c_
          provoque l'ajout d'un octet de contrle  chaque trame KISS. La
          plupart des mises en oeuvre de KISS ne le grent pas. La rom
          KISS G8BPG en est capable.

   _-s <speed>_
          fixe le dbit du port srie.

   _-h_
          active la ngociation matrielle sur le port srie (inactive
          par dfaut). La plupart des mises en oeuvre KISS ne la grent
          pas.

   _-l_
          dclenche l'mission de messages  destination de _syslog_.

  Cration d'un priphrique Baycom

   _Options de compilation du noyau_ :

Code maturity level options  --->
    [*] Prompt for development and/or incomplete code/drivers
General setup  --->
    [*] Networking support
Network device support  --->
    [*] Network device support
    ...
    [*] Radio network interfaces
    [*] BAYCOM ser12 and par96 driver for AX.25

   Malgr l'opinion suivant laquelle les modems Baycom ne
   fonctionneraient pas trs bien sous Linux, Thomas
   Sailer(<sailer@ife.ee.ethz.ch>) en a dvelopp le gestionnaire. Son
   pilote gre les ports srie Ser12 et Par96 ainsi que les modems
   parallles PicPar. Vous trouverez davantage d'informations concernant
   les modems  l'adresse : Baycom Web site.

   La premire tape consiste  dterminer les ports d'entre/sortie et
   les adresses des ports srie ou parallle auxquels se connecte(nt)
   le(s) modem(s).

   Les priphriques BayCom se retrouvent sous la dnomination bc0, bc1,
   bc2 etc...

   L'utilitaire _sethdlc_ permet de configurer le pilote avec les
   paramtres prcdents. Si votre systme n'est muni que d'un seul
   modem, vous pouvez galement les passer en argument lors du chargement
   du module avec _insmod_.

   Un exemple. Dsactivation du gestionnaire du port srie COM1: puis
   configuration du pilote BayCom pour un modem srie Ser12 sur ce mme
   port avec activation de l'option logicielle DCD :

# setserial /dev/ttyS0 uart none
# insmod hdlcdrv
# insmod baycom mode="ser12*" iobase=0x3f8 irq=4

   Un modem parallle de type Par96 sur le port LPT1: utilisant la
   dtection DCD matrielle :

# insmod hdlcdrv
# insmod baycom mode="par96" iobase=0x378 irq=7 options=0

   Ce n'est pas la meilleure faon de faire. L'utilitaire _sethdlc_
   fonctionne galement avec plusieurs priphriques.

   La page de _man_ d'_sethdlc_ est trs dtaille mais quelques exemples
   mettront en lumire les aspects les plus importants de la
   configuration. On suppose que le module BayCom a dj t charg
   avec :

# insmod hdlcdrv
# insmod baycom

   Vous pouvez galement avoir incorpor le gestionnaire en dur dans le
   noyau.

   Configuration de bc0 pour un modem parallle BayCom sur LPT1 avec
   dtection DCD logicielle :

# sethdlc -p -i bc0 mode par96 io 0x378 irq 7

   Configuration de bc1 pour un modem srie sur COM1 :

# sethdlc -p -i bc1 mode "ser12*" io 0x3f8 irq 4

  Configuration des paramtres d'accs au canal AX.25

   Ces paramtres quivalent  ppersist, txdelay et slottime pour KISS.
   Ici aussi, vous utiliserez _sethdlc_.

   La page de man relative  _sethdlc_ reste la source d'informations la
   plus complte mais un ou deux autres exemples ne feront pas de mal.

   Configuration de bc0 avec TxDelay gal  200 ms, SlotTime  100 ms,
   PPersist  40, en half duplex :

# sethdlc -i bc0 -a txd 200 slot 100 ppersist 40 half

   Notez que les paramtres de dure sont donns en millisecondes.

  Configuration d'AX.25 avec le pilote BayCom

   Le pilote BayCom cre des priphriques rseau standard dont la
   configuration pour AX.25 est voisine de celle lie  l'emploi des
   cartes PI ou PacketTwin.

   Tout d'abord il faut donner un numro d'identification AX.25 au
   priphrique. _ifconfig_ le fait trs bien :

# /sbin/ifconfig bc0 hw ax25 VK2KTJ-15 up

   La commande prcdente affecte l'identit AX.25 VK2KTJ-15 au
   priphrique bc0. Vous disposez galement de _axparms_ mais vous aurez
   de toute faon besoin d'_ifconfig_ pour activer le priphrique :

# ifconfig bc0 up
# axparms -setcall bc0 vk2ktj-15

   L'tape suivante consiste  ajouter une entre dans le fichier
   /etc/ax25/axports comme vous le feriez pour tout autre priphrique.
   Les donnes du fichier axports tant associes aux priphriques
   rseau par l'intermdiaire du numro d'identification, la ligne que
   vous rajouterez devra comprendre celui de votre BayCom.

   La nouvelle interface AX.25 se comporte  prsent comme les autres.
   Vous pouvez la configurer pour IP, la grer via ax25d et l'utiliser
   pour NetRom ou Rose si bon vous semble.

  Cration d'un priphrique modem-son

   _Options de compilation du noyau_ :

Code maturity level options  --->
    [*] Prompt for development and/or incomplete code/drivers
General setup  --->
    [*] Networking support
Network device support  --->
    [*] Network device support
    ...
    [*] Radio network interfaces
    [*] Soundcard modem driver for AX.25
    [?] Soundmodem support for Soundblaster and compatible cards
    [?] Soundmodem support for WSS and Crystal cards
    [?] Soundmodem support for 1200 baud AFSK modulation
    [?] Soundmodem support for 4800 baud HAPN-1 modulation
    [?] Soundmodem support for 9600 baud FSK G3RUH modulation

   Thomas Sailer a dvelopp un nouveau pilote noyau qui traite une carte
   son comme un modem : connectez votre dispositif radio directement sur
   votre carte son pour mettre des paquets ! Thomas conseille au moins
   un 486DX2  66 MHz pour exploiter le logiciel ; tout le traitement
   numrique est effectu par le microprocesseur.

   Actuellement, le pilote mule les modems AFSK  1200 bps, HAPN  4880
   et FSK  9600 (compatible avec G3RUH). Seules les cartes son
   compatibles SoundBlaster et WindowsSoundSystem sont supportes. Un
   soupon d'lectronique est ncessaire pour aider la carte son 
   alimenter le dispositif radio. Des informations sur ce sujet se
   trouvent sur la page suivante : Thomas's SoundModem PTT circuit web
   page. Les possibilits sont nombreuses : rcupration  la sortie de
   la carte son, traitement sur les ports parallle, srie ou midi. Des
   exemples de schmas illustrent tout ces cas sur le site de Thomas.

   Les priphriques modem-son se retrouvent sous la dnomination sm0,
   sm1, sm2, etc...

   _Remarque_: le pilote SoundModem et le sous-systme de gestion du son
   entrent en comptition sous Linux. Assurez-vous que le son est
   dsactiv avant d'utiliser le pilote SoundModem. Vous pouvez bien sr
   compiler les deux en tant que modules, les insrer et les ter en
   fonction de vos besoins.

  Configuration de la carte son

   Le pilote SoundModem n'initialise pas la carte rseau. Le paquetage
   ax25-utils comprend l'utilitaire `_setcrystal_' pour le faire sur les
   cartes son  base de composants Crystal. Si vous avez un autre modle
   de carte, servez-vous d'un autre logiciel pour l'initialiser. L'emploi
   de setcrystal est fort simple :

setcrystal [-w wssio] [-s sbio] [-f synthio] [-i irq] [-d dma] [-c dma2]

   Par exemple, pour une carte SoundBlaster  l'adresse 0x388 employant
   l'interruption 10 et la canal DMA 1, vous entreriez :

# setcrystal -s 0x388 -i 10 -d 1

   Pour une carte WindowSoundSystem  l'adresse 0x534 employant
   l'interruption 5 et la canal DMA 3 :

# setcrystal -w 0x534 -i 5 -d 3

   Le paramtre [-f synthio] correspond  l'adresse du synthtiseur. Le
   paramtre [-c dma2] dtermine le second canal DMA pour un
   fonctionnement simultan dans les deux sens (full-duplex).

  Configuration des priphriques modem-son

   Une fois la carte son configure, vous devez spcifier au pilote o la
   trouver et quelle type de modem il lui faut muler.

   L'utilitaire _sethdlc_ vous permet de passer ces paramtres. Si vous
   n'avez qu'une seule carte installe, vous pouvez les passer en
   arguments  l'insertion du module SoundModem.

   Par exemple, avec une seule carte de type SoundBlaster configure
   comme ci-dessus, mulant un modem 1200 bps :

# insmod hdlcdrv
# insmod soundmodem mode="sbc:afsk1200" iobase=0x220 irq=5 dma=1

   Ce n'est pas la meilleure faon de faire. L'utilitaire _sethdlc_
   fonctionne galement avec plusieurs priphriques.

   La page de _man_ d'_sethdlc_ est trs dtaille mais quelques exemples
   mettront ici encore en lumire les aspects les plus importants de la
   configuration. On suppose que le module modem-son a dj t charg
   avec :

# insmod hdlcdrv
# insmod soundmodem

   Vous pouvez galement avoir incorpor le gestionnaire en dur dans le
   noyau.

   Configuration du pilote pour muler un modem G3RUH 9600 sur le
   priphrique sm0 avec la carte WindowsSoundSystem prcdente et le
   port parallle en 0x378 pour alimenter l'metteur :

# sethdlc -p -i sm0 mode wss:fsk9600 io 0x534 irq 5 dma 3 pario 0x378

   Configuration du pilote pour muler un modem HAPN 4800 sur le
   priphrique sm1 avec la carte SoundBlaster prcdente et le port
   srie en 0x2f8 pour alimenter l'metteur :

# sethdlc -p -i sm1 mode sbc:hapn4800 io 0x388 irq 10 dma 1 serio 0x2f8

   Configuration du pilote pour muler un modem AFS 1200 sur le
   priphrique sm1 avec la carte SoundBlaster prcdente et le port
   srie en 0x2f8 pour alimenter l'metteur :

# sethdlc -p -i sm1 mode sbc:afsk1200 io 0x388 irq 10 dma 1 serio 0x2f8

  Configuration des paramtres d'accs au canal AX.25

   Ces paramtres quivalent  ppersist, txdelay et slottime pour KISS.
   Ici aussi, vous utiliserez _sethdlc_.

   La page de man relative  _sethdlc_ reste la source d'informations la
   plus complte mais un ou deux autres exemples ne feront toujours pas
   de mal.

   Configuration de sm0 avec TxDelay gal  100 ms, SlotTime  50 ms,
   PPersist  128 en full duplex :

# sethdlc -i sm0 -a txd 100 slot 50 ppersist 128 full

   Notez que les paramtres de dure sont donns en millisecondes.

  Choix du volume et ajustement du pilote

   Il est _trs_ important que les niveaux audio soient correctement
   ajusts pour qu'un modem-radio fonctionne correctement. Les modem-son
   n'chappent pas  la rgle. Thomas a mis au point des utilitaires pour
   faciliter cette tche : _smdiag_ et _smmixer_.

   _smdiag_
          fournit deux type d'affichage : soit un cran de type
          oscilloscope, soit un visuel normal.

   _smmixer_
          permet l'ajustement des niveaux audio de transmission et de
          rception.

   _smdiag_ en mode 'visuel' avec un priphrique SoundModem en sm0 :

# smdiag -i sm0 -e

   _smmixer_ avec un priphrique SoundModem en sm0 :

# smmixer -i sm0

  Configuration d'AX.25 avec le pilote SoundModem

   Le pilote soundmodem cre des priphriques rseau standard dont la
   configuration pour AX.25 est voisine de celle lie  l'emploi des
   cartes PI ou PacketTwin.

   Tout d'abord il faut donner un numro d'identification AX.25 au
   priphrique. _ifconfig_ le fait trs bien :

# /sbin/ifconfig sm0 hw ax25 VK2KTJ-15 up

   La commande prcdente affecte l'identit AX.25 VK2KTJ-15 au
   priphrique sm0. Vous disposez galement de _axparms_ mais vous aurez
   de toute faon besoin d'_ifconfig_ pour activer le priphrique :

# ifconfig sm0 up
# axparms -setcall sm0 vk2ktj-15

   L'tape suivante consiste  ajouter une entre dans le fichier
   /etc/ax25/axports comme vous le feriez pour tout autre priphrique.
   Les donnes du fichier axports tant associes aux priphriques
   rseau par l'intermdiaire du numro d'identification, la ligne que
   vous rajouterez devra comprendre celui de votre modem-son.

   La nouvelle interface AX.25 se comporte  prsent comme les autres.
   Vous pouvez la configurer pour IP, la grer via ax25d et l'utiliser
   pour NetRom ou Rose si bon vous semble.

  Cration d'un priphrique  base de carte PI

   _Options de compilation du noyau_ :

General setup  --->
    [*] Networking support
Network device support  --->
    [*] Network device support
    ...
    [*] Radio network interfaces
    [*] Ottawa PI and PI/2 support for AX.25

   Les priphriques PI se retrouvent sous la dnomination `pi[0-9][ab]'
   o la premire carte dtecte se verra allouer `pi0', la seconde
   `pi1', etc... `a' et `b' se rapportent  la premire et  la seconde
   interface physique des cartes PI. Si vous avez inclus le pilote de
   cartes PI dans votre noyau et que la dtection s'est effectue
   correctement, vous pouvez configurer le priphrique :

# /sbin/ifconfig pi0a hw ax25 VK2KTJ-15 up

   La commande prcdente affecte l'identit AX.25 VK2KTJ-15 au premier
   port de la carte PI et l'active. Pour utiliser le priphrique, il
   vous reste  ajouter au fichier /etc/ax25/axports l'entre
   correspondant  son identit AX.25.

   Le gestionnaire de cartes PI a t crit par : David Perry,
   <dp@hydra.carleton.edu>

  Cration d'un priphrique PacketTwin

   _Options de compilation du noyau_ :

General setup  --->
    [*] Networking support
Network device support  --->
    [*] Network device support
    ...
    [*] Radio network interfaces
    [*] Gracilis PackeTwin support for AX.25

   Les priphriques PacketTwin se retrouvent sous la dnomination
   `pt[0-9][ab]' o la premire carte dtecte se verra allouer `pt0', la
   seconde `pt1', etc. `a' et `b' se rapportent  la premire et  la
   seconde interfaces physiques des cartes PacketTwin. Si vous avez
   inclus le pilote de cartes PI dans votre noyau et que la dtection
   s'est effectue correctement, vous pouvez configurer le priphrique :

# /sbin/ifconfig pt0a hw ax25 VK2KTJ-15 up

   La commande prcdente affecte l'identit AX.25 VK2KTJ-15 au premier
   port de la carte PacketTwin et l'active. Pour utiliser le
   priphrique, il vous reste  ajouter au fichier /etc/ax25/axports
   l'entre correspondant  son identit AX.25.

   Le gestionnaire de cartes PacketTwin a t crit par : Craig Small
   VK2XLZ, <csmall@triode.apana.org.au>.

  Cration d'un priphrique SCC gnrique

   _Options de compilation du noyau_ :

General setup  --->
    [*] Networking support
Network device support  --->
    [*] Network device support
    ...
    [*] Radio network interfaces
    [*] Z8530 SCC KISS emulation driver for AX.25

   Joerg Reuter, DL1BKE, jreuter@poboxes.com a crit le module gnrique
   de gestion des cartes  base de SCC Z8530. Son pilote supporte une
   large gamme de cartes diffrentes et offre une interface similaire 
   un TNC KISS que vous pouvez traiter comme telle.

  Rcupration et compilation des outils de configuration

   Bien que le pilote soit inclus dans les arborescences standard du
   noyau, Joerg accompagne le paquetage de configuration dont vous aurez
   besoin des versions les plus rcentes.

   Vous trouverez le paquetage des outils de configuration  une des
   adresses suivantes : Joerg's web page

   _db0bm.automation.fh-aachen.de_

/incoming/dl1bke/

   _insl1.etec.uni-karlsruhe.de_

/pub/hamradio/linux/z8530/

   _ftp.ucsd.edu_

/hamradio/packet/tcpip/linux
/hamradio/packet/tcpip/incoming/

   Diffrentes versions s'offrent  vous. Choisissez la plus adapte 
   votre noyau :

z8530drv-2.4a.dl1bke.tar.gz   2.0.*
z8530drv-utils-3.0.tar.gz    2.1.6 et au del

   Voici les commandes que j'ai employes lors de la compilation et de
   l'installation du paquetage pour mon noyau 2.0.30 :

# cd /usr/src
# gzip -dc z8530drv-2.4a.dl1bke.tar.gz | tar xvpofz -
# cd z8530drv
# make clean
# make dep
# make module         # Si vous souhaitez modulariser le pilote
# make for_kernel     # Si vous prfrez un pilote inclus dans le noyau
# make install

   Au terme de ces oprations, trois nouveaux excutables devraient
   s'tre installs dans votre rpertoire /sbin : _gencfg_, _sccinit_ et
   _sccstat_. Ces programmes vont vous servir  configurer le pilote pour
   votre carte.

   De nouveaux priphriques apparatront galement dans votre rpertoire
   /dev sous les noms scc0-scc7. Ils joueront plus tard le rle de
   priphriques KISS que vous pourrez employer.

   Si vous lancez 'make for_kernel', vous devrez galement recompiler
   votre noyau. Afin que le pilote z8530 soit inclus, vrifiez que vous
   avez bien rpondu `Y'  : `Z8530 SCC kiss emulation driver for AX.25'
   durant le `make config'.

   Si vous avez choisi 'make module', le module scc.o sera install dans
   le sous-rpertoire adquat de /lib/modules et il ne vous sera pas
   ncessaire de recompiler tout le noyau. N'oubliez pas d'excuter un
   _insmod_ afin de charger le module avant d'essayer de le configurer.

  Configurer le pilote pour sa carte

   La conception du pilote SCC z8530 vise une flexibilit maximale ainsi
   que la gestion du plus grand nombre de cartes possible. Le prix 
   payer se retrouve au niveau de la configuration.

   Le paquetage comprend une documentation plus dtaille et vous aurez
   tout intrt  vous y reporter si vous rencontrez le moindre problme.
   Intressez-vous plus particulirement  doc/scc_eng.doc et 
   doc/scc_ger.doc. J'ai repris les points les plus importants mais de
   nombreux dtails sont passs sous silence.

   Le fichier de configuration principal, lu par le programme _sccinit_,
   se trouve en /etc/z8530drv.conf. Il se divise en deux parties :
   configuration des paramtres matriels et configuration du canal. Une
   fois ce fichier au point, vous n'aurez plus qu' ajouter :

# sccinit

   au fichier rc charg de la configuration du rseau et le priphrique
   sera initialis conformment au contenu du fichier de configuration.
   Effectuez ces oprations avant d'utiliser le gestionnaire.

  Configuration des paramtres matriels

   La premire partie se divise en strophes, chacune correspondant  un
   composant 8530. Une strophe comprend une liste de mots clefs et
   d'arguments. Le fichier peut dcrire jusqu' quatre composants SCC par
   dfaut. Si vous avez besoin d'aller au-del, modifiez la ligne #define
   MAXSCC 4 dans le fichier scc.c.

   Liste des mots-clefs et des arguments :

   _chip_
          le terme chip sert  sparer les strophes. Il ne ncessite pas
          d'arguments et ceux-ci sont de toute faon ignors.

   _data_a_
          adresse du port de donnes pour le canal `A' du z8530. Un
          nombre hexadcimal est attendu en argument (par exemple 0x300).

   _ctrl_a_
          adresse du port de contrle pour le canal `A' du z8530. Un
          nombre hexadcimal est attendu en argument (par exemple 0x304).

   _data_b_
          adresse du port de donnes pour le canal `B' du z8530. Un
          nombre hexadcimal est attendu en argument (par exemple 0x301).

   _ctrl_b_
          adresse du port de contrle pour le canal `B' du z8530. Un
          nombre hexadcimal est attendu en argument (par exemple 0x305).

   _irq_
          interruption (IRQ) utilise par le SCC 8530. Un entier, 5 par
          exemple, est attendu.

   _pclock_
          frquence du signal d'horloge sur la broche PCLK du 8530.
          L'argument est donn en Hz par un nombre entier (4915200 par
          dfaut).

   _board_
          modle de la munie du 8530 : <<====== ne manque-t-il pas un mot
          ?

        _PA0HZP_
                carte SCC PA0HZP

        _EAGLE_
                carte Eagle

        _PC100_
                carte SCC PC100 DRSI

        _PRIMUS_
                carte PRIMUS-PC (DG9BL)

        _BAYCOM_
                carte (U)SCC BayCom

   _escc_
          optionnel, active la gestion des cartes SCC tendues (ESCC)
          telles la 8580, la 85180 ou la 85280. L'argument est une chane
          de caractres qui peut prendre les valeurs `yes' ou `no' (`no'
          par dfaut).

   _vector_
          optionnel, donne l'adresse du vecteur d'acquittement pour les
          cartes PA0HZP. Il est commun  l'ensemble des composants et
          prend par dfaut la valeur nulle.

   _special_
          optionnel, donne l'adresse du registre spcial sur diverses
          cartes. Nul par dfaut.

   _option_
          optionnel. Nul par dfaut.

   Quelques exemples de configuration des cartes les plus courantes :

   _BayCom USCC_

chip    1
data_a  0x300
ctrl_a  0x304
data_b  0x301
ctrl_b  0x305
irq     5
board   BAYCOM
#
# SCC chip 2
#
chip    2
data_a  0x302
ctrl_a  0x306
data_b  0x303
ctrl_b  0x307
board   BAYCOM

   _PA0HZP SCC card_

chip 1
data_a 0x153
data_b 0x151
ctrl_a 0x152
ctrl_b 0x150
irq 9
pclock 4915200
board PA0HZP
vector 0x168
escc no
#
#
#
chip 2
data_a 0x157
data_b 0x155
ctrl_a 0x156
ctrl_b 0x154
irq 9
pclock 4915200
board PA0HZP
vector 0x168
escc no

   _DRSI SCC card_

chip 1
data_a 0x303
data_b 0x301
ctrl_a 0x302
ctrl_b 0x300
irq 7
pclock 4915200
board DRSI
escc no

   Si vous disposez dj d'une configuration qui fonctionne avec votre
   carte sous NOS, la commande _gencfg_ permet de convertir les commandes
   du pilote NOS PE1CHL en quelque chose d'utilisable pour le pilote
   z8530.

   _gencfg_ s'invoque simplement avec les mmes paramtres que ceux
   employs pour le pilote PE1CHL avec NET/NOS. Par exemple, pour obtenir
   une bauche de fichier de configuration pour une carte OptopSCC :

# gencfg 2 0x150 4 2 0 1 0x168 9 4915200

  Configuration du canal

   Vous prciserez tous les autres paramtres relatifs au port que vous
   configurez dans la section spcifique au canal. Cette section se
   divise galement en strophes. Une strophe correspond  un port logique
   et il y aura donc deux strophes de canal pour une strophe de
   paramtres matriels puisque chaque SCC 8530 inclut deux ports.

   Les mots-clefs et leurs arguments s'inscrivent galement dans le
   fichier /etc/z8530drv.conf, _ la suite_ de la section des paramtres
   matriels.

   L'ordre est trs important dans cette section mais tout devrait
   marcher mme si vous vous cartez de celui propos.

   _device _
          en premire position, spcifie le nom du priphrique auquel le
          reste de la configuration s'applique (par exemple /dev/scc0)

   _speed _
          dbit de l'interface en bits par seconde. Un nombre entier est
          attendu (par exemple 1200)

   _clock _
          origine de l'horloge de synchronisation des donnes. Les
          valeurs possibles sont :

        _dpll _
                fonctionnement normal monodirectionnel (half-duplex) ;

        _external _
                le modem dispose de sa propre horloge Rx/Tx ;

        _divider _
                utilisation du diviseur bidirectionnel (si disponible).

   _mode _
          type de codage des donnes.  choisir entre nrzi et nrz

   _rxbuffers _
          nombre de tampons de rception  allouer en mmoire. Un nombre
          entier est attendu (8 par exemple)

   _txbuffers _
          nombre de tampons d'mission  allouer en mmoire. Un nombre
          entier est attendu (8 par exemple )

   _bufsize _
          taille des tampons d'mission et de rception. La valeur est
          donne en octets et correspond  la longueur totale d'une
          trame. Elle doit donc prendre en compte aussi bien les donnes
          que l'en-tte. Cet argument est optionnel et prend par dfaut
          la valeur 384

   _txdelay _
          dlai d'attente de la transmission KISS. Un nombre entier de ms
          est attendu

   _persist _
          paramtre persist (KISS). Argument de type entier

   _slot _
          slot time (KISS). Argument de type entier en ms

   _tail _
          the KISS transmit tail value. Argument entier en ms

   _fulldup _
          indicateur de fonctionnement bidirectionnel (KISS),  choisir
          entre 1 pour le bidirectionnel et 0 pour le monodirectionnel

   _wait _
          paramtre d'attente (KISS). Argument de type entier en ms

   _min _
          paramtre min (KISS). Argument de type entier en secondes

   _maxkey _
          temps de keyup (?) maximal (KISS). Argument de type entier en
          secondes

   _idle _
          dlai d'attente sur inactivit (KISS). Argument de type entier
          en secondes

   _maxdef _
          paramtre maxdef (KISS). Argument de type entier

   _group _
          paramtre group (KISS). Argument de type entier

   _txoff _
          valeur de txoff (KISS). Argument de type entier en ms

   _softdcd _
          valeur de softdcd (KISS). Argument de type entier

   _slip _
          indicateur slip (KISS). Argument de type entier

  Utilisation du pilote

   Il suffit d'employer les priphriques /dev/scc* comme on le ferait
   avec n'importe quel tty srie connect  un TNC KISS. Par exemple,
   avec une carte SCC, vous excuteriez quelque chose du style :

# kissattach -s 4800 /dev/scc0 VK2KTJ

   NOS permet galement d'attacher le priphrique de la mme faon. Avec
   JNOS, vous entreriez une commande du style :

attach asy scc0 0 ax25 scc0 256 256 4800

  Les outils _sccstat_ et _sccparam_

   Afin de diagnostiquer les problmes, _sccstat_ affiche la
   configuration courante de n'importe quel priphrique SCC. Essayez :

# sccstat /dev/scc0

   Vous devriez rcuprer une quantit impressionnante d'informations
   touchant  la configuration et  l'tat du port SCC /dev/scc0.

   _sccparam_ sert  modifier la configuration aprs l'initialisation du
   noyau. La syntaxe est similaire  celle de la commande param de NOS.
   Pour positionner txtail  100 ms sur un port :

# sccparam /dev/scc0 txtail 0x8

  Cration d'un priphrique BPQ

   _Options de configuration du noyau_ :


General setup  --->
    [*] Networking support
Network device support  --->

    [*] Network device support
    ...

    [*] Radio network interfaces
    [*] BPQ Ethernet driver for AX.25

   Linux gre le BPQ compatible Ethernet. Vous pouvez ainsi dialoguer en
   AX.25 via un rseau Ethernet local et interconnecter votre poste Linux
   avec d'autres machines BPQ sur rseau local.

   Les priphriques BPQ se retrouvent sous la dnomination `bpq[0-9]'.
   `bpq0' est associ  `eth0', `bpq1'  `eth1' etc.

   La configuration est simple. Mettez d'abord en place un priphrique
   Ethernet standard. Pour cela, vous aurez pris soin d'inclure dans le
   noyau la gestion de votre adaptateur Ethernet. Pour plus de dtails,
   reportez vous  : Ethernet-HOWTO.

   Avant d'activer la gestion BPQ, le priphrique Ethernet doit s'tre
   vu affecter un numro d'identification AX.25. Par exemple :

# /sbin/ifconfig bpq0 hw ax25 vk2ktj-14 up

   Vrifiez bien que l'identifiant correspond  celui qui figure dans le
   fichier /etc/ax25/axports pour ce port.

  Configuration d'un noeud BPQ pour le dialogue avec la couche AX.25 de Linux

   Souvent, l'Ethernet BPQ repose sur des adresses de type multicast. Ce
   n'est pas le cas dans la mise en oeuvre sous Linux qui recourt aux
   adresses gnrales (broadcast) usuelles sur Ethernet. Le fichier
   NET.CFG du gestionnaire ODI BPQ doit donc tre modifi pour ressembler
    ce qui suit :

LINK SUPPORT

        MAX STACKS 1
        MAX BOARDS 1

LINK DRIVER E2000                    ; ou tout autre MLID adapt  votre carte

        INT 10                       ;
        PORT 300                     ; selon votre carte

        FRAME ETHERNET_II

        PROTOCOL BPQ 8FF ETHERNET_II ; requis pour BPQ - peut jouer sur PID

BPQPARAMS                            ; optionnel - requis seulement pour
                                     ; modifier la cible par dfaut

        ETH_ADDR  FF:FF:FF:FF:FF:FF  ; adresse de la cible

6.2 Mise au point du fichier /etc/ax25/axports

   /etc/ax25/axports est un fichier texte standard que vous crerez avec
   n'importe quel diteur. Son format est le suivant :

portname  callsign  baudrate  paclen  window  description

   avec :

   _portname _
          nom affect au port

   _callsign _
          identifiant AX.25

   _baudrate _
          vitesse de communication avec le TNC

   _paclen _
          longueur de paquet maximale applicable au port pour les
          communications AX.25 en mode connect

   _window _
          paramtre de fentre (K) AX.25. Il s'agit de la mme chose que
          le paramtre MAXFRAME de nombreux TNC.

   _description _
          champ de commentaire

   Chez moi, le fichier ressemble  a :

radio    VK2KTJ-15       4800        256     2       4800bps 144.800 MHz
ether    VK2KTJ-14       10000000    256     2       BPQ/ethernet device

   Rappelez-vous que vous devez affecter un numro d'identification
   (ssid) unique  chaque port AX.25 que vous crez. Ajoutez une ligne
   pour chaque priphrique que vous emploierez ; cela concerne les ports
   KISS, BayCom, SCC, PI, PT et modem-son. Les entres dans le fichier
   sont associes aux priphriques rseau par le biais de
   l'identificateur AX.25 : au moins une bonne raison de les prendre
   diffrents.

6.3 Routage AX.25

   Vous pouvez dcider de mettre en place des routes par dfaut
   spcifiques  certains htes, par exemple pour des connexions AX.25
   courantes ou des connexions IP. L'utilitaire _axparms_ effectue cette
   tche. Sa page de _man_ en donne une description exhaustive.  titre
   d'exemple :

# /usr/sbin/axparms -route add radio VK2XLZ VK2SUT

   Cette commande tablit une entre pour VK2XLZ via VK2SUT sur le port
   AX.25 nomm radio.

7. TCP/IP et l'interface AX.25

   Si vous disposez d'interfaces KISS, deux mthodes s'offrent  vous
   pour configurer une adresse IP : soit la commande _kissattach_, soit
   le recours conventionnel  _ifconfig_.

   Modifiant l'exemple KISS prcdent de faon  crer une interface
   AX.25 avec une adresse IP gale  44.136.8.5 et un MTU de 512 octets :

# /usr/sbin/kissattach -i 44.136.8.5 -m 512 /dev/ttyS0 radio
# /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 ax0
# /sbin/route add default ax0

   Au besoin, vous emploierez _ifconfig_ pour configurer les autres
   paramtres.

   Si vous disposez d'autre interfaces, utilisez _ifconfig_ pour
   configurer l'adresse IP et le masque de rseau du port et ajoutez une
   route vers le port comme vous le feriez avec n'importe quelle autre
   interface IP. L'exemple suivant s'appuie sur une carte PI mais
   fonctionnerait de faon similaire avec un priphrique AX.25
   quelconque :

# /sbin/ifconfig pi0a 44.136.8.5 netmask 255.255.255.0 up
# /sbin/ifconfig pi0a broadcast 44.136.8.255 mtu 512
# /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 pi0a
# /sbin/route add default pi0a

   Les commandes prcdentes correspondent  une configuration familire
   aux utilisateurs de NOS et de ses variantes ou de toute autre logiciel
   IP. Notez que la route par dfaut n'est pas ncessaire si un autre
   priphrique rseau la met lui-mme en place.

   Pour tester votre configuration, lancez un ping ou un telnet vers
   votre machine :

# ping -i 5 44.136.8.58

   L'argument `-i 5' force _ping_  envoyer ses requtes ICMP toutes les
   5 secondes et non chaque seconde.

8. Configuration d'un port NetRom

   Le protocole NetRom s'appuye sur les ports AX.25 que vous crerez. Sa
   configuration s'effectue par l'intermdiaire de deux fichiers. L'un
   dcrit les interfaces NetRom et l'autre les ports AX.25 sous-jacents.
   La procdure dtaille ci-dessous s'appliquera  toutes les interfaces
   NetRom que vous souhaiterez dfinir.

8.1 Le fichier /etc/ax25/nrports

   Ce fichier est l'analogue pour les ports NetRom du fichier
   /etc/ax25/axports pour les ports AX.25. Tous les priphriques NetRom
   que vous souhaitez employer doivent figurer dans le fichier
   /etc/ax25/nrports. Le plus souvent, une station Linux ne comprendra
   qu'un seul port NetRom qui utilisera certains des priphriques AX.25.
   Pour certains services tels un BBS, le besoin de dfinir plusieurs
   alias NetRom peut se manifester ; on ajoute alors des priphriques
   NetRom en consquence.

   Le format du fichier est le suivant :

name callsign  alias  paclen   description

   Avec :

   _name _
          nom affect au port.

   _callsign _
          identifiant pour le trafic NetRom transitant par ce port.
          Attention, il ne s'agit _pas_ de l'adresse  laquelle les
          clients doivent se connecter pour disposer d'une interface de
          type _noeud_ (ce mode sera dcrit un peu plus loin).
          L'identifiant doit tre unique et ne rapparatre nulle part
          dans les fichiers /etc/ax25/axports et /etc/ax25/nrports.

   _alias _
          alias NetRom du port.

   _paclen _
          taille maximale des trames NetRom transmises par le port.

   _description _
          commentaire.

   Par exemple, pour crer un port NetRom connu du reste du rseau NetRom
   sous l'identit `LINUX:VK2KTJ-9' :

netrom  VK2KTJ-9        LINUX   236     Linux Switch Port

   Des programmes tels _call_ se servent du fichier nrports.

8.2 Le fichier /etc/ax25/nrbroadcast

   Ce second fichier peut contenir une nombre d'entres variable,
   normalement une pour chaque port AX.25 convoyant du trafic NetRom.

   Le format du fichier est le suivant :

axport min_obs def_qual worst_qual verbose

   Avec :

   _axport _
          nom du port tir du fichier /etc/ax25/axports. En l'absence
          d'entre dans le fichier /etc/ax25/nrbroadcasts pour un port
          AX.25, aucun routage NetRom n'aura lieu via ce port et toute
          diffusion NetRom sera ignore.

   _min_obs _
          paramtre d'obsolescence minimale du port.

   _def_qual _
          qualit par dfaut.

   _worst_qual _
          qualit minimale admissible. Toute route de qualit moindre
          sera ignore.

   _verbose _
          activation de la diffusion des informations de routage globales
          ou seulement relatives au noeud.

   Par exemple :

radio    1       200      100         1

8.3 Cration des priphriques rseau NetRom

   Une fois les deux fichiers mis au point, il faut crer les
   priphriques NetRom. La dmarche est proche du cas AX.25  ceci prs
   que l'on se sert  prsent de la commande _nrattach_. Elle constitue
   un pendant  la commande _axattach_ et cre des priphriques NetRom
   qui se retrouvent sous la dnomination `nr[0-9]' (la premire
   invocation produit `nr0', la seconde `nr1' etc.) Pour associer un
   priphrique NetRom au port dfini prcdemment, on utilise :

# nrattach netrom

   Cette commande active le priphrique NetRom (nr0) nomm netrom
   configur conformment au contenu du fichier /etc/ax25/nrports.

8.4 Lancement du dmon NetRom

   Le noyau Linux gre le protocole NetRom et assure la commutation mais
   il ne prend pas en charge certaines fonctions. Le dmon NetRom
   maintient les tables de routage NetRom et diffuse les messages de
   routage NetRom. Il se lance via :

# /usr/sbin/netromd -i

   Le fichier /proc/net/nr_neigh devrait progressivement se remplir
   d'informations concernant vos voisins NetRom.

   N'oubliez pas d'inclure la commande /usr/sbin/netromd dans vos scripts
   de dmarrage ou d'en crer un ddi  l'automatisation du processus.

8.5 Routage NetRom

   Peut-tre voudrez-vous mettre en place des routes statiques pour
   certains htes particuliers. La commande _nrparms_ dispose d'une telle
   fonction. Reportez-vous  la page de _man_ pour une description
   complte. A titre d'exemple, pour indiquer sur mon port AX.25 `radio'
   une route NetRom vers le #MINTO:VK2XLZ-10 en passant par mon voisin
   VK2SUT-9 :

# /usr/sbin/nrparms -nodes VK2XLZ-10 + #MINTO 120 5 radio VK2SUT-9

   _nrparms_ permet galement de crer manuellement de nouveau voisins.
   La commande suivante cre un voisin NetRom VK2SUT-9 d'une qualit de
   120 qui ne sera pas supprim automatiquement.

# /usr/sbin/nrparms -routes radio VK2SUT-9 + 120

9. TCP/IP sur une interface NetRom

   La configuration ressemble  celle d'AX.25 pour TCP/IP.

   Soit vous prcisez l'adresse IP et le MTU avec _nrattach_, soit vous
   utilisez les commandes _ifconfig_ et _route_. Il vous faudra ajouter 
   la main les caractristiques _arp_ des htes concerns par votre
   routage puisque votre machine ne dispose d'aucun mcanisme pour
   dterminer une adresse NetRom utilisable afin d'atteindre une
   interface IP particulire.

   Pour crer une interface nr0 d'adresse IP 44.136.8.5, de MTU 512 et
   configur conformment aux spcifications du fichier /etc/ax25/nrports
   relatives au port NetRom appel netrom :

# /usr/sbin/nrattach -i 44.136.8.5 -m 512 netrom
# route add 44.136.8.5 nr0

   Autre mthode :

# /usr/sbin/nrattach netrom
# ifconfig nr0 44.136.8.5 netmask 255.255.255.0 hw netrom VK2KTJ-9
# route add 44.136.8.5 nr0

   En ce qui concerne le volet arp et le routage, pour joindre
   l'interface IP 44.136.80.4  l'adresse NetRom BBS:VK3BBS via un voisin
   NetRom d'identifiant VK2SUT-0, on excuterait :

# route add 44.136.80.4 nr0
# arp -t netrom -s 44.136.80.4 vk2sut-0
# nrparms -nodes vk3bbs + BBS 120 6 sl0 vk2sut-0

   Les arguments `120' et `6' passs  la _nrparms_ fixent les paramtres
   de qualit et d'obsolescence NetRom pour la route.

10. Configuration des ports Rose

   Le protocole de transmission de paquets Rose est semblable  la couche
   trois des spcifications X.25. La gestion Rose du noyau est une
   version _modifie_ de FPAC Rose implementation.

   La couche Rose s'appuie sur les ports AX.25 que vous dfinissez. La
   procdure dtaille ci-dessous s'appliquera  toutes les interfaces
   NetRom que vous souhaiterez dfinir.

10.1 Le fichier /etc/ax25/rsports

   Ce fichier est l'analogue pour les ports Rose du fichier
   /etc/ax25/axports pour les ports AX.25.

   Le format du fichier est le suivant :

name  addresss  description

   Avec :

   _name _
          nom affect au port.

   _address _
          adresse Rose sur 10 digits.

   _description _
          commentaire.

   Par exemple :

rose  5050294760  Rose Port

   Notez que Rose emploie par dfaut l'identifiant/ssid du port AX.25.

   La commande _rsparms_ permet de modifier l'identifiant Rose. Par
   exemple, pour que Linux se serve de l'identifiant VK2KTJ-10 pour le
   trafic Rose sur tous les ports AX.25 .

# /usr/sbin/rsprams -call VK2KTJ-10

10.2 Cration des priphriques rseau Rose

   Une fois le fichier /etc/ax25/rsports mis au point, vous pouvez crer
   les priphriques Rose en reprenant la dmarche AX.25. Vous emploierez
   la commande _rsattach_ qui cre des priphriques sous l'appellation
   `rose[0-5]' (la premire invocation produit `rose0', la seconde
   `rose1' etc...). Par exemple :

# rsattach rose

   Cette commande active le priphrique Rose (rose0) nomm `rose'
   configur conformment au contenu du fichier /etc/ax25/rsports.

10.3 Routage Rose

   Le protocole Rose ne gre pour l'instant que le routage statique. Il
   se dfinit par le biais de la commande _rsparms_.

   Par exemple, pour indiquer une route vers le noeud Rose 5050295502 via
   un port AX.25 nomm `radio' dans le fichier /etc/ax25/axports en
   passant par le voisin d'identificateur VK2XLZ :

# rsparms -nodes add 5050295502 radio vk2xlz

   Un masque vous permettra ventuellement de regrouper diffrentes
   destinations Rose sur une seule route. Par exemple :

# rsparms -nodes add 5050295502/4 radio vk2xlz

   On retrouve l'exemple prcdent  ceci prs que toute adresse de
   destination dont les quatre premiers digits correspondent (toute
   adresse commenant par 5050 donc) sera route. La variante suivante
   s'avre srement la moins ambigu :

# rsparms -nodes add 5050/4 radio vk2xlz

11. Communications AX.25/NetRom/Rose

   Maintenant que vos interfaces AX.25, NetRom et Rose sont actives,
   vous devriez tre capable de procder  des essais.

   Le paquetage des utilitaires AX.25 comprend le programme `_call_' qui
   sert d'intermdiaire pour AX.25, NetRom et Rose.

   Un appel AX.25 :

/usr/bin/call radio VK2DAY via VK2SUT

   Un appel NetRom vers un noeud d'alias SUNBBS :

/usr/bin/call netrom SUNBBS

   Un appel Rose pour HEARD au noeud 5050882960 :

/usr/bin/call rose HEARD 5050882960

   Remarque : vous devez prciser  _call_ le port  employer, vu que le
   mme noeud de destination peut tre joignable via n'importe lequel des
   ports que vous aurez configurs.

   _call_ fournit un terminal de contrle en mode ligne de commande pour
   les appels AX.25. Les lignes commenant par `~' sont identifies comme
   des commandes. La commande `~.' coupe la communication.

   Reportez-vous  la page de man sous /usr/man pour davantage
   d'informations.

12. Configurer Linux pour accepter les connexions

   Linux est un systme d'exploitation puissant qui prsente beaucoup de
   flexibilit dans sa configuration. Le cot de cette flexibilit se
   retrouve dans la mise au point de la configuration souhaite. Avant
   d'tre en mesure d'accepter les connexions AX.25, NetRom ou Rose, vous
   devez vous poser un certain nombre de questions. La plus importante :
   "Que vais-je laisser de visible aux utilisateurs une fois connects ?"
   Des gens ont mis au point de sympathiques petites applications qui
   fournissent des services aux appelants tels _pms_ ou, plus volu,
   _node_ (tous deux sont compris dans le paquetage des utilitaires
   AX.25). Vous pouvez galement souhaiter offrir une invite
   d'identification afin que les utilisateurs disposent d'un shell ou
   mme crire vos propres programmes tels une base de donnes maison ou
   un jeu. Quoi que vous fassiez, il faut spcifier  AX.25 le programme
    excuter quand une connexion s'tablit.

   Le dmon _ax25d_ joue un rle similaire  celui rempli par _inetd_
   pour les connexion TCP/IP entre machines UNIX. Il se met  l'coute
   des connexions entrantes et lorsqu'il en dtecte une, il examine par
   l'intermdiaire d'un fichier de configuration le programme  lancer
   auquel il transmet la connexion. Puisqu'il s'agit d'un outil standard
   de gestion des appels AX.25, NetRom et Rose, je vais  prsent dcrire
   les tapes de sa configuration.

12.1 Le fichier /etc/ax25/ax25d.conf

   Ce fichier contient la configuration du dmon _ax25d_ en charge des
   connexions AX.25, NetRom et Rose.

   Bien que le fichier paraisse un peu cryptique au premier abord, il
   s'avre rapidement des plus simples  l'usage, avec quelques piges 
   viter.

   Le format gnral du fichier est le suivant :

# Je suis un commentaire qu'ax25d ignorera
[nom de port] || <nom de port> || {nom de port}
<interlocuteur1> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <commande> <args>
<interlocuteur2> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <commande> <args>
parametres window T1 T2 T3 idle N2 <mode>
<interlocuteur3> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <commande> <args>
   ...
default    window T1 T2 T3 idle N2 <mode> <uid> <cmd> <commande> <args>

   Avec :

   _# _
          en dbut de ligne pour indiquer un commentaire ignor du
          programme _ax25d_

   _<port_name> _
          nom du port AX.25, NetRom ou Rose tel que spcifi dans un des
          fichiers /etc/ax25/axports, /etc/ax25/nrports ou
          /etc/ax25/rsports. Le nom du port est entour par `[]' s'il
          s'agit d'un port AX.25, `<>' si c'est un port NetRom ou `{}'
          pour un port Rose. Ce champ admet une variante qui prcde le
          nom du port par `callsign/ssid via' pour indiquer que vous
          voulez accepter les appels vers l'identificateur cit par
          l'intermdiaire de cette interface. Un exemple l'illustrera.

   _<peer> _
          est l'identifiant du noeud auquel la configuration s'applique.
          Si vous ne spcifiez pas de ssid, tous seront considrs comme
          valables.

   _window _
          paramtre de fentre AX.25 (K) ou valeur de MAXFRAMDE pour
          cette configuration.

   _T1 _
          dlai de retransmission de trame (T1) exprim en demi-secondes.

   _T2 _
          dlai d'attente par le logiciel AX.25 d'une seconde trame avant
          de prparer une rponse. S'exprime en secondes.

   _T3 _
          dlai d'inactivit avant qu'une connexion inactive ne soit
          coupe. S'exprime en secondes.

   _idle _
          priode d'inactivit en secondes.

   _N2 _
          nombre d'essais de retransmission avant qu'une connexion ne
          soit coupe.

   _<mode> _
          procure un mcanisme d'tablissement de certains types de
          permissions. Les modes sont activs ou inhibs grce  une
          combinaison de caractres reprsentant chacun un droit.
          L'accentuation ne joue pas et les caractres doivent former un
          bloc ininterrompu.

        _u/U _
                UTMP - non-support

        _v/V _
                Validate call - non-support

        _q/Q _
                Quiet - pas d'enregistrement des connexions

        _n/N _
                check NetRom Neighbour - non-support

        _d/D _
                Disallow Digipeaters - les connexions doivent tre
                directes

        _l/L _
                Lockout - connexion interdite

        _*/0 _
                marker - marqueur, pas de mode spcifique

   _<uid> _
          userid sous laquelle le programme maintenant la connexion sera
          excut.

   _<cmd> _
          nom complet de la commande  lancer, sans arguments.

   _<cmd-name> _
          texte qui apparatra  l'invocation de _ps_ comme commande du
          programme (en gnral la mme chose que <cmd> mais sans le
          chemin d'accs).

   _<arguments> _
          arguments de ligne de commande passs  <:cmd> lorsqu'il est
          lanc. Les lments suivants permettent de passer des
          informations utilises :

        _%d _
                nom du port recevant la connexion

        _%U _
                identificateur AX.25 de l'extrmit connecte, sans ssid,
                en majuscules

        _%u _
                identificateur AX.25 de l'extrmit connecte, sans ssid,
                en minuscules

        _%S _
                identificateur AX.25 de l'extrmit connecte, avec ssid,
                en majuscules

        _%s _
                identificateur AX.25 de l'extrmit connecte, avec ssid,
                en minuscules

        _%P _
                identificateur AX.25 du noeud distant initiateur de la
                connexion, sans ssid, en majuscules

        _%p _
                identificateur AX.25 du noeud distant initiateur de la
                connexion, sans ssid, en minuscules

        _%R _
                identificateur AX.25 du noeud distant initiateur de la
                connexion, avec ssid, en majuscules

        _%r _
                identificateur AX.25 du noeud distant initiateur de la
                connexion, avec ssid, en minuscules

   Ue section au format prcdent est requise pour chaque interface
   AX.25, NetRom ou Rose que vous voulez voir accepter des connexions.

   Le paragraphe comprend deux lignes particulires, l'une commenant par
   la chane `parameters' et l'autre par la chane `default' (il y a une
   diffrence).

   `default' couvre tous les cas qui ne sont pas spcifis ailleurs.
   Ainsi, tous les appels sur l'interface <interface_call> ne disposant
   pas d'une rgle spcifique se retrouvent dans la rubrique `default'.
   En l'absence d'une telle section, toutes les connexions hors rgle
   sont immdiatement interrompues sans autre forme de procs.

   `parameters' est plus subtil et dissimule le pige mentionn
   prcdemment. Si le caractre `*' est prsent dans un champ, une
   valeur par dfaut issue de la section `parameters' est employe. Le
   noyau possde d'ailleurs une liste de valeurs utilises en l'absence
   de `parameters'. Le danger rside en ce que les entres spcifies via
   `parameters' ne s'appliquent qu'aux rgles qui les suivent. Une mme
   interface peut comporter plusieurs entres `parameters'. Notez que les
   rgles `parameters' ne permettent pas de positionner les champs `uid'
   et `command'.

12.2 Un exemple de fichier ax25d.conf

# ax25d.conf pour VK2KTJ - 02/03/97
# Ce fichier de configuration utilise le port AX.25 dfini plus haut.

# <peer> Win T1  T2  T3  idl N2 <mode> <uid> <exec> <argv[0]>[<args....>]

[VK2KTJ-0 via radio]
parameters 1    10  *  *  *   *   *
VK2XLZ     *     *  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
VK2DAY     *     *  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
NOCALL     *     *  *  *  *   *   L
default    1    10  5 100 180 5   *    root  /usr/sbin/pms pms -a -o vk2ktj

[VK2KTJ-1 via radio]
default    *     *    *   *   *   0    root /usr/sbin/node node

<netrom>
parameters 1    10  *  *  *   *   *
NOCALL     *     *  *  *  *   *   L
default    *     *  *  *  *   *   0        root /usr/sbin/node node

{VK2KTJ-0 via rose}
parameters 1    10  *  *  *   *   *
VK2XLZ     *     *  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
VK2DAY     *     *  *  *  *   *   *    root  /usr/sbin/axspawn axspawn %u +
NOCALL     *     *  *  *  *   *   L
default    1    10  5 100 180 5   *    root  /usr/sbin/pms pms -a -o vk2ktj

{VK2KTJ-1 via rose}
default    *     *    *   *   *   0    root /usr/sbin/node node radio

   Dans cet exemple, toute personne rclamant une connexion via
   l'identificateur `VK2KTJ-0' du port AX.25 `radio' se verra appliquer
   les rgles suivantes :

   Tout appel depuis un identifiant `NOCALL' se verra rejet. Notez
   l'emploi du mode `L'.

   La ligne parameters modifie deux paramtres par dfaut du noyau
   (Window et T1) et excutera _/usr/sbin/axspawn_. Les instances de
   _/usr/sbin/axspawn_ appeles ainsi apparatront en tant que _axspawn_
   dans un affichage issu de _ps_. Les deux lignes qui suivent
   dfinissent deux stations auxquelles s'appliqueront les permissions.

   La dernire ligne de la section est la rgle fourre-tout applique au
   reste des connexions (VK2XLZ et VK2DAY inclus ds lors qu'ils ont
   recours  un ssid diffrent de -1). Tous les paramtres prennent leurs
   valeurs par dfaut et le programme _pms_ sera lanc avec un argument
   de ligne de commande spcifiant une connexion AX.25 d'identifiant
   VK2KTJ (reportez-vous  la partie `Configuration du PMS' pour
   davantage de dtails).

   La configuration suivante accepte les appels  VK2KTJ-1 via le port
   radio. Le programme _node_ est excut  chaque connexion.

   Vient ensuite une spcification de connexions NetRom (notez l'emploi
   des signes infrieur et suprieur  la place des crochets). Toute
   personne se connectant via le port `netrom' dclenche le programme
   _node_ si son identifiant est diffrent de `NOCALL'. Dans le cas
   contraire, tout accs est refus.

   Les deux dernires configurations concernent des connexions entrantes
   Rose, la premire pour ceux qui appellent le `VK2KTJ-0' sur notre
   noeud Rose et la seconde pour ceux qui emploient le `VK2KTJ-1'. Elles
   fonctionnent de la mme faon. Notez l'emploi des accolades qui
   indiquent des ports Rose.

   L'exemple manque un peu de naturel mais je crois qu'il illustre
   clairement les proprits importantes de la syntaxe du fichier de
   configuration. La page de _man_ explique dans son intgralit le
   contenu du fichier ax25d.conf. Le paquetage ax25-utils inclut un
   exemple plus dtaill qui pourrait galement vous tre utile.

12.3 Lancer _ax25d_

   Une fois les deux fichiers de configuration mis au point, lancez la
   commande :

# /usr/sbin/ax25d

    prsent, les gens devraient pouvoir se connecter en AX.25  votre
   machine. N'oubliez pas de modifier les fichiers de commande de
   dmarrage du systme de faon que ax25d soit invoqu automatiquement 
   chaque rinitialisation de la station.

13. Le logiciel _node_

   Le logiciel _node_ a t dvelopp par Tomi Manninen
   <tomi.manninen@hut.fi>. Il a t conu  partir du programme PMS et
   offre une fonctionnalit de noeud facilement configurable. Une fois
   les utilisateurs connects, il leur permet de se servir de telnet, de
   NetRom, de Rose et de AX.25 vers l'extrieur ainsi que d'obtenir
   diverses informations telles finger, la liste des noeuds et des
   coutes etc. Le noeud peut tre configur assez simplement pour
   excuter n'importe quelle commande Linux.

   Normalement, le noeud sera invoqu par _ax25d_, bien qu'il puisse
   galement tre appel par le dmon IP _inetd_ pour permettre aux
   utilisateurs d'obtenir un accs telnet  votre machine. Le lancement
   depuis la ligne de commande est galement possible.

13.1 Le fichier /etc/ax25/node.conf

   node.conf est un fichier texte qui spcifie la configuration du noeud.
   Son format est le suivant :

# /etc/ax25/node.conf
# Fichier de configuration du programme node(8)
#
# Un '#' indique une ligne de commentaire qui sera ignore.

# Nom d'hte de la machine noeud
hostname        radio.gw.vk2ktj.ampr.org

# Rseau local
# dfinit ce qui doit tre considr comme 'local' du point de vue de la
# vrification des permissions grce  nodes.perms.
localnet        44.136.8.96/29

# Ports cachs
# rend certains ports invisibles aux utilisateurs. Les ports n'apparatront pas
# via la commande Ports.
hiddenports     rose netrom

# Identification du noeud
# apparatra  l'invite du noeud
NodeId          LINUX:VK2KTJ-9

# Port NetRom
# nom du port NetRom qui employ pour les connexions NetRom sortant du noeud
NrPort          netrom

# Dlai d'inactivit du noeud
# en secondes
idletimout      1800

# Dlai d'inactivit des connexions
# en secondes
conntimeout     1800

# Reprise de connexion
# indique si les utilisateurs doivent tre reconnects spontanment en cas
# de rupture de la connexion distante ou bien s'ils doivent tre compltement
# dconnects.
reconnect       on

# Alias
alias           CONV    "telnet vk1xwt.ampr.org 3600"
alias           BBS     "connect radio vk2xsb"

# Alias (commandes externes)
# excution de commandes externes au noeud
# extcmd <cmd> <flag> <userid> <commande>
# Flag == 1 pour l'instant
# <commande> a le mme format que dans ax25d.conf
extcmd          PMS     1       root    /usr/sbin/pms pms -u %U -o VK2KTJ

# Enregistrement
# le niveau 3 est le plus dtaill, 0 dsactive l'enregistrement
loglevel        3

# Caractre de contrle
# 20 = (Control-T)
EscapeChar      20

13.2 Le fichier /etc/ax25/node.perms

   _node_ affecte des permissions aux utilisateurs. On dcide ainsi des
   utilisateurs qui ont le droit ou non d'employer des commandes telles
   (T)elnet ou (C)onnect. node.perms contient cinq champs. Le caractre
   `*' dans l'un d'eux indique une absence de contraintes pour son
   application. On construit ainsi facilement des rgles applicables par
   dfaut.

   _user _
          Le premier champ indique l'identifiant d'appel concern par les
          permissions. Une ventuelle partie ssid sera ignore.

   _method _
          Chaque protocole et chaque mthode d'accs disposent galement
          de permissions. Par exemple, les utilisateurs connects via
          AX.25 ou NetRom peuvent tre autoriss  se servir de (C)onnect
          tandis que ceux issus d'une session telnet depuis un noeud
          non-local s'en verront refuser l'accs. Le deuxime champ
          spcifie donc  quelle mthode d'accs les permissions
          s'appliquent. Voici les classes de mthodes d'accs :

method  description
------  -----------------------------------------------------------
ampr    session telnet depuis une adresse amprnet (44.0.0.0)
ax25    connexion AX.25
host    node invoqu depuis la ligne de commande
inet    session telnet depuis une adresse non locale, de type non amprnet
local   session telent depuis un hte 'local'
netrom  connexion NetRom
rose    connexion Rose
*       n'importe quelle connexion

   _port _
          Vous pouvez galement contrler les permissions pour les
          utilisateurs AX.25 sur la base des ports employs. Le troisime
          champ contient un nom de port si vous dcidez d'employer cette
          possibilit (disponible seulement pour les connexions AX.25).

   _password _
          Un mot de passe peut galement tre demand lors de
          l'tablissement de la connexion. Cela s'avre pratique pour
          protger des comptes utilisateurs spcifiques disposant de
          privilges particulirement levs. Si le quatrime champ est
          positionn, il correspond au mot de passe attendu.

   _permissions _
          Les permissions sont fixes par le biais du dernier champ de
          chaque ligne. L'information est code au niveau du bit, chaque
          service disposant d'un bit qui indique s'il est ou non activ.
          Ci-suit la liste des services et la position du champ avec le
          bit positionn :

valeur  description
------  -------------------------------------------------
 1      Login
 2      (C)onnect AX.25
 4      (C)onnect NetRom
 8      (T)elnet vers les htes locaux
 16     (T)elnet vers amprnet (44.0.0.0)
 32     (T)elnet vers les htes non-locaux, de type non-amprnet
 64     (C)onnect AX.25 pour les ports cachs
 128    (C)onnect Rose

          On additionne ensuite les puissances de deux associes aux bits
          des permissions actives. Le rsultat va dans le cinquime
          champ.

   Un exemple de fichier nodes.perms :

# /etc/ax25/node.perms
#
# L'oprateur a pour identit VK2KTJ, s'identifie par le mot de passe 'secret'
# et dispose de toutes les permissions pour toutes les mthodes de connexion.
vk2ktj  *       *       secret  255

# Les utilisateurs suivants sont exclus
NOCALL  *       *       *       0
PK232   *       *       *       0
PMS     *       *       *       0

# Les utilisateur d'INET n'ont pas le droit de se connecter
*       inet    *       *       0

# Les utilisateurs AX.25, NetRom, locaux, lis  l'hte ou AMPR disposent de
# (C)onnect et de (T)elnet vers les htes locaux et ampr mais se voient
# interdire les autres adresses IP.
*       ax25    *       *       159
*       netrom  *       *       159
*       local   *       *       159
*       host    *       *       159
*       ampr    *       *       159

13.3 Excution de _node_ depuis _ax25d_

   L'invocation du programme _node_ par le dmon _ax25d_ ncessite
   l'ajout de rgles appropries au fichier /etc/ax25/ax25d.conf. Je
   souhaitais une configuration telle que les utilisateurs puissent se
   connecter soit  _node_ soit  un service de leur choix. _ax25d_
   l'autorise par le biais d'une cration astucieuse d'alias de ports.
   Par exemple, partant de la configuration d'_ax25d_ donne plus haut,
   on veut que tous les utilisateurs se connectant  VK2KTJ-1 reoivent
   le noeud. Pour cela, on ajoute la rgle suivante au fichier
   /etc/ax25/ax25d.conf :

[vk2ktj-1 via radio]
default    *     *    *   *   *   0    root /usr/sbin/node node

   Linux rpondra  toute demande de connexion sur le port AX.25 `radio'
   d'identifiant `VK2KTJ-1' en excutant le programme _nde_.

13.4 Excution de _node_ depuis _inetd_

   Offrir la possibilit d'ouvrir une session telnet sur votre machine et
   d'accder au programme _node_ est une tache plutt facile. Commencez
   par choisir le port auquel les utilisateurs se connecteront. Dans mon
   exemple, j'ai pris arbitrairement le port 3694 bien que Tomi dtaille
   dans sa documentation la marche  suivre pour remplacer le dmon
   telnet usuel par le programme _node_.

   Il faut modifier deux fichiers.

   Ajouter au fichier /etc/services :

node    3694/tcp        #OH2BNS's node software

   et au fichier /etc/inetd.conf :

node    stream  tcp     nowait  root    /usr/sbin/node node

   Une fois _inetd_ redmarr, tout utilisateur effectuant un telnet vers
   le port 3694 de votre machine se verra demander un login et, selon la
   configuration, un mot de passe avant d'tre connect  _node_.

14. Configuration de _axspawn_.

   _axspawn_ permet aux stations AX.25 qui se connectent d'ouvrir une
   session sur votre machine. Il peut tre lanc par le programme _ax25d_
   dcrit ci-dessus d'une faon similaire  _node_. Pour ouvrir une
   session utilisateur, vous ajouterez une variante de la ligne suivante
   au fichier /etc/ax25/ax25d.conf :

default * * * * * 1 root /usr/sbin/axspawn axspawn %u

   Si la ligne s'achve sur le caractre +, l'utilisateur devra appuyer
   sur la touche d'entre avant de pouvoir s'identifier. Par dfaut, il
   n'y a pas d'attente. Toutes les configurations d'htes qui suivent la
   ligne prcdente dclencheront l'appel d'_axspawn_ lorsqu'ils se
   connecteront. Quand _axspawn_ s'excute, il vrifie tout d'abord que
   l'argument de ligne de commande fourni est un identifiant licite,
   supprime le SSID puis parcourt le fichier /etc/passwd pour voir si
   l'utilisateur dispose d'un compte. Si c'est le cas et que le mot de
   passe associ est "" (vide) ou +, la session utilisateur est ouverte.
   En prsence d'un autre mot de passe, celui-ci est demand. Si le
   compte n'existe pas, _axspawn_ peut tre configur de faon  en crer
   un automatiquement.

14.1 Mise au point du fichier /etc/ax25/axspawn.conf

   Le format du fichier est le suivant :

# /etc/ax25/axspawn.conf
#
# creation automatique de comptes utilisateur
create    yes
#
# compte d'invite en l'absence de creation automatique et si tout le reste
# echoue. Se desactive ave "no"
guest     no
#
# id ou nom du groupe pour le compte automatique
group     ax25
#
# id de depart
first_uid 2001
#
# id maximale
max_uid   3000
#
# emplacement des repertoires utilisateurs crees automatiquement
home      /home/ax25
#
# shell utilisateur
shell     /bin/bash
#
# lien entre les id utilisateur et le numero d'identification pour les
# connexions sortantes
associate yes

   Dtail des huit caractristiques configurables de _axspawn_ :

   _#_
          indique un commentaire.

   _create_
          si ce champ est positionn  yes alors _axspawn_ tentera de
          crer un compte pour tout utilisateur qui n'apparat pas dans
          le fichier /etc/passwd.

   _guest_
          fournit le nom du compte  employer pour les utilisateurs n'en
          ayant pas lorsque _create_ est positionn  no. On y trouve
          souvent ax25 ou guest.

   _group_
          indique le groupe pour les utilisateurs qui n'apparaissent pas
          dans le fichier /etc/passwd.

   _first_uid_
          valeur de dpart des identits utilisateur lors de la cration
          automatique

   _max_uid_
          identit utilisateur maximale disponible  la cration
          automatique

   _home_
          rpertoire dans lequel seront crs les comptes utilisateurs

   _shell_
          shell de login des nouveaux utilisateurs

   _associate_
          indique si les connexions sortantes de l'utilisateur ont lieu
          avec son identifiant d'appel personnel ou avec celui de votre
          station

15. Configuration de _pms_

   _pms_ fournit un systme simple de messagerie personnelle. Il a t
   crit  l'origine par Alan Cox. Dave Brown, N2RJT, <dcb@vectorbd.com>
   en a repris le dveloppement. Les fonctionnalits sont restes
   simples : envoi de courrier lectronique au propritaire de la station
   et obtention d'informations limite. Dave travaille actuellement  les
   enrichir.

   Il faut tenir  jour quelques fichiers contenant des informations sur
   le systme et ajouter les entres adquates au fichier ax25d.conf de
   telle sorte qu'il s'excute pour les utilisateurs connects.

15.1 Mise au point du fichier /etc/ax25/pms.motd

   Le fichier /etc/ax25/pms.motd contient l'quivalent du message du jour
   affich aux utilisateurs aprs qu'ils se sont connects et ont reu
   l'en-tte usuel de BBS. Il s'agit d'un simple fichier texte qui sera
   transmis tel quel.

15.2 Mise au point du fichier /etc/ax25/pms.info

   /etc/ax25/pms.info est galement un simple fichier texte dans lequel
   vous renseignerez des informations plus dtailles relatives  votre
   station ou  sa configuration. Ce fichier est transmis aux
   utilisateurs en rponse  la commande Info depuis l'invite PMS.

15.3 Associer les identifiants AX.25 aux comptes utilisateurs

   Lors de l'envoi d'un courrier  destination d'un identifiant d'appel
   AX.25, _pms_ s'attend  trouver une association avec une identit
   d'utilisateur usuelle sur la station. La section suivante dcrit le
   processus.

15.4 Ajout de PMS au fichier /etc/ax25/ax25d.conf

   L'ajout de _pms_ au fichier ax25d.conf est trs simple. Il vous faut
   nanmoins garder un lment en tte : Dave a ajout la prise en compte
   d'arguments de ligne commande  PMS afin de grer diffrentes
   conventions de fin de ligne. AX.25 et NetRom requirent une fin de
   ligne et un saut de ligne tandis que le standard Unix comprend juste
   le caractre de fin de ligne. Par exemple, pour une entre
   correspondant au lancement par dfaut de PMS  l'ouverture d'une
   connexion sur un port AX.25, vous ajouteriez :

default  1  10 5 100 5   0    root  /usr/sbin/pms pms -a -o vk2ktj

   Cette ligne excute _pms_ en lui prcisant qu'il s'agit d'une
   connexion AX.25 et que PMS a pour propritaire vk2ktj. Consultez la
   page de _man_ pour l'emploi d'autres mthodes de connexion.

15.5 Tester PMS

   Excutez depuis la ligne de commande :
# /usr/sbin/pms -u vk2ktj -o vk2ktj

   En remplaant votre identifiant d'appel par le mien, cela lancera pms
   en lui imposant l'emploi de la convention unix de fin de ligne et en
   donnant vk2ktj comme identit  l'utilisateur connect.

   Vous pouvez galement demander  un autre noeud de se connecter afin
   de confirmer le fonctionnement de votre ax25d.conf.

16. Configuration des programmes _user_call_

   On trouve derrire ce nom les programmes _ax25_call_ et _netrom_call_.
   Il s'agit de programmes trs simples destins  tre lancs par _ax25d_
   pour automatiser les connexions depuis des htes distants. On peut
   bien sr les employer dans des scripts ou via d'autres dmons tels
   _node_.

   Ils quivalent au programme _call_ et n'effectuent aucun traitement
   sur les donnes, ce qui vous pargne le problme des conversions de
   fin de lignes.

   Un exemple pour commencer. On suppose que vous disposez d'un petit
   rseau personnel, d'une station Linux tenant lieu de passerelle radio
   et d'une autre machine -- on prendra un noeud BPQ -- qui lui est
   connecte par un lien ethernet.

   En principe, si vous voulez que les utilisateurs radio puissent
   joindre le noeud BPQ, il leur faudra le faire par l'intermdiaire de
   votre noeud Linux ou se connecter au dmon node puis tablir la
   connexion. _ax25_call_ peut simplifier le processus s'il est invoqu
   par _ax25d_.

   Prenons le cas d'un noeud BPQ d'identifiant VK2KTJ-9, la station Linux
   tant munie d'un port AX.25/ethernet nomm `bpq'. `radio' dsignera le
   port radio de la machine passerelle.

   Un enregistrement dans le fichier /etc/ax25/ax25d.conf du type :

[VK2KTJ-1 via radio]
default    * * * *   *   *  *
                root /usr/sbin/ax25_call ax25_call bpq %u vk2ktj-9

   permet aux les connexions directes  `VK2KTJ-1' qui n'est autre que le
   dmon Linux _ax25d_, celui ci les commutant automatiquement sur un
   lien AX.25  `VK2KTJ-9' via l'interface `bpq'.

   Vous pouvez essayer toutes sortes d'autres configurations. Les
   utilitaires `_netrom_call_' et `_rose_call_' oprent de faon
   similaire. Un radioamateur en a fait usage pour faciliter l'accs  un
   BBS distant. En principe, on aurait d entrer  la main une chane de
   connexion dmesurment longue. Il a donc ajout une entre faisant
   apparaitre le BBS comme une entit appartenant au rseau local, _ax25d_
   servant en fait de proxy pour l'accs  la machine distante.

17. Configuration des commandes Rose Uplink et Downlink

   Si vous avez l'habitude des ralisations Rose  base de ROM, vous ne
   serez pas dpays par la mthode d'appel AX.25  travers un rseau
   Rose. Soit un noeud local d'utilisateurs Rose d'identifiant VK2KTJ-5
   et un appelant AX.25 souhaitant se connecter  VK5XXX au noeud Rose
   distant 5050882960, il lancera la commande :

c vk5xxx v vk2ktj-5 5050 882960

   Au niveau du noeud distant, VK5XXX recevra une connexion avec
   l'identifiant des utilisateurs locaux AX.25 digipte par
   l'intermdiaire de l'identifiant des noeuds Rose distants.

   La couche protocolaire Rose de Linux ne gre pas cette fonctionnalit
   dans le noyau mais les deux applications _rsuplnk_ et _rsdwnlnk_
   savent s'en charger.

17.1 Configuration d'une liaison Rose descendante

   Afin que votre station Linux accepte un appel Rose et tablisse une
   connexion AX.25 vers une destination  l'coute de laquelle il n'est
   pas, vous devez ajouter un enregistrement  votre fichier
   /etc/ax25/ax25d.conf. En principe, cette ligne correspondra au
   comportement par dfaut pour les connexions Rose entrantes. Par
   exemple, vous tes  l'coute des demandes d'accs Rose aux
   destinations telles NODE-0 ou HEARD-0 que vous grez localement, mais
   toutes les autres connexions sont transmises  la commande _rsdwnlink_
   sous l'hypothse qu'il s'agit d'utilisateurs AX.25.

   Une configuration typique :

#
{* via rose}
NOCALL   * * * * * *  L
default  * * * * * *  - root  /usr/sbin/rsdwnlnk rsdwnlnk 4800 vk2ktj-5
#

   Avec cette configuration, tout appel qui effectue une connexion Rose
   sur votre noeud Linux vers une destination  l'coute de laquelle vous
   ne vous tenez pas se verra converti en une connexion AX.25 sur le port
   4800 avec VK2KTJ-5 pour chemin.

17.2 Configuration d'un liaison Rose montante

   Pour que votre station Linux accepte les connexions AX.25 d'une faon
   similaire  celle du noeud Rose, vous ajouterez  votre fichier
   /etc/ax25/ax25d.conf une ligne du type :

#
[VK2KTJ-5* via 4800]
NOCALL   * * * * * *  L
default  * * * * * *  - root  /usr/sbin/rsuplnk rsuplnk rose
#

   Notez la syntaxe particulire pour l'identifiant local. Le caractre
   `*' indique que l'application doit tre invoque si l'identifiant est
   reconnu dans le chemin de rptition d'une connexion.

   Avec cette configuration, un appel AX.25 peut tablir des appels Rose
   au moyen de la squence prsente dans l'introduction. Toute personne
   demandant un relai via l'identifiant VK2KTJ-5 sur le port AX.25 4800
   sera trait par la commande _rsuplnk_.

18. Association des identifiants AX.25 aux comptes utilisateurs

   Dans de nombreuses situations, il est fortement souhaitable d'associer
   un identifiant  compte utilisateur. Par exemple lorsque plusieurs
   oprateurs radioamateurs partagent la mme machine et souhaitent
   employer leur propre identifiant lorsqu'ils effectuent des appels ou
   lorsque des utilisateurs de PMS dsirent dialoguer avec quelqu'un en
   particulier sur une station.

   Les utilitaires AX.25 permettent de raliser cette association. On l'a
   dj voqu dans la section relative  PMS mais je le rpte ici afin
   de m'assurer que vous ne passerez pas  ct.

   L'association s'effectue grce  la commande _axparms_. Par exemple :

# axparms -assoc vk2ktj terry

   Cette commande associe l'identifiant AX.25 vk2ktj  l'utilisateur
   terry. Tout courrier destin  vk2ktj sur _pms_ sera transmis au
   compte Linux terry.

   Songez  mettre ces correspondances dans vos fichiers _rc_ de
   dmarrage afin qu'elles soient disponibles  chaque rinitialisation.

   _Notez_ que vous ne devez surtout pas associer un identifiant au
   compte root vu que cela pourrait poser des problmes de configuration
    d'autres programmes.

19. Entres du systme de fichier /proc/

   Le pseudo systme de fichiers /proc contient divers fichiers
   spcifiques aux programmes AX.25 et NetRom. Ces fichiers sont
   normalement employs par les utilitaires AX.25 mais leur formatage est
   tel qu'ils peuvent vous intresser. Le format est suffisamment simple
   pour ne pas ncessiter beaucoup d'explications.

   _/proc/net/arp_
           : liste des associations entre adresses IP et adresses de
          niveau MAC, qu'il s'agisse d'ethernet, d'AX.25 ou d'un autre
          protocole MAC.

   _/proc/net/ax25_
           : sockets AX.25 ouverts. Elles peuvent tre en attente de
          connexion ou actives.

   _/proc/net/ax25_bpqether_
           : identifiants AX.25 de type Ethernet BPQ.

   _/proc/net/ax25_calls_
           : quivalences entre identits d'utilisateurs Linux et
          identifiants d'appel telles que dfinies par la commande
          _axparms -assoc_.

   _/proc/net/ax25_route_
           : informations sur les chemins AX.25

   _/proc/net/nr_
           : sockets NetRom ouvertes. Elles peuvent tre en attente de
          connexion ou actives.

   _/proc/net/nr_neigh_
           : liste de voisins NetRom

   _/proc/net/nr_nodes_
           : informations sur les voisins NetRom

   _/proc/net/rose_
           : sockets Rose ouvertes. Elles peuvent tre en attente de
          connexion ou actives.

   _/proc/net/rose_nodes_
           : correspondances entre destinations et voisins Rose

   _/proc/net/rose_neigh_
           : liste de voisins Rose

   _/proc/net/rose_routes_
           : connexions Rose en cours

20. Programmation rseau AX.25, NetRom, Rose

   L'avantage le plus important li  l'utilisation des protocoles par
   paquets radioamateurs du noyau rside en la facilit de dveloppement
   des programmes et applications qui les emploient.

   Bien que la programmation rseau sous Unix dborde du cadre de ce
   document, je vais dcrire les principaux lments d'utilisation des
   protocoles AX.25, NetRom et Rose au sein de vos programmes.

20.1 Familles d'adresses

   La programmation AX.25, NetRom et Rose est assez semblable  la
   programmation TCP/IP sous Linux. LEs principales diffrences se font
   au niveau des familles d'adresses et des structures d'adresse  mettre
   en place.

   Les noms de familles d'adresses pour AX.25, NetRom et Rose sont
   respectivement AF_AX.25, AF_NETROM et AF_ROSE.

20.2 Fichiers d'en-tte

   Incluez toujours les fichiers `ax25.h', `netrom.h' ou `rose.h' si vous
   vous servez de ces protocoles. Les dbuts de fichiers-types
   ressemblent  quelque chose du style :

   Pour AX.25 :

#include <ax25.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_AX.25

   Pour NetRom :

#include <ax25.h>
#include <netrom.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_NETROM;

   Pour Rose :

#include <ax25.h>
#include <rose.h>
int s, addrlen = sizeof(struct sockaddr_rose);
struct sockaddr_rose sockaddr;
sockaddr.srose_family = AF_ROSE;

20.3 Mise en forme des identifiants et exemples

   La librairie lib/ax25.a du paquetage des utilitaires AX.25 contient
   des routines de conversion des identifiants. Vous pouvez bien sr
   crire les vtres si vous le souhaitez.

   Les programmes _user_call_ sont d'excellents exemples  partir
   desquels travailler. Leur source code est inclus dans les outils
   AX.25. Si vous passez un peu de temps  les examiner, vous remarquerez
   rapidement que quatre-vingt-dix pour cent du travail consiste 
   prparer l'ouverture des sockets. En fait la connexion est rapide mais
   la mise en place prend du temps.

   Les exemples sont assez simples pour ne pas prter  confusion. Si
   vous avez des questions, adressez-vous directement  la liste de
   diffusion linux-hams o quelqu'un vous aidera srement.

21. Quelques configurations-types

   Ci-suivent des exemples de configurations parmi les plus typiques. Il
   ne s'agit que d'un guide dans la mesure o il y a autant de faons de
   configurer un rseau qu'il y a de rseaux disponibles mais il peut
   vous servir de point de dpart.

21.1 Un petit rseau Ethernet local avec un routeur Linux vers un rseau radio
local

   Nombre d'entre vous disposent de petits rseaux locaux chez eux et
   dsirent connecter les stations de ce rseau  un rseau radio local.
   J'ai ce type de configuration chez moi. J'ai russi  obtenir un bloc
   d'adresses contigus que je gre par une route unique sur mon Ethernet
   local. Votre coordinateur IP local vous aidera si vous souhaitez
   procder ainsi. Les adresses du rseau Ethernet local forment un
   sous-ensemble des adresses radio. Voici ma configuration personnelle
   avec le routeur Linux :

                                          .      .   .    .    . .
  -+-                                .
   | Reseau        /---------\     .    Reseau
   | 44.136.8.96/29|         |    .     44.136.8/24        \ | /
   |               | Routeur |   .                          \|/
   |               |         |  .                            |
   |          eth0 |    &    |  .  /-----\    /----------\   |
   +---------------+         +-----| TNC |----| Radio    |---/
   |   44.136.8.97 | serveur |  .  \-----/    \----------/
   |               |         | sl0
   |               |  Linux  | 44.136.8.5
   |               |         |    .
   |               |         |     .
   |               \_________/       .
  -+-                                     .      .   .    .    . .

#!/bin/sh
# /etc/rc.net
# Configuration d'un port AX.25 de type KISS et d'une interface Ethernet

echo "/etc/rc.net"
echo "  Configuring:"

echo -n "    loopback:"
/sbin/ifconfig lo 127.0.0.1
/sbin/route add 127.0.0.1
echo " done."

echo -n "    ethernet:"
/sbin/ifconfig eth0 44.136.8.97 netmask 255.255.255.248 \
                broadcast 44.136.8.103 up
/sbin/route add 44.136.8.97 eth0
/sbin/route add -net 44.136.8.96 netmask 255.255.255.248 eth0
echo " done."

echo -n "    AX.25: "
kissattach -i 44.136.8.5 -m 512 /dev/ttyS1 4800
ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.8.255
route add -host 44.136.8.5 sl0
route add -net 44.136.8.0 window 1024 sl0

echo -n "    Netrom: "
nrattach -i 44.136.8.5 netrom

echo "  Routing:"
/sbin/route add default gw 44.136.8.68 window 1024 sl0
echo "    default route."
echo done.

# end

   /etc/ax25/axports

# name  callsign        speed   paclen  window  description
4800    VK2KTJ-0        4800    256     2       144.800 MHz

   /etc/ax25/nrports

# name  callsign        alias   paclen  description
netrom  VK2KTJ-9        LINUX   235     Linux Switch Port

   /etc/ax25/nrbroadcast

# ax25_name     min_obs def_qual        worst_qual      verbose
4800            1       120             10              1

     * L'option IP_FORWARDING doit tre active dans le noyau.
     * Les fichiers de configuration AX.25 correspondent essentiellement
        ceux donns dans les sections prcdentes. Reportez-y vous si
       ncessaire.
     * J'ai dcid d'attribuer au port radio une adresse qui n'appartient
       pas au bloc attribu  mon rseau local. Rien n'y obligeait et
       j'aurais d facilement y affecter l'adresse 44.136.8.97.
     * 44.136.8.68 correspond  ma passerelle d'encapsulation IP dans IP
       et est donc ma route par dfaut.
     * Chaque station sur l'Ethernet est munie de la route suivante :

route add -net 44.0.0.0 netmask 255.0.0.0 \
        gw 44.136.8.97 window 512 mss 512 eth0

       Les paramtres _mss_ et _window_ me permettent d'obtenir les
       meilleures performances possibles aussi bien pour les connexions
       Ethernet locales que pour les accs radio.
     * smail, http, ftp et d'autres dmons s'excutent galement sur le
       routeur qui est ainsi la seule station  fournir aux autres des
       services.
     * Le routeur est un 386DX20 d'entre de gamme avec 20 Mo de disque
       et une configuration Linux minimaliste.

21.2 Passerelle d'encapsulation IP dans IP

   L'emploi de Linux comme passerelle d'encapsulation IP est maintenant
   courant  travers le monde. Le nouveau gestionnaire de tunnel IP
   accepte les routes multiples encapsules et rend obsolte l'ancien
   dmon _ipip_.

   Un schma classique :

                                          .      .   .    .    . .
  ---                                .
   | Reseau        /----------\     .    Reseau
   | 154.27.3/24   |          |    .     44.136.16/24       \ | /
   |               |  Linux   |   .                          \|/
   |               |          |  .                            |
   |          eth0 |          |  .  /-----\    /----------\   |
   +---------------+Passerelle+-----| TNC |----| Radio    |---/
   |   154.27.3.20 |          |  .  \-----/    \----------/
   |               |  IPIP    | sl0
   |               |          | 44.136.16.1
   |               |          |    .
   |               |          |     .
   |               \__________/       .
  ---                                     .      .   .    .    . .

   Voici les fichiers de configuration intressants :

# /etc/rc.net
# This file is a simple configuration that provides one KISS AX.25
# radio port, one Ethernet device, and utilises the kernel tunnel driver
# to perform the IPIP encapsulation/decapsulation
#
echo "/etc/rc.net"
echo "  Configuring:"
#
echo -n "    loopback:"
/sbin/ifconfig lo 127.0.0.1
/sbin/route add 127.0.0.1
echo " done."
#
echo -n "    ethernet:"
/sbin/ifconfig eth0 154.27.3.20 netmask 255.255.255.0 \
                broadcast 154.27.3.255 up
/sbin/route add 154.27.3.20 eth0
/sbin/route add -net 154.27.3.0 netmask 255.255.255.0 eth0
echo " done."
#
echo -n "    AX.25: "
kissattach -i 44.136.16.1 -m 512 /dev/ttyS1 4800
/sbin/ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.16.255
/sbin/route add -host 44.136.16.1 sl0
/sbin/route add -net 44.136.16.0 netmask 255.255.255.0 window 1024 sl0
#
echo -n "    tunnel:"
/sbin/ifconfig tunl0 44.136.16.1 mtu 512 up
#
echo done.
#
echo -n "Routing ... "
source /etc/ipip.routes
echo done.
#
# end.

   et :

# /etc/ipip.routes
# This file is generated using the munge script
#
/sbin/route add -net 44.134.8.0 netmask 255.255.255.0 tunl0 gw 134.43.26.1
/sbin/route add -net 44.34.9.0 netmask 255.255.255.0 tunl0 gw 174.84.6.17
/sbin/route add -net 44.13.28.0 netmask 255.255.255.0 tunl0 gw 212.37.126.3
   ...
   ...
   ...

   /etc/ax25/axports

# name  callsign        speed   paclen  window  description
4800    VK2KTJ-0        4800    256     2       144.800 MHz

   Quelques points  noter :

     * Le nouveau gestionnaire de tunnel utilise le champ _gw_ de la
       table de routage  la place du paramtre _pointopoint_ pour fixer
       l'adresse de la passerelle IPIP distante. Il supporte ainsi
       plusieurs routes par interface.
     * Vous _pouvez_ attribuer la mme adresse  deux interfaces rseau.
       Dans l'exemple courant, sl0 et tunl0 ont tous deux t munis de
       l'adresse IP du port Radio. La passerelle distante rcupre ainsi
       la bonne adresse de votre passerelle dans les datagrammes
       encapsuls qu'elle reoit.
     * Les commandes de routage relatives aux routes encapsules peuvent
       tre gnres automatiquement via une version modifie du script
       _munge_ incluse ci-dessous. Les instructions de routage sont
       crites dans un fichier spar et appeles par la commande source
       /etc/ipip.routes de _bash_ (en supposant que vous employez les
       mmes conventions). Le fichier source doit tre au format de
       commande route NOS.
     * Remarquez l'emploi de l'argument _window_ dans la commande
       _route_. Ce paramtre amliore les performances de la liaison radio.

   Le nouveau script tunnel-munge :

#!/bin/sh
#
# From: Ron Atkinson <n8fow@hamgate.cc.wayne.edu>
#
#  This script is basically the 'munge' script written by Bdale N3EUA
#  for the IPIP daemon and is modified by Ron Atkinson N8FOW. It's
#  purpose is to convert a KA9Q NOS format gateways route file
#  (usually called 'encap.txt') into a Linux routing table format
#  for the IP tunnel driver.
#
#        Usage: Gateway file on stdin, Linux route format file on stdout.
#               eg.  tunnel-munge < encap.txt > ampr-routes
#
# NOTE: Before you use this script be sure to check or change the
#       following items:
#
#     1) Change the 'Local routes' and 'Misc user routes' sections
#        to routes that apply to your own area (remove mine please!)
#     2) On the fgrep line be sure to change the IP address to YOUR
#        gateway Internet address. Failure to do so will cause serious
#        routing loops.
#     3) The default interface name is 'tunl0'. Make sure this is
#        correct for your system.

echo "#"
echo "# IP tunnel route table built by $LOGNAME on `date`"
echo "# by tunnel-munge script v960307."
echo "#"
echo "# Local routes"
echo "route add -net 44.xxx.xxx.xxx netmask 255.mmm.mmm.mmm dev sl0"
echo "#"
echo "# Misc user routes"
echo "#"
echo "# remote routes"

fgrep encap | grep "^route" | grep -v " XXX.XXX.XXX.XXX" | \
awk '{
        split($3, s, "/")
        split(s[1], n,".")
        if      (n[1] == "")    n[1]="0"
        if      (n[2] == "")    n[2]="0"
        if      (n[3] == "")    n[3]="0"
        if      (n[4] == "")    n[4]="0"
        if      (s[2] == "1")   mask="128.0.0.0"
        else if (s[2] == "2")   mask="192.0.0.0"
        else if (s[2] == "3")   mask="224.0.0.0"
        else if (s[2] == "4")   mask="240.0.0.0"
        else if (s[2] == "5")   mask="248.0.0.0"
        else if (s[2] == "6")   mask="252.0.0.0"
        else if (s[2] == "7")   mask="254.0.0.0"
        else if (s[2] == "8")   mask="255.0.0.0"
        else if (s[2] == "9")   mask="255.128.0.0"
        else if (s[2] == "10")  mask="255.192.0.0"
        else if (s[2] == "11")  mask="255.224.0.0"
        else if (s[2] == "12")  mask="255.240.0.0"
        else if (s[2] == "13")  mask="255.248.0.0"
        else if (s[2] == "14")  mask="255.252.0.0"
        else if (s[2] == "15")  mask="255.254.0.0"
        else if (s[2] == "16")  mask="255.255.0.0"
        else if (s[2] == "17")  mask="255.255.128.0"
        else if (s[2] == "18")  mask="255.255.192.0"
        else if (s[2] == "19")  mask="255.255.224.0"
        else if (s[2] == "20")  mask="255.255.240.0"
        else if (s[2] == "21")  mask="255.255.248.0"
        else if (s[2] == "22")  mask="255.255.252.0"
        else if (s[2] == "23")  mask="255.255.254.0"
        else if (s[2] == "24")  mask="255.255.255.0"
        else if (s[2] == "25")  mask="255.255.255.128"
        else if (s[2] == "26")  mask="255.255.255.192"
        else if (s[2] == "27")  mask="255.255.255.224"
        else if (s[2] == "28")  mask="255.255.255.240"
        else if (s[2] == "29")  mask="255.255.255.248"
        else if (s[2] == "30")  mask="255.255.255.252"
        else if (s[2] == "31")  mask="255.255.255.254"
        else                    mask="255.255.255.255"

if (mask == "255.255.255.255")
        printf "route add -host %s.%s.%s.%s gw %s dev tunl0\n"\
                ,n[1],n[2],n[3],n[4],$5
else
        printf "route add -net %s.%s.%s.%s gw %s netmask %s dev tunl0\n"\
                ,n[1],n[2],n[3],n[4],$5,mask
 }'

echo "#"
echo "# default the rest of amprnet via mirrorshades.ucsd.edu"
echo "route add -net 44.0.0.0 gw 128.54.16.18 netmask 255.0.0.0 dev tunl0"
echo "#"
echo "# the end"

21.3 Configuration d'une passerelle d'encapsulation AXIP

   Nombre de passerelles Radio Amateur avec l'Internet encapsulent AX.25,
   NetRom et Rose dans IP. Le cas des trames AX.25 relve du RFC 1226
   crit par Brian Kantor. Mike Westerhof a ralis un dmon
   d'encapsulation AX.25 sous Unix en 1991. Le paquetage des utilitaires
   ax25-utils en contient une version lgrement amliore.

   Un programme d'encapsulation AXIP reoit des trames AX.25 d'un ct,
   examine la destination AX.25 afin d'en dduire l'adresse IP  laquelle
   les envoyer et les encapsule dans un datagramme TCP/IP avant de les
   mettre. Il accepte galement les datagrammes TCP/IP qui contiennent
   des trames AX.25, extrait ces dernires et les traite comme s'il
   s'agissait de trames AX.25 reues depuis un port AX.25. La distinction
   des trames IP contenant de l'AX.25 se fait par l'intermdiaire d'un
   identifiant de protocole gal  4 (la valeur 94 est possible quoique
   dsute). Le RFC 1226 dcrit tout a en dtail.

   L'outil _ax25ipd_ inclus dans le paquetage ax25-utils se prsente
   comme un programme grant une interface KISS, au travers de laquelle
   passeront des trames AX.25, et une interface d'adaptation TCP/IP. Il
   se configure par l'intermdiaire du fichier /etc/ax25/ax25ipd.conf.

  Options de configuration d'AXIP

   _ax25ipd_ opre dans deux modes : "digipeater" et "tnc". En mode
   "tnc", le dmon agit comme un TNC kiss. Vous lui fournissez des trames
   d'encapsulation KISS et il les transmet comme dans la configuration
   normale. En mode "digipeater", le dmon agit comme un noeud de
   transmission AX.25. Les diffrences entre ces deux modes sont
   subtiles.

   Vous configurez dans le fichier  cet effet les "routes" ou
   correspondances entre les identifiants AX.25 et les adresses IP des
   machines auxquelles vous dsirez galement transmettre des paquets
   AX.25. Chaque route dispose d'options qui seront expliques un peu
   plus tard.

   Voici les autres options  configurer :

     le tty du dmon _ax25ipd_ ainsi que sa vitesse (en gnral
   l'extrmit d'un tuyau)

     l'identifiant souhait pour le mode "digipeat"

     l'intervalle beacon

     le choix entre une encapsulation AX.25 dans des datagrammes IP ou
   bien dans des datagrammes UDP/IP. L'essentiel des passerelles AXIP
   emploie une encapsulation IP mais certaines sont situes derrire des
   filtres qui ne laisseront passer que les datagrammes UDP/IP. Le choix
   doit concider avec ce qui est attendu  l'autre extrmit.

  Un fichier de configuration /etc/ax25/ax25ipd.conftypique

#
# fichier de configuration ax25ipd pour la station floyd.vk5xxx.ampr.org
#
# Transport axip. 'ip' garantit la compatibilite avec la plupart des
# autres passerelles.
#
socket ip
#
# Mode d'operation de ax25ipd (digi ou tnc)
#
mode tnc
#
# Si digi est selectionne, vous devez definir un identifiant. Si vous avez
# choisi tnc, l'identifiant est optionnel mais cela pourrait changer dans le
# futur (2 identifiants pour une kiss double port).
#
#mycall vk5xxx-4
#mycall2 vk5xxx-5
#
# En mode digi, on peut definir un alias (2 etc.).
#
#myalias svwdns
#myalias2 svwdn2
#
# ident toutes les 540 secondes ...
#
#beacon after 540
#btext ax25ip -- tncmode rob/vk5xxx -- Experimental AXIP gateway
#
# Port serie (ou tuyau connecte a kissattach dans mon cas)
#
device /dev/ttyq0
#
# Vitesse du peripherique
#
speed 9600
#
# niveau de log 0 - pas de sortie
# niveau de log 1 - informations de configuration
# niveau de log 2 - evenements majeurs et erreurs
# niveau de log 3 - evenements majeurs, erreurs et suivi des trames AX.25
# niveau de log 4 - tout
# niveau de log 0 pour le moment
#
loglevel 2
#
# En mode digi, on peut avoir un veritable tnc. param permet de passer les
# parametres tnc.
#
#param 1 20
#
# Adresses de broadcast. Chaque adresse figurant dans la liste sera relayee
# vers une des routes munies de l'indicateur idoine.
#
broadcast QST-0 NODES-0
#
# Definition des routes AX.25. Autant que necessaires
# Format :
# route <id destination> <ip destination> [indicateur]
#
# Indicateurs valides :
#         b  - broadcast
#         d  - route par defaut
#
route vk2sut-0 44.136.8.68 b
route vk5xxx 44.136.188.221 b
route vk2abc 44.1.1.1
#
#

  Excuter _ax25ipd_

   _Commencez par mettre en palce le fichier /etc/ax25/axports_

# /etc/ax25/axports
#
axip    VK2KTJ-13       9600    256     AXIP port
#

   _Excutez kissattach pour crer le port : _

/usr/sbin/kissattach /dev/ptyq0 axip

   _Lancez ax25ipd : _

/usr/sbin/ax25ipd &

   _Testez la liaison AXIP : _

call axip vk5xxx

  Remarques concernant certains indicateurs des routes

   "route" met en place les destinations d'envoi de vos trames AX.25
   encapsules. Lorsque le dmon _ax25ipd_ reoit un paquet sur son
   interface, il compare l'identifiant de destination avec chacun de ceux
   prsents dans sa table de routage. S'il trouve une correspondance, le
   paquet est alors encapsul dans un datagramme IP et transmis  l'hte
   spcifi.

   Deux indicateurs peuvent tre ajouts  n'importe quelle route du
   fichier ax25ipd.conf :

   _b_
          tout trafic  destination d'une adresse repre par le mot-clef
          "broadcast" doit transiter par cette route.

   _d_
          tout paquet ne correspondant  aucune autre route doit suivre
          ce chemin.

   L'indicateur de broadcast est trs utile puisqu'il permet l'envoi
   d'informations  destination de toutes les stations vers des stations
   AXIP : les routes axip fonctionnent normalement en point--point et
   sont incapables de grer des paquets de diffusion gnrale.

21.4 Lier NOS  Linux au moyen d'un pipe

   De nombreuses personnes aiment se servir de NOS sous Linux en raison
   de la richesse fonctionnelle et de la facilit d'emploi auxquelles il
   les a habitues. La plupart d'entre eux souhaitent que leur version de
   NOS puisse dialoguer avec le noyau Linux de faon  offrir certaines
   des possibilits de Linux aux radio-utilisateurs de NOS.

   Brandon S. Allbery, alias KF8NH, a fourni les informations qui suivent
   relatives  l'interconnexion de NOS avec le noyau Linux par
   l'intermdiaire de tuyaux (pipe).

   Linux et NOS grant tous deux le protocole SLIP, il est possible de
   les relier au moyen d'une liaison slip. Vous pourriez le faire grce 
   deux ports srie et  un cble null-modem mais ce serait aussi coteux
   qu'inefficace. Comme d'autres systmes de type Unix, Linux dispose de
   tuyaux dits `pipes' (prononcer paillepeu). Il s'agit de
   pseudo-priphriques qui mulent le comportement de tty usuels du
   point de vue des logiciels en redirigeant le flux vers d'autres
   tuyaux. Pour les utiliser, un programme doit d'abord ouvrir
   l'extrmit _matre_ d'un tuyau aprs quoi un second programme peut
   ouvrir la terminaison _esclave_. Lorsque les deux bouts sont ouverts,
   les programmes peuvent communiquer l'un avec l'autre en crivant des
   caractres dans les tuyaux comme s'il s'agissait de terminaux usuels.

   Pour employer les tuyaux entre NOS et Linux, vous devez d'abord
   choisir un tuyau. Le rpertoire /dev en regorge : les extrmits
   matres se nomment ptyq[1-f] et celles esclaves ttyq[1-f]. Gardez 
   l'esprit qu'elles fonctionnent par paires et que si vous utilisez
   /dev/ptyqf  un bout, vous devrez employer /dev/ttyqf  l'autre.

   Une fois le tuyau choisi, vous allouez la terminaison matre  Linux
   et l'esclave  NOS (le noyau dmarre le premier et l'extrmit matre
   doit tre la premire ouverte). N'oubliez pas que le noyau Linux doit
   tre muni d'une adresse IP diffrente de celle de NOS. A mettre en
   place si ce n'est pas dj le cas.

   Le tuyau se configure comme un priphrique srie. Pour une liaison
   slip, les commandes  excuter seront donc du type :

# /sbin/slattach -s 38400 -p slip /dev/ptyqf &
# /sbin/ifconfig sl0 broadcast 44.255.255.255 pointopoint 44.70.248.67 /
        mtu 1536 44.70.4.88
# /sbin/route add 44.70.248.67 sl0
# /sbin/route add -net 44.0.0.0 netmask 255.0.0.0 gw 44.70.248.67

   Dans cet exemple, le noyau Linux dispose de l'adresse 44.70.4.88 et
   NOS de l'adresse 44.70.248.67. La commande _route_ de la dernire
   ligne indique simplement au noyau Linux qu'il doit router tous les
   datagrammes  destination d'amprnet via le lien slip cr par la
   commande _slattach_. Vous pouvez par exemple copier ces commandes dans
   le fichier /etc/rc.d/rc.inet2 (selon votre installation) aprs toutes
   les autres commandes de configuration rseau afin que la liaison slip
   apparaisse automatiquement  la rinitialisation du systme.
   Remarque : on ne gagne rien  utiliser _cslip_ au lieu de _slip_. Au
   contraire, les performances diminuent de par la nature purement
   virtuelle du lien (on passe plus de temps  compresser les en-ttes
   qu' transmettre toutes les donnes).

   Essayez les commandes suivantes pour configurer la terminaison du ct
   NOS :

# you can call the interface anything you want; I use "linux" for convenience.
attach asy ttyqf - slip linux 1024 1024 38400
route addprivate 44.70.4.88 linux

   Ces commandes crent un port slip nomm `linux' sur l'extrmit
   esclave du tuyau et ajoutent une route qui y pointe. Une fois NOS
   dmarr, vous devriez pouvoir excuter des ping et des telnet de NOS
   vers Linux et vice-versa. Si ce n'est pas le cas, vrifiez encore une
   fois que vous ne vous tes tromp nulle part, surtout au niveau des
   adresses et des tuyaux.

22. O trouver de l'information sur... ?

   Ce document suppose une certaine exprience de la transmission paquets
   par radio, et, comme ce n'est pas forcment le cas, j'ai regroup un
   ensemble de rfrences  d'autres informations utiles.

22.1 Transmission paquets par radio

   Vous trouverez des informations gnrales sur la transmission paquets
   par radio sur les sites suivants :

     American Radio Relay League,

     Radio Amateur Teleprinter Society

     Tucson Amateur Packet Radio Group

22.2 Documentation sur les protocoles

     AX.25, NetRom - Jonathon Naylor a regroup de nombreux documents sur
   le sujet qui sont disponibles via : ax25-doc-1.0.tar.gz

22.3 Documentation sur le matriel

     Informations sur la carte _PI2_ : Ottawa Packet Radio Group.

     Informations sur le matriel _Baycom_ : Baycom Web Page.

23. Groupes de discussion radioamateurs et Linux

   Il existe plusieurs endroits o parler de Linux ou de radio
   amateurisme. Par exemple dans les groupes de discussion
   comp.os.linux.*, sur la liste de diffusion HAMS de vger.rutgers.edu.
   Mentionnons galement la liste tcp-group sur ucsd.edu (origine des
   discussions TCP/IP radio amateur) et le canal #linpeople sur le rseau
   irc linuxnet.

   Pour vous abonner  la liste de diffusion Linux _linux-hams_, envoyez
   un courrier  :

Majordomo@vger.rutgers.edu

   avec dans le corps du message la ligne suivante :

subscribe linux-hams

   La ligne de sujet sera ignore.

   La liste de diffusion _linux-hams_ est archive aux adresses :

   zone.pspt.fi et : zone.oh7rba.ampr.org. Les dbutants sont pris de
   commencer par utiliser les archives. Celles-ci contiennent des
   rponses  l'essentiel des questions courantes.

   Pour souscrire  la liste tcp-group, envoyez un courrier  l'adresse :

listserver@ucsd.edu

   avec dans le corps du message la ligne :

subscribe tcp-group

   _Remarque :_ n'oubliez pas que tcp-group a pour thme les discussions
   autour de l'emploi des protocoles volus parmi lesquels figure
   TCP/IP. _Les questions spcifiques  Linux n'y ont normalement pas
   leur place. _

24. Remerciements

   Les personnes dont les noms suivent ont contribu  l'laboration de
   ce document (l'ordre n'a pas d'importance): Jonathon Naylor, Thomas
   Sailer, Joerg Reuter, Ron Atkinson, Alan Cox, Craig Small, John
   Tanner, Brandon Allbery, Hans Alblas, Klaus Kudielka, Carl Makin.

25. Copyright.

   Copyright (c) 1996 Terry Dawson.

   La distribution de ce document doit se conformer aux termes de la
   licence LDP tels que dfinis  l'adresse :
   sunsite.unc.edu/LDP/COPYRIGHT.html.
