Linux AX.25-HOWTO, Amateur Radio.
 Terry Dawson, VK2KTJ, [email protected],
 traduit par Fran�ois Romieu,  <[email protected]>
 v1.5, 17 Octobre 1997

 Le syst�me d'exploitation Linux est s�rement le seul au monde � pou�
 voir se vanter d'offrir un support natif du protocole de transmission
 de donn�es AX.25 employ� par les radioamateurs � travers le monde. Le
 pr�sent document se veut un guide d'installation et de configuration
 de cette prise en charge.
 ______________________________________________________________________

 Table des mati�res





















































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

    1.1  Modifications par rapport � la version pr�c�dente
    1.2  Nouvelles versions du document
    1.3  Autres documents

 2.  Les protocoles de paquets par radio et Linux

    2.1  Fonctionnement

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

    3.1  R�cup�ration du noyau, des outils et utilitaires
       3.1.1  Sources du noyau
       3.1.2  Les outils r�seau
       3.1.3  Les utilitaires AX.25

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

    4.1  Compilation du noyau
       4.1.1 Un mot sur les modules
       4.1.2 Qu'y a-t-il de nouveau dans les noyaux 2.0.x patch�s et les 2.1.y ?
    4.2  Les outils de configuration du r�seau
       4.2.1  Patch correctif incluant la gestion Rose
       4.2.2  Compilation des net-tools standard
    4.3  Utilitaires et applications AX.25

 5.  Num�ros d'identification, adresses et pr�liminaires divers

    5.1  Que sont les T1, T2, N2 ?
    5.2  Param�tres configurables dynamiquement

 6.  Configuration d'un port AX.25

    6.1  Cr�ation des p�riph�riques AX.25
       6.1.1  Cr�ation des p�riph�riques KISS
          6.1.1.1  Configuration des TNC Dual Port
       6.1.2  Cr�ation d'un p�riph�rique Baycom
       6.1.3  Configuration des param�tres d'acc�s au canal AX.25
          6.1.3.1  Configuration d'AX.25 avec le pilote BayCom
       6.1.4  Cr�ation d'un p�riph�rique modem-son
          6.1.4.1  Configuration de la carte son
          6.1.4.2  Configuration des p�riph�riques modem-son
          6.1.4.3  Configuration des param�tres d'acc�s au canal AX.25
          6.1.4.4  Choix du volume et ajustement du pilote
          6.1.4.5  Configuration d'AX.25 avec le pilote SoundModem
       6.1.5  Cr�ation d'un p�riph�rique � base de carte PI
       6.1.6  Cr�ation d'un p�riph�rique PacketTwin
       6.1.7  Cr�ation d'un p�riph�rique SCC g�n�rique
          6.1.7.1  R�cup�ration et compilation des outils de configuration
          6.1.7.2  Configurer le pilote pour sa carte
             6.1.7.2.1  Configuration des param�tres mat�riels
          6.1.7.3  Configuration du canal
          6.1.7.4  Utilisation du pilote
          6.1.7.5 Les outils
       6.1.8  Cr�ation d'un p�riph�rique BPQ
       6.1.9  Configuration d'un noeud BPQ pour le dialogue avec la couche AX.25 de Linux
    6.2  Mise au point du fichier
    6.3  Routage AX.25

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

 8.  Configuration d'un port NetRom

    8.1  Le fichier
    8.2  Le fichier
    8.3  Cr�ation des p�riph�riques r�seau NetRom
    8.4  Lancement du d�mon NetRom
    8.5  Routage NetRom

 9.  TCP/IP sur une interface NetRom

 10.  Configuration des ports Rose

    10.1  Le fichier
    10.2  Cr�ation des p�riph�riques r�seau Rose
    10.3  Routage Rose

 11.  Communications AX.25/NetRom/Rose

 12.  Configurer Linux pour accepter les connexions

    12.1  Le fichier
    12.2  Un exemple de fichier
    12.3  Lancer

 13.  Le logiciel

    13.1  Le fichier
    13.2  Le fichier
    13.3  Ex�cution de
    13.4  Ex�cution de

 14.  Configuration de

    14.1  Mise au point du fichier

 15.  Configuration de

    15.1  Mise au point du fichier
    15.2  Mise au point du fichier
    15.3  Associer les identifiants AX.25 aux comptes utilisateurs
    15.4  Ajout de PMS au fichier
    15.5  Tester PMS

 16.  Configuration des programmes

 17.  Configuration des commandes Rose Uplink et Downlink

    17.1  Configuration d'une liaison Rose descendante
    17.2  Configuration d'un liaison Rose montante

 18.  Association des identifiants AX.25 aux comptes utilisateurs

 19.  Entr�es du syst�me de fichier

 20.  Programmation r�seau AX.25, NetRom, Rose

    20.1  Familles d'adresses
    20.2  Fichiers d'en-t�te
    20.3  Mise en forme des identifiants et exemples

 21.  Quelques configurations-types

    21.1  Un petit r�seau Ethernet local avec un routeur Linux vers un r�seau radio local
    21.2  Passerelle d'encapsulation IP dans IP
    21.3  Configuration d'une passerelle d'encapsulation AXIP
       21.3.1  Options de configuration d'AXIP
       21.3.2  Un fichier de configuration
       21.3.3  Ex�cuter
       21.3.4  Remarques concernant certains indicateurs des routes
    21.4  Lier NOS � Linux au moyen d'un pipe
 22.  O� trouver de l'information sur... ?

    22.1 Transmission paquets par radio
    22.2 Documentation sur les protocoles
    22.3 Documentation sur le mat�riel

 23.  Groupes de discussion radioamateurs et Linux

 24.  Remerciements

 25.  Copyright.



 ______________________________________________________________________

 11..  LLee ddooccuummeenntt ttrroouuvvee ssoonn oorriiggiinnee ddaannss uunnee aannnneexxee dduu HHAAMM--HHOOWWTTOO..
 LL''iimmppoorrttaannccee ddee ssoonn dd��vveellooppppeemmeenntt ddeevviinntt cceeppeennddaanntt iinnccoommppaattiibbllee aavveecc
 uunnee tteellllee oorrggaanniissaattiioonn.. LL''iinnssttaallllaattiioonn eett llaa pprriissee eenn cchhaarrggee iinntt��ggrr��ee
 dd''AAXX..2255,, llaa ggeessttiioonn NNeettRRoomm eett RRoossee ssoouuss LLiinnuuxx ssoonntt dd��ccrriitteess.. QQuueellqquueess
 eexxeemmpplleess ddee ccoonnffiigguurraattiioonnss ttyyppiiqquueess ffoouurrnniisssseenntt uunnee bbaassee ddee ttrraavvaaiill..
 IInnttrroodduuccttiioonn..

 La mise en oeuvre des protocoles radioamateurs sous Linux est tr�s
 souple.  Les personnes peu famili�res du syst�me d'exploitation Linux
 trouveront peut-�tre la configuration un peu obscure. Il vous faudra
 un certain temps pour ma�triser l'interaction des diff�rents �l�ments.
 Attendez-vous � une configuration p�nible si vous ne vous �tes pas
 auparavant familiaris� avec Linux. N'esp�rez pas passer � Linux depuis
 un autre environnement en faisant l'�conomie de tout apprentissage.


 11..11..  MMooddiiffiiccaattiioonnss ppaarr rraappppoorrtt �� llaa vveerrssiioonn pprr��cc��ddeennttee


 Ajouts:
         Page ouaibe de Joerg Reuters
         Section "Informations suppl�mentaires"
         configuration d'ax25ipd.

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

 A faire:
         Mettre au point la section SCC qui est s�rement erron�e
         �toffer la section touchant � la programmation





 11..22..  NNoouuvveelllleess vveerrssiioonnss dduu ddooccuummeenntt

 Les archives du Projet de Documentation Linux (LDP ou Linux
 Documentation Project) constituent le meilleur emplacement o� trouver
 la derni�re mouture de ce texte. Le LDP tient � jour un site ouaibe
 dans lequel figure l'AX.25 HOWTO : AX.25-HOWTO
 <http://sunsite.unc.edu/LDP/HOWTO/AX.25-HOWTO.html>.  Le texte est
 disponible sous diff�rents formats � l'adresse suivante : archive ftp
 sunsite.unc.edu <ftp://sunsite.unc.edu/pub/Linux/docs/howto/>.  La
 version fran�aise est accessible via : archive Traduc.org
 <ftp://ftp.traduc.org/pub/HOWTO/FR>.

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


 11..33..  AAuuttrreess ddooccuummeennttss

 La documentation sur les sujets apparent�s ne manque pas. Bon nombre
 de textes traitent de l'utilisation g�n�rale de Linux en r�seau 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 <http://sunsite.unc.edu/LDP/HOWTO/HAM-HOWTO.html>,

 NET-3-HOWTO <http://sunsite.unc.edu/LDP/HOWTO/NET-3-HOWTO.html>,

 Ethernet-HOWTO <http://sunsite.unc.edu/LDP/HOWTO/Ethernet-HOWTO.html>,

 et :

 le Firewall-HOWTO <http://sunsite.unc.edu/LDP/HOWTO/Firewall-
 HOWTO.html>

 Des informations plus g�n�rales sur Linux sont disponibles : Linux
 HOWTO <http://sunsite.unc.edu/LDP/HOWTO/>


 22..  LLeess pprroottooccoolleess ddee ppaaqquueettss ppaarr rraaddiioo eett LLiinnuuxx

 Le protocole _A_X_._2_5 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 r�seau
 complet.  Il repose sur AX.25 au niveau liaison de donn�es et procure
 une couche r�seau d�riv�e d'AX.25. Le protocole NetRom autorise le
 routage dynamique et la cr�ation d'alias pour les noeuds.

 Le protocole Rose a �t� initialement con�u et r�alis� par Tom Moulton
 alias W2VY. Il constitue une mise en oeuvre du protocole par paquets
 X25 et peut inter-op�rer avec AX.25 au niveau liaison. Il fournit des
 services de couche r�seau. Les adresses Roses comportent 10 digits.
 Les quatre premiers constituent le code d'identification du r�seau de
 donn�es (DNIC ou Data Network Identification Code) et sont r�f�renc�s
 dans l'Appendice B de la recommandation X121 du CCITT. Des
 informations suppl�mentaires sur le protocole Rose sont disponibles
 sur le site suivant : Serveur Web RATS <http://www.rats.org/>.

 Alan Cox a cr�� les toutes premi�res versions de support noyau pour
 AX.25.  Jonathon Naylor <[email protected]> a poursuivi le
 d�veloppement, ajout� la gestion de NetRom et de Rose et assure �
 pr�sent officiellement la maintenance du code noyau relatif � AX.25.
 La prise en compte de DAMA est l'oeuvre de Joerg, DL1BKE,
 [email protected].  Thomas Sailer, <[email protected]> s'est
 charg� des mat�riels Baycom et SoundModem. J'assure pour ma part le
 suivi des utilitaires AX.25.

 Linux g�re les TNC (Terminal Node Controllers) KISS, les cartes Ottawa
 PI, les PacketTwin Gracilis et autres cartes � base de SCC Z8530 via
 le pilote SCC g�n�rique ainsi que les modems sur ports s�rie et
 parall�le 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 r�cup�ration 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 g�re les demandes de connexions AX.25 et un d�mon
 qui se charge de l'essentiel du travail pour le protocole NetRom.


 22..11..  FFoonnccttiioonnnneemmeenntt

 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 configur�e pour se comporter de fa�on voisine
 aux autres mais le processus n'en reste pas moins radicalement
 diff�rent.

 Pour vous aider � comprendre la d�marche intellectuelle � suivre lors
 de la configuration, cette section d�crit les fonctionnalit�s
 structurelles d'AX.25 et son adaptation au contexte Linux.

  _D_i_a_g_r_a_m_m_e _s_i_m_p_l_i_f_i_� _d_e_s _c_o_u_c_h_e_s _p_r_o_t_o_c_o_l_a_i_r_e_s


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




 Le diagramme pr�c�dent 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 diff�rent au niveau de l'interface de
 programmation. Les noms `AF_' correspondent aux noms donn�s aux
 `_F_a_m_i_l_l_e_s _d_'_A_d_r_e_s_s_e_s' 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.

  _D_i_a_g_r_a_m_m_e _d_e_s _m_o_d_u_l_e_s _l_o_g_i_c_i_e_l_s _d_e _l_a _p_i_l_e _r_�_s_e_a_u _d_e _L_i_n_u_x
















 ---------------+-----------+-----------------------++----------+---------------
   Utilisateur  |Programmes |   call        node    ||  D�mons  | ax25d  mheardd
                |           |   pms         mheard  ||          | inetd  netromd
 ---------------+-----------+-----------------------++----------+---------------
                |Sockets    | open(), close(), listen(), read(), write(), connect()
                |           +----------------------+-------------------+----------
                |           |    AF_AX.25   |  AF_NETROM |   AF_ROSE   |  AF_INET
                +-----------+--------------+-------+-----+-------------+----------
 Noyau          |Protocoles |    AX.25     |   NetRom    |     Rose    | IP/TCP/UDP
                +-----------+--------------+-------------+-------------+----------
                |P�riph.    |    ax0,ax1   |  nr0,nr1    | rose0,rose1 | eth0,ppp0
                +-----------+--------------+-------------+-------------+----------
                |Pilotes    |  Kiss   PI2   PacketTwin   SCC   BPQ     | slip ppp
                |           |    modems type son   Baycom              | ethernet
 ---------------+-----------+------------------------------------------+-----
 Mat�riel | Cartes PI2, PacketTwin, SCC, S�rie, Ethernet
 ----------------------------------------------------------------------------


 Ce diagramme est plus g�n�ral que le pr�c�dent. Il montre les rela�
 tions entre les applications, le noyau et le mat�riel ainsi qu'entre
 l'interface de programmation des sockets, les modules de protocoles,
 les p�riph�riques r�seau et leurs pilotes. Chaque niveau d�pend de
 celui sur lequel il repose et, de fa�on g�n�rale, la configuration
 doit se faire de bas en haut. Par exemple, si vous souhaitez ex�cuter
 le programme _c_a_l_l, vous devez configurer le mat�riel, v�rifier que le
 pilote ad�quat est inclus dans le noyau, cr�er les p�riph�riques noy�
 aux correspondants et inclure le protocole requis par le programme
 _c_a_l_l. J'ai essay� d'organiser le pr�sent document de cette fa�on.


 33..  CCoommppoossaannttss llooggiicciieellss ddee llaa ssuuiittee AAXX..2255//NNeettRRoomm//RRoossee

 Le paquetage AX.25 comprend trois volets : les sources du noyau, les
 outils de configuration r�seau 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 am�liorent substantiellement. L'emploi d'un noyau 2.1.* dans un
 syst�me de production est vivement d�conseill�. Pour y rem�dier,
 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 tr�s simple et apporte une palette de fonctionnalit�s
 autrement absentes du noyau tel le support Rose.  L'emploi d'un noyau
 2.2.x est �galement envisageable.


 33..11..  RR��ccuupp��rraattiioonn dduu nnooyyaauu,, ddeess oouuttiillss eett uuttiilliittaaiirreess



 33..11..11..  SSoouurrcceess dduu nnooyyaauu

 Les sources du noyau sont disponibles via le r�seau de miroirs de
 ftp.kernel.org : ffttpp..xxxx..kkeerrnneell..oorrgg o� xx d�signe un code pays tel fr,
 uk, de, us, etc...  Les diff�rentes version du noyau se trouvent en :


      /pub/linux/kernel/




 Version courante de mise � jour d'AX.25 : ffttpp..ppsspptt..ffii


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





 33..11..22..  LLeess oouuttiillss rr��sseeaauu

 Derni�re version alpha des outils r�seau standard pour Linux g�rant
 AX.25 et NetRom : ffttpp..iinnkkaa..ddee


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





 Paquetage ipfwadm : ffttpp..xxooss..nnll


      /pub/linux/ipfwadm/




 En 2.2.x, le paquetage _i_p_c_h_a_i_n_s remplace ipfwadm devenu obsol�te.


 33..11..33..  LLeess uuttiilliittaaiirreess AAXX..2255

 Il existe deux familles distinctes d'outils AX.25. L'une d�di�e aux
 noyaux 2.0.* et l'autre destin�e aussi bien aux version 2.1.*  qu'aux
 noyaux 2.0.* patch�s. Le num�ro 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
 appropri�e.  Les combinaisons suivantes fonctionnent,  uuttiilliisseezz lleess .


      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




 NNoottee: les versions ax25-utils-2.0.* identifi�es ci-dessus avec le
 symbole '**' sont � pr�sent obsol�tes. Le document couvre l'emploi des
 logiciels conseill�s dans les tables. Bien que les paquetages
 diff�rent, la plus grande partie des informations reste valable pour
 les versions suivantes.

 Utilitaires AX.25 : ftp.pspt.fi
 <ftp://ftp.pspt.fi/pub/linux/ham/ax25/> ou : sunsite.unc.edu
 <ftp://sunsite.unc.edu/pub/Linux/apps/ham/>


 44..  IInnssttaallllaattiioonn ddeess llooggiicciieellss AAXX..2255//NNeettRRoomm//RRoossee

 Une mise en oeuvre correcte d'AX.25 dans votre syst�me Linux n�cessite
 l'installation et la configuration d'un noyau appropri� ainsi que des
 utilitaires AX.25.


 44..11..  CCoommppiillaattiioonn dduu nnooyyaauu

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

 En principe, les sources du noyau sont d�compact�es au niveau du
 r�pertoire /usr/src dans un sous-r�pertoire nomm� linux. Pour ce
 faire, prenez l'identit� du super-utilisateur root et ex�cutez 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 d�compact�es et la mise � jour
 appliqu�e, lancez le script de configuration et activez les options
 qui correspondent � la configuration mat�rielle dont vous souhaitez
 disposer. Vous utiliserez la commande :


      # make menuconfig




 Si vous �tes b�te^H^H^H^Hcourageux, vous pouvez essayer


      # make config




 Les claviophobes se serviront de :


      # make xconfig




 Je vais d�crire la m�thode plein-�cran (menuconfig) dont j'appr�cie la
 facilit� de d�placement mais vous �tes libre d'en utiliser une autre.

 Dans tous les cas, vous devrez choisir parmi une s�rie d'options
 auxquelles il faudra r�pondre 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 ddeevveezz r�pondre `Y' aux options marqu�es d'un *'. Le reste d�pend
 de votre configuration mat�rielle et d'options laiss�es � votre choix.
 Certaines de ces options sont d�crites un peu plus loin. Si vous ne
 voyez pas ce dont il retourne, continuez la lecture et revenez � cette
 section ult�rieurement.

 Une fois la configuration du noyau achev�e, vous devriez pouvoir
 compiler proprement un nouveau noyau :



      # make dep
      # make clean
      # make zImage




 D�placez ensuite le fichier arch/i386/boot/zImage et �ditez le fichier
 /etc/lilo.conf en cons�quence avant de relancer _l_i_l_o pour �tre s�r que
 vous d�marrerez bien sur le bon noyau.





 44..11..11..  UUnn mmoott ssuurr lleess mmoodduulleess

 Je vous recommande de ne ppaass 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 probl�mes avec les modules, non par la faute du code, mais parce
 que les modules sont plus compliqu�s � installer et � configurer.
 [NdT:manifestement nous ne faisons pas le m�me 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 ad�quat.

 Certains ajouts au fichier /etc/conf.modules sont n�cessaires afin que
 _k_e_r_n_e_l_d sache g�rer l'interface d'acc�s aux fonctions modularis�es.
 Les entr�es suivantes doivent �tre pr�sentes :


      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.


 44..11..22..  QQuu''yy aa--tt--iill ddee nnoouuvveeaauu ddaannss lleess nnooyyaauuxx 22..00..xx ppaattcchh��ss eett lleess
 22..11..yy ??

 Les noyaux 2.1.* pr�sentent des am�liorations au niveau de quasiment
 tous les pilotes et protocoles. Citons les plus significatives :

    MMoodduullaarriissaattiioonn
       tous les protocoles et gestionnaires ont �t� modularis�s de
       fa�on � �tre g�r�s via _i_n_s_m_o_d et _r_m_m_o_d. La m�moire demand�e par
       le noyau diminue dans le cas de modules employ�s par
       intermittence. Le d�veloppement et la mise au point des
       gestionnaires devient �galement plus facile. Cela �tant, la
       configuration devient l�g�rement plus compliqu�e.

    UUnniiffoorrmmiissaattiioonn ddeess ppiillootteess
       l'acc�s aux p�riph�riques tels les Baycom, SCC, PI, PacketTwin
       et autres a maintenant lieu via une interface r�seau usuelle
       semblable � celle du gestionnaire ethernet. Ils n'apparaissent
       d�sormais plus comme des TNC KISS. L'utilitaire _n_e_t_2_k_i_s_s permet
       de cr�er une interface KISS pour ces p�riph�riques si on le
       souhaite.

    bbuuggss
       il y a eu de nombreuses corrections et des fonctionnalit�s ont
       �t� ajout�es tel le protocole Rose.



 44..22..  LLeess oouuttiillss ddee ccoonnffiigguurraattiioonn dduu rr��sseeaauu

 A pr�sent que le noyau est compil�, vous devez faire de m�me avec les
 nouveaux outils de configuration du r�seau. Ces outils permettent de
 modifier la configuration des p�riph�riques r�seau et des tables de
 routage.

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


 44..22..11..  PPaattcchh ccoorrrreeccttiiff iinncclluuaanntt llaa ggeessttiioonn RRoossee

 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
 <ftp://zone.pspt.fi/pub/linux/ham/ax25/net-
 tools-1.33.rose.tjd.diff.gz>.



 44..22..22..  CCoommppiillaattiioonn ddeess nneett--ttoooollss ssttaannddaarrdd

 Lisez le fichier Release et suivez les indications qui y sont donn�es.
 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




 Arriv�s � ce point, vous devrez r�pondre � une s�rie de questions de
 configuration d'une fa�on similaire � ce qui se fait pour le noyau.
 N'oubliez pas d'inclure tous les protocoles et gestionnaires de
 p�riph�riques dont vous souhaitez vous servir ult�rieurement. Dans le
 doute, r�pondez par l'affirmative (``Y'').

 Une fois la compilation effectu�e :

 # make install




 installera les programmes � leur place d�finitive.


 Pour disposer des fonctionnalit�s de type pare-feu IP (firewall), vous
 aurez besoin des derniers outils d'administration ipfwadm.  Ils
 remplacent ipfw qui ne fonctionne � pr�sent 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





 44..33..  UUttiilliittaaiirreess eett aapppplliiccaattiioonnss AAXX..2255

 Une fois les �tapes de compilation et de red�marrage du noyau men�es �
 leur terme avec succ�s, 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 install�s par d�faut dans les sous-r�pertoires bin,
 sbin, etc et man du r�pertoire /usr.

 S'il s'agit de la premi�re installation des utilitaires AX.25 sur
 votre syst�me, vous devrez installer quelques fichiers de
 configuration type dans le r�pertoire /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.)

 v�rifiez encore une fois que les _n_c_u_r_s_e_s sont correctement install�es.
 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.


 55..  NNuumm��rrooss dd''iiddeennttiiffiiccaattiioonn,, aaddrreesssseess eett pprr��lliimmiinnaaiirreess ddiivveerrss

 Chaque port AX.25 et NetRom sur votre syst�me doit se voir allouer un
 num�ro d'identification (callsign/ssid). Il se configure dans les
 fichiers dont il va �tre � pr�sent question.

 Certaines mises en oeuvre d'AX.25 telles NOS et BPQ permettent
 l'emploi d'un ssid commun sur un m�me port AX.25 et NetRom. Pour des
 raisons techniques assez compliqu�es, Linux l'interdit. En pratique,
 �a ne s'av�re pas un probl�me aussi important qu'on pourrait le
 croire.

 Cela signifie que vous devez garder pr�sents � l'esprit certains
 �l�ments lorsque vous configurez votre syst�me.


 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 re�oit
    (celui dont il est question juste au-dessus).

 3. NetRom emploie le ssid sp�cifi� dans son fichier de configuration
    mais seulement lorsqu'il dialogue avec un autre NetRom. Il ne
    s'agit ppaass du ssid que les clients AX.25 de votre noeud NetRom vont
    employer.  Davantage de d�tails sur ce point tout � l'heure.

 4. Rose utilise par d�faut le ssid du port AX.25 � moins qu'on ne lui
    en sp�cifie explicitement un autre gr�ce � la commande `_r_s_p_a_r_m_s'
    qui forcera le m�me ssid sur ttoouuss les ports.

 5. Les autres programmes tels `_a_x_2_5_d' �coutent via un ssid quelconque
    qui n'est soumis � aucune contrainte d'unicit� entre ports
    diff�rents.

 6. Si le routage est fait avec attention, vous pouvez affecter la m�me
    adresse IP � tous les ports.


 55..11..  QQuuee ssoonntt lleess TT11,, TT22,, NN22 ??

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
















 -------+----------+------------------------------------------------
 Linux  | TAPR TNC | Description
 -------+----------+------------------------------------------------
 T1     | FRACK    | Temps d'attente avant retransmission d'une
        |          | trame priv�e d'accus� de r�ception.
 -------+----------+------------------------------------------------
 T2     | RESPTIME | Temps minimum d'attente entre trames avant
        |          | �mission d'un acquittement.
 -------+----------+------------------------------------------------
 T3     | CHECK    | P�riodicit� d'�mission d'un paquet de
        |          | v�rification de l'�tat de la connexion.
 -------+----------+------------------------------------------------
 N2     | RETRY    | Nombre de tentatives de retransmission avant
        |          | de signaler un �chec.
 -------+----------+------------------------------------------------
 Idle   |          | Dur�e d'inactivit� d'une connexion avant sa
        |          | fermeture.
 -------+----------+------------------------------------------------
 Window | MAXFRAME | Nombre maximal de trames transmises sans
        |          | acquittement.
 -------+----------+------------------------------------------------





 55..22..  PPaarraamm��ttrreess ccoonnffiigguurraabblleess ddyynnaammiiqquueemmeenntt

 Les noyaux 2.1.* et 2.0.* +moduleXX permettent la modification � la
 vol�e de param�tres auparavant statiques. Un examen attentif de la
 structure du r�pertoire /proc/sys/net/ r�v�le de nombreux fichiers
 dont les noms correspondent � ceux de param�tres r�seau.  Les fichiers
 dans le r�pertoire /proc/sys/net/ax25/ repr�sentent chacun un port
 AX.25 configur�. Le nom du fichier refl�te celui du port.  La
 structure des fichiers dans /proc/sys/net/ax25/<portname>/ est la
 suivante :

 Fichier               Signification         Valeur                   D�faut
 ip_default_mode       Mode IP par d�faut    0=DG 1=VC                0
 ax25_default_mode     Mode AX.25 par d�faut 0=normal 1=�tendu        0
 backoff_type          Backoff               0=Lin�aire 1=exponentiel 1
 connect_mode          Mode connect�         0=non 1=oui              1
 standard_window_size  Fen�tre standard      1  <= N <= 7             2
 extended_window_size  Fen�tre �tendue       1  <= N <= 63            32
 t1_timeout            D�lai maximal T1      1s <= N <= 30s           10s
 t2_timeout            D�lai maximal T2      1s <= N <= 20s           3s
 t3_timeout            D�lai 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 donn�s en secondes tandis que la dur�e d'inactivit�
 est en minutes. Notez que les valeurs employ�es dans l'interface
 sysctl s'expriment dans une unit� interne multiple par 10 du temps en
 secondes. La r�solution atteint donc le dixi�me de seconde. Dans le
 cas d'une alarme qui peut �tre nulle, c'est � dire pour T3 et pour la
 dur�e d'inactivit�, une valeur nulle �quivaut � une d�sactivation.


 La structure des fichiers dans /proc/sys/net/netrom/ est la suivante :





 Fichier                                    Valeur par d�faut
 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 d�faut
 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 param�tre se fait simplement en l'�crivant dans
 le fichier. Par exemple, pour v�rifier puis modifier la taille de
 fen�tre Rose, vous pourriez ex�cuter :


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





 66..  CCoonnffiigguurraattiioonn dd''uunn ppoorrtt AAXX..2255

 Chaque application AX.25 n�cessite un fichier de configuration
 sp�cifique pour obtenir les param�tres des ports AX.25 d�finis sur
 votre syst�me.  Pour les ports AX.25, il s'agit du fichier
 /etc/ax25/axport. Chaque port dont vous souhaitez vous servir doit
 �tre r�pertori� dans ce fichier.


 66..11..  CCrr��aattiioonn ddeess pp��rriipphh��rriiqquueess AAXX..2255

 Le p�riph�rique r�seau correspond � ce qui appara�t lorsque vous
 entrez la commande `_i_f_c_o_n_f_i_g'. Il s'agit de l'abstraction logicielle
 par le biais de laquelle le noyau Linux �met et re�oit des donn�es
 r�seau. Presque tous les p�riph�riques r�seau sont associ�s � une
 entit� mat�rielle mais il y a certaines exceptions. Le p�riph�rique
 r�seau se rattache directement � un gestionnaire de p�riph�rique.

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

 Chacun de ces pilotes cr�e un p�riph�rique lors de son invocation.


 66..11..11..  CCrr��aattiioonn ddeess pp��rriipphh��rriiqquueess KKIISSSS

 OOppttiioonnss ddee ccoonnffiigguurraattiioonn dduu nnooyyaauu :


      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 s�rie constitue s�rement la configuration la
 plus courante. � vous de pr�configurer et de connecter le TNC � un
 port s�rie.  Un programme de communication tel _m_i_n_i_c_o_m ou _s_e_y_o_n vous
 permettra de configurer le TNC en kiss.

 Servez-vous du programme _k_i_s_s_a_t_t_a_c_h pour cr�er les p�riph�riques KISS.
 Par exemple :


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




 Les p�riph�riques KISS se retrouvent sous la d�nomination `ax[0-9]'.
 Au premier appel de _k_i_s_s_a_t_t_a_c_h, `ax0' est cr�� ; au second, `ax1', etc
 ... Chaque p�riph�rique KISS est associ� � un port s�rie.

 _k_i_s_s_p_a_r_m_s permet de positionner divers param�tres sur un p�riph�rique
 KISS.

 De fa�on pr�cise, l'exemple pr�c�dent cr�erait un p�riph�rique KISS
 reposant sur le p�riph�rique s�rie `/dev/ttyS0' et le port `radio' du
 fichier /etc/ax25/axports. Il positionne ensuite _t_x_d_e_l_a_y et _s_l_o_t_t_i_m_e �
 100 ms et _p_p_e_r_s_i_s_t � 25.

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


 66..11..11..11..  CCoonnffiigguurraattiioonn ddeess TTNNCC DDuuaall PPoorrtt

 L'utilitaire _m_k_i_s_s inclus dans le paquetage ax25-utils permet l'emploi
 des modems d'un TNC � doubles ports. La configuration est simple. Elle
 consiste � prendre le contr�le du p�riph�rique s�rie connect� au TNC
 multiports et � le faire ressembler � une collection de p�riph�riques
 chacun connect� � un TNC monoport. Vous devrez le faire _a_v_a_n_t toute
 autre configuration AX.25. Les p�riph�riques que vous configurerez
 correspondent � des pseudo-TTY (/dev/ttyq*) et non aux ports s�rie.
 Les pseudo-TTY mettent en place un �quivalent de tuyau via lequel des
 programmes pr�vus pour dialoguer avec des p�riph�riques de type tty
 peuvent communiquer. Chaque tuyau poss�de une extr�mit� ma�tre
 (`/dev/ptyq*') et une esclave (`/dev/ttyq*'). Les extr�mit�s sont en
 relation telles que si /dev/ptyq0 est l'extr�mit� ma�tre d'un tuyau,
 alors /dev/ttyq0 est son extr�mit� esclave. Le c�t� ma�tre doit �tre
 ouvert avant le c�t� esclave. _m_k_i_s_s divise un p�riph�rique s�rie gr�ce
 � ce m�canisme.


 Par exemple, pour un TNC double-port connect� au port s�rie /dev/ttyS0
 en 9600 bps, les commandes suivantes cr�eront deux pseudo-tty qui se
 comporteront comme des ports s�ries 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 _k_i_s_s_a_t_t_a_c_h comme
 d�crit pr�c�demment dans l'exemple relatif � port1 et port2.
 N'utilisez pas directement _k_i_s_s_a_t_t_a_c_h sur le port s�rie car _m_k_i_s_s y
 acc�de.

 _m_k_i_s_s accepte de nombreux arguments optionnels. En voici un r�sum� :

    --cc provoque l'ajout d'un octet de contr�le � chaque trame KISS.  La
       plupart des mises en oeuvre de KISS ne le g�rent pas. La rom
       KISS G8BPG en est capable.

    --ss <<ssppeeeedd>>
       fixe le d�bit du port s�rie.

    --hh active la n�gociation mat�rielle sur le port s�rie (inactive par
       d�faut). La plupart des mises en oeuvre KISS ne la g�rent pas.

    --ll d�clenche l'�mission de messages � destination de _s_y_s_l_o_g.


 66..11..22..  CCrr��aattiioonn dd''uunn pp��rriipphh��rriiqquuee BBaayyccoomm

 OOppttiioonnss ddee ccoommppiillaattiioonn dduu nnooyyaauu :


      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 tr�s bien sous Linux, Thomas
 Sailer(<[email protected]>) en a d�velopp� le gestionnaire. Son
 pilote g�re les ports s�rie Ser12 et Par96 ainsi que les modems
 parall�les PicPar.  Vous trouverez davantage d'informations concernant
 les modems � l'adresse : Baycom Web site <http://www.baycom.de/>.

 La premi�re �tape consiste � d�terminer les ports d'entr�e/sortie et
 les adresses des ports s�rie ou parall�le auxquels se connecte(nt)
 le(s) modem(s).

 Les p�riph�riques BayCom se retrouvent sous la d�nomination bc0, bc1,
 bc2 etc...

 L'utilitaire _s_e_t_h_d_l_c permet de configurer le pilote avec les
 param�tres pr�c�dents. Si votre syst�me n'est muni que d'un seul
 modem, vous pouvez �galement les passer en argument lors du chargement
 du module avec _i_n_s_m_o_d.

 Un exemple. D�sactivation du gestionnaire du port s�rie COM1: puis
 configuration du pilote BayCom pour un modem s�rie Ser12 sur ce m�me
 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 parall�le de type Par96 sur le port LPT1: utilisant la
 d�tection DCD mat�rielle :


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




 Ce n'est pas la meilleure fa�on de faire. L'utilitaire _s_e_t_h_d_l_c
 fonctionne �galement avec plusieurs p�riph�riques.

 La page de _m_a_n d'_s_e_t_h_d_l_c est tr�s d�taill�e mais quelques exemples
 mettront en lumi�re les aspects les plus importants de la
 configuration.  On suppose que le module BayCom a d�j� �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 parall�le BayCom sur LPT1 avec
 d�tection DCD logicielle :


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




 Configuration de bc1 pour un modem s�rie sur COM1 :


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





 66..11..33..  CCoonnffiigguurraattiioonn ddeess ppaarraamm��ttrreess dd''aacccc��ss aauu ccaannaall AAXX..2255

 Ces param�tres �quivalent � ppersist, txdelay et slottime pour KISS.
 Ici aussi, vous utiliserez _s_e_t_h_d_l_c.

 La page de man relative � _s_e_t_h_d_l_c reste la source d'informations la
 plus compl�te 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 param�tres de dur�e sont donn�s en millisecondes.


 66..11..33..11..  CCoonnffiigguurraattiioonn dd''AAXX..2255 aavveecc llee ppiilloottee BBaayyCCoomm

 Le pilote BayCom cr�e des p�riph�riques r�seau standard dont la
 configuration pour AX.25 est voisine de celle li�e � l'emploi des
 cartes PI ou PacketTwin.

 Tout d'abord il faut donner un num�ro d'identification AX.25 au
 p�riph�rique.  _i_f_c_o_n_f_i_g le fait tr�s bien :


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




 La commande pr�c�dente affecte l'identit� AX.25 VK2KTJ-15 au
 p�riph�rique bc0. Vous disposez �galement de _a_x_p_a_r_m_s mais vous aurez
 de toute fa�on besoin d'_i_f_c_o_n_f_i_g pour activer le p�riph�rique :


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




 L'�tape suivante consiste � ajouter une entr�e dans le fichier
 /etc/ax25/axports comme vous le feriez pour tout autre p�riph�rique.
 Les donn�es du fichier axports �tant associ�es aux p�riph�riques
 r�seau par l'interm�diaire du num�ro d'identification, la ligne que
 vous rajouterez devra comprendre celui de votre BayCom.

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


 66..11..44..  CCrr��aattiioonn dd''uunn pp��rriipphh��rriiqquuee mmooddeemm--ssoonn

 OOppttiioonnss ddee ccoommppiillaattiioonn dduu nnooyyaauu :






 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 d�velopp� 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
 num�rique 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 support�es. Un
 soup�on d'�lectronique est n�cessaire 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 <http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html>.  Les
 possibilit�s sont nombreuses : r�cup�ration � la sortie de la carte
 son, traitement sur les ports parall�le, s�rie ou midi. Des exemples
 de sch�mas illustrent tout ces cas sur le site de Thomas.


 Les p�riph�riques modem-son se retrouvent sous la d�nomination sm0,
 sm1, sm2, etc...

 RReemmaarrqquuee: le pilote SoundModem et le sous-syst�me de gestion du son
 entrent en comp�tition sous Linux. Assurez-vous que le son est
 d�sactiv� avant d'utiliser le pilote SoundModem. Vous pouvez bien s�r
 compiler les deux en tant que modules, les ins�rer et les �ter en
 fonction de vos besoins.


 66..11..44..11..  CCoonnffiigguurraattiioonn ddee llaa ccaarrttee ssoonn

 Le pilote SoundModem n'initialise pas la carte r�seau. Le paquetage
 ax25-utils comprend l'utilitaire `_s_e_t_c_r_y_s_t_a_l' pour le faire sur les
 cartes son � base de composants Crystal. Si vous avez un autre mod�le
 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'inter�
 ruption 5 et la canal DMA 3 :


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




 Le param�tre [-f synthio] correspond � l'adresse du synth�tiseur. Le
 param�tre [-c dma2] d�termine le second canal DMA pour un
 fonctionnement simultan� dans les deux sens (full-duplex).


 66..11..44..22..  CCoonnffiigguurraattiioonn ddeess pp��rriipphh��rriiqquueess mmooddeemm--ssoonn

 Une fois la carte son configur�e, vous devez sp�cifier au pilote o� la
 trouver et quelle type de modem il lui faut �muler.

 L'utilitaire _s_e_t_h_d_l_c vous permet de passer ces param�tres. Si vous
 n'avez qu'une seule carte install�e, vous pouvez les passer en
 arguments � l'insertion du module SoundModem.

 Par exemple, avec une seule carte de type SoundBlaster configur�e
 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 fa�on de faire. L'utilitaire _s_e_t_h_d_l_c fonc�
 tionne �galement avec plusieurs p�riph�riques.

 La page de _m_a_n d'_s_e_t_h_d_l_c est tr�s d�taill�e mais quelques exemples
 mettront ici encore en lumi�re les aspects les plus importants de la
 configuration. On suppose que le module modem-son a d�j� �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
 p�riph�rique sm0 avec la carte WindowsSoundSystem pr�c�dente et le
 port parall�le 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
 p�riph�rique sm1 avec la carte SoundBlaster pr�c�dente et le port
 s�rie 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
 p�riph�rique sm1 avec la carte SoundBlaster pr�c�dente et le port
 s�rie en 0x2f8 pour alimenter l'�metteur :


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





 66..11..44..33..  CCoonnffiigguurraattiioonn ddeess ppaarraamm��ttrreess dd''aacccc��ss aauu ccaannaall AAXX..2255

 Ces param�tres �quivalent � ppersist, txdelay et slottime pour KISS.
 Ici aussi, vous utiliserez _s_e_t_h_d_l_c.

 La page de man relative � _s_e_t_h_d_l_c reste la source d'informations la
 plus compl�te 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 param�tres de dur�e sont donn�s en millisecondes.


 66..11..44..44..  CChhooiixx dduu vvoolluummee eett aajjuusstteemmeenntt dduu ppiilloottee

 Il est _t_r_�_s important que les niveaux audio soient correctement
 ajust�s pour qu'un modem-radio fonctionne correctement. Les modem-son
 n'�chappent pas � la r�gle. Thomas a mis au point des utilitaires pour
 faciliter cette t�che : _s_m_d_i_a_g et _s_m_m_i_x_e_r.


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

    _s_m_m_i_x_e_r
       permet l'ajustement des niveaux audio de transmission et de
       r�ception.

 _s_m_d_i_a_g en mode 'visuel' avec un p�riph�rique SoundModem en sm0 :


      # smdiag -i sm0 -e




 _s_m_m_i_x_e_r avec un p�riph�rique SoundModem en sm0 :


      # smmixer -i sm0

 66..11..44..55..  CCoonnffiigguurraattiioonn dd''AAXX..2255 aavveecc llee ppiilloottee SSoouunnddMMooddeemm

 Le pilote soundmodem cr�e des p�riph�riques r�seau standard dont la
 configuration pour AX.25 est voisine de celle li�e � l'emploi des
 cartes PI ou PacketTwin.

 Tout d'abord il faut donner un num�ro d'identification AX.25 au
 p�riph�rique.  _i_f_c_o_n_f_i_g le fait tr�s bien :


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




 La commande pr�c�dente affecte l'identit� AX.25 VK2KTJ-15 au
 p�riph�rique sm0. Vous disposez �galement de _a_x_p_a_r_m_s mais vous aurez
 de toute fa�on besoin d'_i_f_c_o_n_f_i_g pour activer le p�riph�rique :


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




 L'�tape suivante consiste � ajouter une entr�e dans le fichier
 /etc/ax25/axports comme vous le feriez pour tout autre p�riph�rique.
 Les donn�es du fichier axports �tant associ�es aux p�riph�riques
 r�seau par l'interm�diaire du num�ro d'identification, la ligne que
 vous rajouterez devra comprendre celui de votre modem-son.

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


 66..11..55..  CCrr��aattiioonn dd''uunn pp��rriipphh��rriiqquuee �� bbaassee ddee ccaarrttee PPII

 OOppttiioonnss ddee ccoommppiillaattiioonn dduu nnooyyaauu :


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




 Les p�riph�riques PI se retrouvent sous la d�nomination `pi[0-9][ab]'
 o� la premi�re carte d�tect�e se verra allouer `pi0', la seconde
 `pi1', etc... `a' et `b' se rapportent � la premi�re et � la seconde
 interface physique des cartes PI. Si vous avez inclus le pilote de
 cartes PI dans votre noyau et que la d�tection s'est effectu�e
 correctement, vous pouvez configurer le p�riph�rique :


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




 La commande pr�c�dente affecte l'identit� AX.25 VK2KTJ-15 au premier
 port de la carte PI et l'active. Pour utiliser le p�riph�rique, il
 vous reste � ajouter au fichier /etc/ax25/axports l'entr�e
 correspondant � son identit� AX.25.


 Le gestionnaire de cartes PI a �t� �crit par : David Perry,
 <[email protected]>


 66..11..66..  CCrr��aattiioonn dd''uunn pp��rriipphh��rriiqquuee PPaacckkeettTTwwiinn

 OOppttiioonnss ddee ccoommppiillaattiioonn dduu nnooyyaauu :


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




 Les p�riph�riques PacketTwin se retrouvent sous la d�nomination
 `pt[0-9][ab]' o� la premi�re carte d�tect�e se verra allouer `pt0', la
 seconde `pt1', etc. `a' et `b' se rapportent � la premi�re et � la
 seconde interfaces physiques des cartes PacketTwin. Si vous avez
 inclus le pilote de cartes PI dans votre noyau et que la d�tection
 s'est effectu�e correctement, vous pouvez configurer le p�riph�rique :



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




 La commande pr�c�dente affecte l'identit� AX.25 VK2KTJ-15 au premier
 port de la carte PacketTwin et l'active. Pour utiliser le
 p�riph�rique, il vous reste � ajouter au fichier /etc/ax25/axports
 l'entr�e correspondant � son identit� AX.25.


 Le gestionnaire de cartes PacketTwin a �t� �crit par : Craig Small
 VK2XLZ, <[email protected]>.


 66..11..77..  CCrr��aattiioonn dd''uunn pp��rriipphh��rriiqquuee SSCCCC gg��nn��rriiqquuee

 OOppttiioonnss ddee ccoommppiillaattiioonn dduu nnooyyaauu :


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




 Joerg Reuter, DL1BKE, [email protected] a �crit le module g�n�rique
 de gestion des cartes � base de SCC Z8530. Son pilote supporte une
 large gamme de cartes diff�rentes et offre une interface similaire �
 un TNC KISS que vous pouvez traiter comme telle.


 66..11..77..11..  RR��ccuupp��rraattiioonn eett ccoommppiillaattiioonn ddeess oouuttiillss ddee ccoonnffiigguurraattiioonn

 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 r�centes.

 Vous trouverez le paquetage des outils de configuration � une des
 adresses suivantes : Joerg's web page <http://www.rat.de/jr/>

 ddbb00bbmm..aauuttoommaattiioonn..ffhh--aaaacchheenn..ddee


      /incoming/dl1bke/




 iinnssll11..eetteecc..uunnii--kkaarrllssrruuhhee..ddee


      /pub/hamradio/linux/z8530/




 ffttpp..uuccssdd..eedduu


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





 Diff�rentes versions s'offrent � vous. Choisissez la plus adapt�e �
 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 employ�es 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 pr�f�rez un pilote inclus dans le noyau
      # make install



 Au terme de ces op�rations, trois nouveaux ex�cutables devraient
 s'�tre install�s dans votre r�pertoire /sbin : _g_e_n_c_f_g, _s_c_c_i_n_i_t et
 _s_c_c_s_t_a_t. Ces programmes vont vous servir � configurer le pilote pour
 votre carte.

 De nouveaux p�riph�riques appara�tront �galement dans votre r�pertoire
 /dev sous les noms scc0-scc7. Ils joueront plus tard le r�le de
 p�riph�riques KISS que vous pourrez employer.

 Si vous lancez 'make for_kernel', vous devrez �galement recompiler
 votre noyau. Afin que le pilote z8530 soit inclus, v�rifiez que vous
 avez bien r�pondu `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-r�pertoire ad�quat de /lib/modules et il ne vous sera pas
 n�cessaire de recompiler tout le noyau. N'oubliez pas d'ex�cuter un
 _i_n_s_m_o_d afin de charger le module avant d'essayer de le configurer.


 66..11..77..22..  CCoonnffiigguurreerr llee ppiilloottee ppoouurr ssaa ccaarrttee

 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 d�taill�e et vous aurez
 tout int�r�t � vous y reporter si vous rencontrez le moindre probl�me.
 Int�ressez-vous plus particuli�rement � doc/scc_eng.doc et �
 doc/scc_ger.doc. J'ai repris les points les plus importants mais de
 nombreux d�tails sont pass�s sous silence.

 Le fichier de configuration principal, lu par le programme _s_c_c_i_n_i_t, se
 trouve en /etc/z8530drv.conf. Il se divise en deux parties :
 configuration des param�tres mat�riels 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 r�seau et le p�riph�rique
 sera initialis� conform�ment au contenu du fichier de configuration.
 Effectuez ces op�rations avant d'utiliser le gestionnaire.


 66..11..77..22..11..  CCoonnffiigguurraattiioonn ddeess ppaarraamm��ttrreess mmaatt��rriieellss

 La premi�re partie se divise en strophes, chacune correspondant � un
 composant 8530. Une strophe comprend une liste de mots clefs et
 d'arguments.  Le fichier peut d�crire jusqu'� quatre composants SCC
 par d�faut. 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 :


    cchhiipp
       le terme chip sert � s�parer les strophes. Il ne n�cessite pas
       d'arguments et ceux-ci sont de toute fa�on ignor�s.

    ddaattaa__aa
       adresse du port de donn�es pour le canal `A' du z8530. Un nombre
       hexad�cimal est attendu en argument (par exemple 0x300).
    ccttrrll__aa
       adresse du port de contr�le pour le canal `A' du z8530. Un
       nombre hexad�cimal est attendu en argument (par exemple 0x304).

    ddaattaa__bb
       adresse du port de donn�es pour le canal `B' du z8530. Un nombre
       hexad�cimal est attendu en argument (par exemple 0x301).

    ccttrrll__bb
       adresse du port de contr�le pour le canal `B' du z8530. Un
       nombre hexad�cimal est attendu en argument (par exemple 0x305).

    iirrqq
       interruption (IRQ) utilis�e par le SCC 8530. Un entier, 5 par
       exemple, est attendu.

    ppcclloocckk
       fr�quence du signal d'horloge sur la broche PCLK du 8530.
       L'argument est donn� en Hz par un nombre entier (4915200 par
       d�faut).

    bbooaarrdd
       mod�le de la munie du 8530 :         <<====== ne manque-t-il pas
       un mot ?

       PPAA00HHZZPP
          carte SCC PA0HZP

       EEAAGGLLEE
          carte Eagle

       PPCC110000
          carte SCC PC100 DRSI

       PPRRIIMMUUSS
          carte PRIMUS-PC (DG9BL)

       BBAAYYCCOOMM
          carte (U)SCC BayCom

    eesscccc
       optionnel, active la gestion des cartes SCC �tendues (ESCC)
       telles la 8580, la 85180 ou la 85280. L'argument est une cha�ne
       de caract�res qui peut prendre les valeurs `yes' ou `no' (`no'
       par d�faut).

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

    ssppeecciiaall
       optionnel, donne l'adresse du registre sp�cial sur diverses
       cartes. Nul par d�faut.

    ooppttiioonn
       optionnel. Nul par d�faut.

 Quelques exemples de configuration des cartes les plus courantes :


    BBaayyCCoomm UUSSCCCC




    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





    PPAA00HHZZPP SSCCCC ccaarrdd


         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





    DDRRSSII SSCCCC ccaarrdd


         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 d�j� d'une configuration qui fonctionne avec votre
 carte sous NOS, la commande _g_e_n_c_f_g permet de convertir les commandes
 du pilote NOS PE1CHL en quelque chose d'utilisable pour le pilote
 z8530.

 _g_e_n_c_f_g s'invoque simplement avec les m�mes param�tres que ceux
 employ�s 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





 66..11..77..33..  CCoonnffiigguurraattiioonn dduu ccaannaall

 Vous pr�ciserez tous les autres param�tres relatifs au port que vous
 configurez dans la section sp�cifique 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
 param�tres mat�riels puisque chaque SCC 8530 inclut deux ports.

 Les mots-clefs et leurs arguments s'inscrivent �galement dans le
 fichier /etc/z8530drv.conf, �� llaa ssuuiittee de la section des param�tres
 mat�riels.

 L'ordre est tr�s important dans cette section mais tout devrait
 marcher m�me si vous vous �cartez de celui propos�.

     ddeevviiccee
       en premi�re position, sp�cifie le nom du p�riph�rique auquel le
       reste de la configuration s'applique (par exemple /dev/scc0)

     ssppeeeedd
       d�bit de l'interface en bits par seconde. Un nombre entier est
       attendu (par exemple 1200)

     cclloocckk
       origine de l'horloge de synchronisation des donn�es. Les valeurs
       possibles sont :

        ddppllll
          fonctionnement normal monodirectionnel (half-duplex) ;

        eexxtteerrnnaall
          le modem dispose de sa propre horloge Rx/Tx ;

        ddiivviiddeerr
          utilisation du diviseur bidirectionnel (si disponible).

     mmooddee
       type de codage des donn�es. � choisir entre nrzi et nrz

     rrxxbbuuffffeerrss
       nombre de tampons de r�ception � allouer en m�moire.  Un nombre
       entier est attendu (8 par exemple)

     ttxxbbuuffffeerrss
       nombre de tampons d'�mission � allouer en m�moire. Un nombre
       entier est attendu (8 par exemple )

     bbuuffssiizzee
       taille des tampons d'�mission et de r�ception. La valeur est
       donn�e en octets et correspond � la longueur totale d'une trame.
       Elle doit donc prendre en compte aussi bien les donn�es que
       l'en-t�te. Cet argument est optionnel et prend par d�faut la
       valeur 384

     ttxxddeellaayy
       d�lai d'attente de la transmission KISS. Un nombre entier de ms
       est attendu

     ppeerrssiisstt
       param�tre persist (KISS). Argument de type entier

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

     ttaaiill
       the KISS transmit tail value. Argument entier en ms

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

     wwaaiitt
       param�tre d'attente (KISS). Argument de type entier en ms

     mmiinn
       param�tre min (KISS). Argument de type entier en secondes

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

     iiddllee
       d�lai d'attente sur inactivit� (KISS). Argument de type entier
       en secondes

     mmaaxxddeeff
       param�tre maxdef (KISS). Argument de type entier

     ggrroouupp
       param�tre group (KISS). Argument de type entier

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

     ssooffttddccdd
       valeur de softdcd (KISS). Argument de type entier

     sslliipp
       indicateur slip (KISS). Argument de type entier


 66..11..77..44..  UUttiilliissaattiioonn dduu ppiilloottee

 Il suffit d'employer les p�riph�riques /dev/scc* comme on le ferait
 avec n'importe quel tty s�rie connect� � un TNC KISS. Par exemple,
 avec une carte SCC, vous ex�cuteriez quelque chose du style :


      # kissattach -s 4800 /dev/scc0 VK2KTJ




 NOS permet �galement d'attacher le p�riph�rique de la m�me fa�on. Avec
 JNOS, vous entreriez une commande du style :

 attach asy scc0 0 ax25 scc0 256 256 4800





 66..11..77..55..  LLeess oouuttiillss ssccccssttaatt  eett ssccccppaarraamm

 Afin de diagnostiquer les probl�mes, _s_c_c_s_t_a_t affiche la configuration
 courante de n'importe quel p�riph�rique SCC. Essayez :


      # sccstat /dev/scc0




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


 _s_c_c_p_a_r_a_m sert � modifier la configuration apr�s 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





 66..11..88..  CCrr��aattiioonn dd''uunn pp��rriipphh��rriiqquuee BBPPQQ

 OOppttiioonnss ddee ccoonnffiigguurraattiioonn dduu nnooyyaauu :



      General setup  --->
          [*] Networking support
      Network device support  --->
          [*] Network device support
          ...
          [*] Radio network interfaces
          [*] BPQ Ethernet driver for AX.25





 Linux g�re le BPQ compatible Ethernet. Vous pouvez ainsi dialoguer en
 AX.25 via un r�seau Ethernet local et interconnecter votre poste Linux
 avec d'autres machines BPQ sur r�seau local.

 Les p�riph�riques BPQ se retrouvent sous la d�nomination `bpq[0-9]'.
 `bpq0' est associ� � `eth0', `bpq1' � `eth1' etc.

 La configuration est simple. Mettez d'abord en place un p�riph�rique
 Ethernet standard. Pour cela, vous aurez pris soin d'inclure dans le
 noyau la gestion de votre adaptateur Ethernet. Pour plus de d�tails,
 reportez vous � : Ethernet-HOWTO <Ethernet-HOWTO.html>.

 Avant d'activer la gestion BPQ, le p�riph�rique Ethernet doit s'�tre
 vu affecter un num�ro d'identification AX.25. Par exemple :


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




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


 66..11..99..  CCoonnffiigguurraattiioonn dd''uunn nnooeeuudd BBPPQQ ppoouurr llee ddiiaalloogguuee aavveecc llaa ccoouucchhee
 AAXX..2255 ddee LLiinnuuxx

 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 g�n�rales (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 d�faut

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





 66..22..  MMiissee aauu ppooiinntt dduu ffiicchhiieerr //eettcc//aaxx2255//aaxxppoorrttss

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


      portname  callsign  baudrate  paclen  window  description




 avec :

     ppoorrttnnaammee
       nom affect� au port

     ccaallllssiiggnn
       identifiant AX.25

     bbaauuddrraattee
       vitesse de communication avec le TNC


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

     wwiinnddooww
       param�tre de fen�tre (K) AX.25. Il s'agit de la m�me chose que
       le param�tre  MAXFRAME  de nombreux TNC.

     ddeessccrriippttiioonn
       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 num�ro d'identification
 (ssid) unique � chaque port AX.25 que vous cr�ez. Ajoutez une ligne
 pour chaque p�riph�rique que vous emploierez ; cela concerne les ports
 KISS, BayCom, SCC, PI, PT et modem-son. Les entr�es dans le fichier
 sont associ�es aux p�riph�riques r�seau par le biais de
 l'identificateur AX.25 : au moins une bonne raison de les prendre
 diff�rents.


 66..33..  RRoouuttaaggee AAXX..2255

 Vous pouvez d�cider de mettre en place des routes par d�faut
 sp�cifiques � certains h�tes, par exemple pour des connexions AX.25
 courantes ou des connexions IP. L'utilitaire _a_x_p_a_r_m_s effectue cette
 t�che. Sa page de _m_a_n en donne une description exhaustive. � titre
 d'exemple :


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




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


 77..  TTCCPP//IIPP eett ll''iinntteerrffaaccee AAXX..2255

 Si vous disposez d'interfaces KISS, deux m�thodes s'offrent � vous
 pour configurer une adresse IP : soit la commande _k_i_s_s_a_t_t_a_c_h, soit le
 recours conventionnel � _i_f_c_o_n_f_i_g.

 Modifiant l'exemple KISS pr�c�dent de fa�on � cr�er 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 _i_f_c_o_n_f_i_g pour configurer les autres
 param�tres.
 Si vous disposez d'autre interfaces, utilisez _i_f_c_o_n_f_i_g pour configurer
 l'adresse IP et le masque de r�seau 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
 fa�on similaire avec un p�riph�rique 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 pr�c�dentes correspondent � une configuration famili�re
 aux utilisateurs de NOS et de ses variantes ou de toute autre logiciel
 IP.  Notez que la route par d�faut n'est pas n�cessaire si un autre
 p�riph�rique r�seau la met lui-m�me 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 _p_i_n_g � envoyer ses requ�tes ICMP toutes les 5
 secondes et non chaque seconde.


 88..  CCoonnffiigguurraattiioonn dd''uunn ppoorrtt NNeettRRoomm

 Le protocole NetRom s'appuye sur les ports AX.25 que vous cr�erez. Sa
 configuration s'effectue par l'interm�diaire de deux fichiers. L'un
 d�crit les interfaces NetRom et l'autre les ports AX.25 sous-jacents.
 La proc�dure d�taill�e ci-dessous s'appliquera � toutes les interfaces
 NetRom que vous souhaiterez d�finir.


 88..11..  LLee ffiicchhiieerr //eettcc//aaxx2255//nnrrppoorrttss

 Ce fichier est l'analogue pour les ports NetRom du fichier
 /etc/ax25/axports pour les ports AX.25. Tous les p�riph�riques 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 p�riph�riques AX.25.
 Pour certains services tels un BBS, le besoin de d�finir plusieurs
 alias NetRom peut se manifester ; on ajoute alors des p�riph�riques
 NetRom en cons�quence.

 Le format du fichier est le suivant :


      name callsign  alias  paclen   description




 Avec :

     nnaammee
       nom affect� au port.

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

     aalliiaass
       alias NetRom du port.

     ppaacclleenn
       taille maximale des trames NetRom transmises par le port.

     ddeessccrriippttiioonn
       commentaire.

 Par exemple, pour cr�er un port NetRom connu du reste du r�seau NetRom
 sous l'identit� `LINUX:VK2KTJ-9' :


      netrom  VK2KTJ-9        LINUX   236     Linux Switch Port




 Des programmes tels _c_a_l_l se servent du fichier nrports.


 88..22..  LLee ffiicchhiieerr //eettcc//aaxx2255//nnrrbbrrooaaddccaasstt

 Ce second fichier peut contenir une nombre d'entr�es 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 :

     aaxxppoorrtt
       nom du port tir� du fichier /etc/ax25/axports.  En l'absence
       d'entr�e 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 ignor�e.

     mmiinn__oobbss
       param�tre d'obsolescence minimale du port.

     ddeeff__qquuaall
       qualit� par d�faut.

     wwoorrsstt__qquuaall
       qualit� minimale admissible. Toute route de qualit� moindre sera
       ignor�e.

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

 Par exemple :

 radio    1       200      100         1





 88..33..  CCrr��aattiioonn ddeess pp��rriipphh��rriiqquueess rr��sseeaauu NNeettRRoomm

 Une fois les deux fichiers mis au point, il faut cr�er les
 p�riph�riques NetRom. La d�marche est proche du cas AX.25 � ceci pr�s
 que l'on se sert � pr�sent de la commande _n_r_a_t_t_a_c_h. Elle constitue un
 pendant � la commande _a_x_a_t_t_a_c_h et cr�e des p�riph�riques NetRom qui se
 retrouvent sous la d�nomination `nr[0-9]' (la premi�re invocation
 produit `nr0', la seconde `nr1' etc.) Pour associer un p�riph�rique
 NetRom au port d�fini pr�c�demment, on utilise :


      # nrattach netrom




 Cette commande active le p�riph�rique NetRom (nr0) nomm� netrom con�
 figur� conform�ment au contenu du fichier /etc/ax25/nrports.


 88..44..  LLaanncceemmeenntt dduu dd��mmoonn NNeettRRoomm

 Le noyau Linux g�re le protocole NetRom et assure la commutation mais
 il ne prend pas en charge certaines fonctions. Le d�mon 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 d�marrage ou d'en cr�er un d�di� � l'automatisation du processus.


 88..55..  RRoouuttaaggee NNeettRRoomm

 Peut-�tre voudrez-vous mettre en place des routes statiques pour
 certains h�tes particuliers. La commande _n_r_p_a_r_m_s dispose d'une telle
 fonction. Reportez-vous � la page de _m_a_n pour une description
 compl�te. 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





 _n_r_p_a_r_m_s permet �galement de cr�er manuellement de nouveau voisins.  La
 commande suivante cr�e un voisin NetRom VK2SUT-9 d'une qualit� de 120
 qui ne sera pas supprim� automatiquement.

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





 99..  TTCCPP//IIPP ssuurr uunnee iinntteerrffaaccee NNeettRRoomm

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

 Soit vous pr�cisez l'adresse IP et le MTU avec _n_r_a_t_t_a_c_h, soit vous
 utilisez les commandes _i_f_c_o_n_f_i_g et _r_o_u_t_e. Il vous faudra ajouter � la
 main les caract�ristiques _a_r_p des h�tes concern�s par votre routage
 puisque votre machine ne dispose d'aucun m�canisme pour d�terminer une
 adresse NetRom utilisable afin d'atteindre une interface IP
 particuli�re.

 Pour cr�er une interface nr0 d'adresse IP 44.136.8.5, de MTU 512 et
 configur� conform�ment aux sp�cifications 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 m�thode :


      # /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'inter�
 face IP 44.136.80.4 � l'adresse NetRom BBS:VK3BBS via un voisin NetRom
 d'identifiant VK2SUT-0, on ex�cuterait :


      # 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' pass�s � la _n_r_p_a_r_m_s fixent les param�tres
 de qualit� et d'obsolescence NetRom pour la route.


 1100..  CCoonnffiigguurraattiioonn ddeess ppoorrttss RRoossee

 Le protocole de transmission de paquets Rose est semblable � la couche
 trois des sp�cifications X.25. La gestion Rose du noyau est une
 version mmooddiiffii��ee de FPAC Rose implementation
 <http://fpac.lmi.ecp.fr/f1oat/f1oat.html>.

 La couche Rose s'appuie sur les ports AX.25 que vous d�finissez. La
 proc�dure d�taill�e ci-dessous s'appliquera � toutes les interfaces
 NetRom que vous souhaiterez d�finir.


 1100..11..  LLee ffiicchhiieerr //eettcc//aaxx2255//rrssppoorrttss

 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 :

     nnaammee
       nom affect� au port.

     aaddddrreessss
       adresse Rose sur 10 digits.

     ddeessccrriippttiioonn
       commentaire.

 Par exemple :


      rose  5050294760  Rose Port




 Notez que Rose emploie par d�faut l'identifiant/ssid du port AX.25.

 La commande _r_s_p_a_r_m_s 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





 1100..22..  CCrr��aattiioonn ddeess pp��rriipphh��rriiqquueess rr��sseeaauu RRoossee

 Une fois le fichier /etc/ax25/rsports mis au point, vous pouvez cr�er
 les p�riph�riques Rose en reprenant la d�marche AX.25. Vous emploierez
 la commande _r_s_a_t_t_a_c_h qui cr�e des p�riph�riques sous l'appellation
 `rose[0-5]' (la premi�re invocation produit `rose0', la seconde
 `rose1' etc...). Par exemple :


      # rsattach rose




 Cette commande active le p�riph�rique Rose (rose0) nomm� `rose' con�
 figur� conform�ment au contenu du fichier /etc/ax25/rsports.





 1100..33..  RRoouuttaaggee RRoossee

 Le protocole Rose ne g�re pour l'instant que le routage statique. Il
 se d�finit par le biais de la commande _r_s_p_a_r_m_s.

 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 diff�rentes
 destinations Rose sur une seule route. Par exemple :


      # rsparms -nodes add 5050295502/4 radio vk2xlz




 On retrouve l'exemple pr�c�dent � ceci pr�s que toute adresse de des�
 tination dont les quatre premiers digits correspondent (toute adresse
 commen�ant par 5050 donc) sera rout�e. La variante suivante s'av�re
 s�rement la moins ambigu� :


      # rsparms -nodes add 5050/4 radio vk2xlz





 1111..  CCoommmmuunniiccaattiioonnss AAXX..2255//NNeettRRoomm//RRoossee

 Maintenant que vos interfaces AX.25, NetRom et Rose sont activ�es,
 vous devriez �tre capable de proc�der � des essais.

 Le paquetage des utilitaires AX.25 comprend le programme `_c_a_l_l' qui
 sert d'interm�diaire 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 pr�ciser � _c_a_l_l le port � employer, vu que le
 m�me noeud de destination peut �tre joignable via n'importe lequel des
 ports que vous aurez configur�s.

 _c_a_l_l fournit un terminal de contr�le en mode ligne de commande pour
 les appels AX.25. Les lignes commen�ant par `~' sont identifi�es comme
 des commandes. La commande `~.' coupe la communication.

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


 1122..  CCoonnffiigguurreerr LLiinnuuxx ppoouurr aacccceepptteerr lleess ccoonnnneexxiioonnss

 Linux est un syst�me d'exploitation puissant qui pr�sente beaucoup de
 flexibilit� dans sa configuration. Le co�t de cette flexibilit� se
 retrouve dans la mise au point de la configuration souhait�e. 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 connect�s ?"
 Des gens ont mis au point de sympathiques petites applications qui
 fournissent des services aux appelants tels _p_m_s ou, plus �volu�, _n_o_d_e
 (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 m�me �crire vos propres
 programmes tels une base de donn�es maison ou un jeu. Quoi que vous
 fassiez, il faut sp�cifier � AX.25 le programme � ex�cuter quand une
 connexion s'�tablit.

 Le d�mon _a_x_2_5_d joue un r�le similaire � celui rempli par _i_n_e_t_d pour
 les connexion TCP/IP entre machines UNIX. Il se met � l'�coute des
 connexions entrantes et lorsqu'il en d�tecte une, il examine par
 l'interm�diaire 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 � pr�sent d�crire
 les �tapes de sa configuration.


 1122..11..  LLee ffiicchhiieerr //eettcc//aaxx2255//aaxx2255dd..ccoonnff

 Ce fichier contient la configuration du d�mon _a_x_2_5_d en charge des
 connexions AX.25, NetRom et Rose.

 Bien que le fichier paraisse un peu cryptique au premier abord, il
 s'av�re rapidement des plus simples � l'usage, avec quelques pi�ges �
 �viter.

 Le format g�n�ral 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 d�but de ligne pour indiquer un commentaire ignor� du
       programme _a_x_2_5_d

     <<ppoorrtt__nnaammee>>
       nom du port AX.25, NetRom ou Rose tel que sp�cifi� 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 pr�c�de le
       nom du port par `callsign/ssid via' pour indiquer que vous
       voulez accepter les appels vers l'identificateur cit� par
       l'interm�diaire de cette interface. Un exemple l'illustrera.

     <<ppeeeerr>>
       est l'identifiant du noeud auquel la configuration s'applique.
       Si vous ne sp�cifiez pas de ssid, tous seront consid�r�s comme
       valables.

     wwiinnddooww
       param�tre de fen�tre AX.25 (K) ou valeur de MAXFRAMDE pour cette
       configuration.

     TT11
       d�lai de retransmission de trame (T1) exprim� en demi-secondes.

     TT22
       d�lai d'attente par le logiciel AX.25 d'une seconde trame avant
       de pr�parer une r�ponse. S'exprime en secondes.

     TT33
       d�lai d'inactivit� avant qu'une connexion inactive ne soit
       coup�e. S'exprime en secondes.

     iiddllee
       p�riode d'inactivit� en secondes.

     NN22
       nombre d'essais de retransmission avant qu'une connexion ne soit
       coup�e.

     <<mmooddee>>
       procure un m�canisme d'�tablissement de certains types de
       permissions. Les modes sont activ�s ou inhib�s gr�ce � une
       combinaison de caract�res repr�sentant chacun un droit.
       L'accentuation ne joue pas et les caract�res doivent former un
       bloc ininterrompu.

        uu//UU
          UTMP                   - non-support�

        vv//VV
          Validate call          - non-support�

        qq//QQ
          Quiet                  - pas d'enregistrement des connexions

        nn//NN
          check NetRom Neighbour - non-support�

        dd//DD
          Disallow Digipeaters   - les connexions doivent �tre directes

        ll//LL
          Lockout                - connexion interdite


        **//00
          marker                 - marqueur, pas de mode sp�cifique

     <<uuiidd>>
       userid sous laquelle le programme maintenant la connexion sera
       ex�cut�.

     <<ccmmdd>>
       nom complet de la commande � lancer, sans arguments.

     <<ccmmdd--nnaammee>>
       texte qui appara�tra � l'invocation de _p_s comme commande du
       programme (en g�n�ral la m�me chose que <cmd> mais sans le
       chemin d'acc�s).

     <<aarrgguummeennttss>>
       arguments de ligne de commande pass�s � <:cmd> lorsqu'il est
       lanc�. Les �l�ments suivants permettent de passer des
       informations utilis�es :

        %%dd
          nom du port recevant la connexion

        %%UU
          identificateur AX.25 de l'extr�mit� connect�e, sans ssid, en
          majuscules

        %%uu
          identificateur AX.25 de l'extr�mit� connect�e, sans ssid, en
          minuscules

        %%SS
          identificateur AX.25 de l'extr�mit� connect�e, avec ssid, en
          majuscules

        %%ss
          identificateur AX.25 de l'extr�mit� connect�e, avec ssid, en
          minuscules

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

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

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

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

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

 Le paragraphe comprend deux lignes particuli�res, l'une commen�ant par
 la cha�ne `parameters' et l'autre par la cha�ne `default' (il y a une
 diff�rence).

 `default' couvre tous les cas qui ne sont pas sp�cifi�s ailleurs.
 Ainsi, tous les appels sur l'interface <interface_call> ne disposant
 pas d'une r�gle sp�cifique se retrouvent dans la rubrique `default'.
 En l'absence d'une telle section, toutes les connexions hors r�gle
 sont imm�diatement interrompues sans autre forme de proc�s.

 `parameters' est plus subtil et dissimule le pi�ge mentionn�
 pr�c�demment. Si le caract�re `*' est pr�sent dans un champ, une
 valeur par d�faut issue de la section `parameters' est employ�e. Le
 noyau poss�de d'ailleurs une liste de valeurs utilis�es en l'absence
 de `parameters'. Le danger r�side en ce que les entr�es sp�cifi�es via
 `parameters' ne s'appliquent qu'aux r�gles qui les suivent.  Une m�me
 interface peut comporter plusieurs entr�es `parameters'.  Notez que
 les r�gles `parameters' ne permettent pas de positionner les champs
 `uid' et `command'.


 1122..22..  UUnn eexxeemmppllee ddee ffiicchhiieerr aaxx2255dd..ccoonnff



      # ax25d.conf pour VK2KTJ - 02/03/97
      # Ce fichier de configuration utilise le port AX.25 d�fini 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 r�clamant une connexion via
 l'identificateur `VK2KTJ-0' du port AX.25 `radio' se verra appliquer
 les r�gles suivantes :

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

 La ligne parameters modifie deux param�tres par d�faut du noyau
 (Window et T1) et ex�cutera _/_u_s_r_/_s_b_i_n_/_a_x_s_p_a_w_n. Les instances de
 _/_u_s_r_/_s_b_i_n_/_a_x_s_p_a_w_n appel�es ainsi appara�tront en tant que _a_x_s_p_a_w_n dans
 un affichage issu de _p_s. Les deux lignes qui suivent d�finissent deux
 stations auxquelles s'appliqueront les permissions.

 La derni�re ligne de la section est la r�gle fourre-tout appliqu�e au
 reste des connexions (VK2XLZ et VK2DAY inclus d�s lors qu'ils ont
 recours � un ssid diff�rent de -1). Tous les param�tres prennent leurs
 valeurs par d�faut et le programme _p_m_s sera lanc� avec un argument de
 ligne de commande sp�cifiant une connexion AX.25 d'identifiant VK2KTJ
 (reportez-vous � la partie `Configuration du PMS' pour davantage de
 d�tails).

 La configuration suivante accepte les appels � VK2KTJ-1 via le port
 radio. Le programme _n_o_d_e est ex�cut� � chaque connexion.

 Vient ensuite une sp�cification de connexions NetRom (notez l'emploi
 des signes inf�rieur et sup�rieur � la place des crochets). Toute
 personne se connectant via le port `netrom' d�clenche le programme
 _n_o_d_e si son identifiant est diff�rent de `NOCALL'. Dans le cas
 contraire, tout acc�s est refus�.

 Les deux derni�res configurations concernent des connexions entrantes
 Rose, la premi�re 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 m�me fa�on. 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 propri�t�s importantes de la syntaxe du fichier de
 configuration. La page de _m_a_n explique dans son int�gralit� le contenu
 du fichier ax25d.conf.  Le paquetage ax25-utils inclut un exemple plus
 d�taill� qui pourrait �galement vous �tre utile.


 1122..33..  LLaanncceerr aaxx2255dd

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


      # /usr/sbin/ax25d




 � pr�sent, les gens devraient pouvoir se connecter en AX.25 � votre
 machine.  N'oubliez pas de modifier les fichiers de commande de d�mar�
 rage du syst�me de fa�on que ax25d soit invoqu� automatiquement �
 chaque r�initialisation de la station.


 1133..  LLee llooggiicciieell nnooddee

 Le logiciel _n_o_d_e a �t� d�velopp� par Tomi Manninen
 <[email protected]>. Il a �t� con�u � partir du programme PMS et
 offre une fonctionnalit� de noeud facilement configurable. Une fois
 les utilisateurs connect�s, il leur permet de se servir de telnet, de
 NetRom, de Rose et de AX.25 vers l'ext�rieur ainsi que d'obtenir
 diverses informations telles finger, la liste des noeuds et des
 �coutes etc. Le noeud peut �tre configur� assez simplement pour
 ex�cuter n'importe quelle commande Linux.

 Normalement, le noeud sera invoqu� par _a_x_2_5_d, bien qu'il puisse
 �galement �tre appel� par le d�mon IP _i_n_e_t_d pour permettre aux
 utilisateurs d'obtenir un acc�s telnet � votre machine. Le lancement
 depuis la ligne de commande est �galement possible.


 1133..11..  LLee ffiicchhiieerr //eettcc//aaxx2255//nnooddee..ccoonnff

 node.conf est un fichier texte qui sp�cifie 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 ignor�e.

      # Nom d'h�te de la machine noeud
      hostname        radio.gw.vk2ktj.ampr.org

      # R�seau local
      # d�finit ce qui doit �tre consid�r� comme 'local' du point de vue de la
      # v�rification des permissions gr�ce � nodes.perms.
      localnet        44.136.8.96/29

      # Ports cach�s
      # rend certains ports invisibles aux utilisateurs. Les ports n'appara�tront pas
      # via la commande Ports.
      hiddenports     rose netrom

      # Identification du noeud
      # appara�tra � 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

      # D�lai d'inactivit� du noeud
      # en secondes
      idletimout      1800

      # D�lai d'inactivit� des connexions
      # en secondes
      conntimeout     1800

      # Reprise de connexion
      # indique si les utilisateurs doivent �tre reconnect�s spontan�ment en cas
      # de rupture de la connexion distante ou bien s'ils doivent �tre compl�tement
      # d�connect�s.
      reconnect       on

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

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

      # Enregistrement
      # le niveau 3 est le plus d�taill�, 0 d�sactive l'enregistrement
      loglevel        3

      # Caract�re de contr�le
      # 20 = (Control-T)
      EscapeChar      20








 1133..22..  LLee ffiicchhiieerr //eettcc//aaxx2255//nnooddee..ppeerrmmss

 _n_o_d_e affecte des permissions aux utilisateurs. On d�cide 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 caract�re
 `*' dans l'un d'eux indique une absence de contraintes pour son
 application. On construit ainsi facilement des r�gles applicables par
 d�faut.


     uusseerr
       Le premier champ indique l'identifiant d'appel concern� par les
       permissions.  Une �ventuelle partie ssid sera ignor�e.

     mmeetthhoodd
       Chaque protocole et chaque m�thode d'acc�s disposent �galement
       de permissions.  Par exemple, les utilisateurs connect�s via
       AX.25 ou NetRom peuvent �tre autoris�s � se servir de (C)onnect
       tandis que ceux issus d'une session telnet depuis un noeud non-
       local s'en verront refuser l'acc�s. Le deuxi�me champ sp�cifie
       donc � quelle m�thode d'acc�s les permissions s'appliquent.
       Voici les classes de m�thodes d'acc�s :


         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 h�te 'local'
         netrom  connexion NetRom
         rose    connexion Rose
         *       n'importe quelle connexion




     ppoorrtt
       Vous pouvez �galement contr�ler les permissions pour les
       utilisateurs AX.25 sur la base des ports employ�s. Le troisi�me
       champ contient un nom de port si vous d�cidez d'employer cette
       possibilit� (disponible seulement pour les connexions AX.25).

     ppaasssswwoorrdd
       Un mot de passe peut �galement �tre demand� lors de
       l'�tablissement de la connexion. Cela s'av�re pratique pour
       prot�ger des comptes utilisateurs sp�cifiques disposant de
       privil�ges particuli�rement �lev�s. Si le quatri�me champ est
       positionn�, il correspond au mot de passe attendu.

     ppeerrmmiissssiioonnss
       Les permissions sont fix�es par le biais du dernier champ de
       chaque ligne.  L'information est cod�e 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 h�tes locaux
     16     (T)elnet vers amprnet (44.0.0.0)
     32     (T)elnet vers les h�tes non-locaux, de type non-amprnet
     64     (C)onnect AX.25 pour les ports cach�s
     128    (C)onnect Rose




    On additionne ensuite les puissances de deux associ�es aux bits des
    permissions activ�es. Le r�sultat va dans le cinqui�me champ.

 Un exemple de fichier nodes.perms :



      # /etc/ax25/node.perms
      #
      # L'op�rateur a pour identit� VK2KTJ, s'identifie par le mot de passe 'secret'
      # et dispose de toutes les permissions pour toutes les m�thodes 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, li�s � l'h�te ou AMPR disposent de
      # (C)onnect et de (T)elnet vers les h�tes locaux et ampr mais se voient
      # interdire les autres adresses IP.
      *       ax25    *       *       159
      *       netrom  *       *       159
      *       local   *       *       159
      *       host    *       *       159
      *       ampr    *       *       159





 1133..33..  EExx��ccuuttiioonn ddee nnooddee  ddeeppuuiiss aaxx2255dd

 L'invocation du programme _n_o_d_e par le d�mon _a_x_2_5_d n�cessite l'ajout de
 r�gles appropri�es au fichier /etc/ax25/ax25d.conf. Je souhaitais une
 configuration telle que les utilisateurs puissent se connecter soit �
 _n_o_d_e soit � un service de leur choix. _a_x_2_5_d l'autorise par le biais
 d'une cr�ation astucieuse d'alias de ports. Par exemple, partant de la
 configuration d'_a_x_2_5_d donn�e plus haut, on veut que tous les
 utilisateurs se connectant � VK2KTJ-1 re�oivent le noeud. Pour cela,
 on ajoute la r�gle suivante au fichier /etc/ax25/ax25d.conf :


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




 Linux r�pondra � toute demande de connexion sur le port AX.25 `radio'
 d'identifiant `VK2KTJ-1' en ex�cutant le programme _n_d_e.


 1133..44..  EExx��ccuuttiioonn ddee nnooddee  ddeeppuuiiss iinneettdd

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

 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 _i_n_e_t_d red�marr�, 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� � _n_o_d_e.


 1144..  CCoonnffiigguurraattiioonn ddee aaxxssppaawwnn ..

 _a_x_s_p_a_w_n permet aux stations AX.25 qui se connectent d'ouvrir une
 session sur votre machine. Il peut �tre lanc� par le programme _a_x_2_5_d
 d�crit ci-dessus d'une fa�on similaire � _n_o_d_e. 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'ach�ve sur le caract�re +, l'utilisateur devra appuyer
 sur la touche d'entr�e avant de pouvoir s'identifier. Par d�faut, il
 n'y a pas d'attente. Toutes les configurations d'h�tes qui suivent la
 ligne pr�c�dente d�clencheront l'appel d'_a_x_s_p_a_w_n lorsqu'ils se con�
 necteront. Quand _a_x_s_p_a_w_n s'ex�cute, il v�rifie tout d'abord que
 l'argument de ligne de commande fourni est un identifiant licite, sup�
 prime 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 pr�sence d'un autre mot de passe, celui-ci est demand�. Si le
 compte n'existe pas, _a_x_s_p_a_w_n peut �tre configur� de fa�on � en cr�er
 un automatiquement.




 1144..11..  MMiissee aauu ppooiinntt dduu ffiicchhiieerr //eettcc//aaxx2255//aaxxssppaawwnn..ccoonnff

 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




 D�tail des huit caract�ristiques configurables de _a_x_s_p_a_w_n :


    ##  indique un commentaire.

    ccrreeaattee
       si ce champ est positionn� � yes alors _a_x_s_p_a_w_n tentera de cr�er
       un compte pour tout utilisateur qui n'appara�t pas dans le
       fichier /etc/passwd.

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

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

    ffiirrsstt__uuiidd
       valeur de d�part des identit�s utilisateur lors de la cr�ation
       automatique

    mmaaxx__uuiidd
       identit� utilisateur maximale disponible � la cr�ation
       automatique

    hhoommee
       r�pertoire dans lequel seront cr��s les comptes utilisateurs

    sshheellll
       shell de login des nouveaux utilisateurs

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


 1155..  CCoonnffiigguurraattiioonn ddee ppmmss

 _p_m_s fournit un syst�me simple de messagerie personnelle. Il a �t�
 �crit � l'origine par Alan Cox. Dave Brown, N2RJT, <[email protected]>
 en a repris le d�veloppement. Les fonctionnalit�s sont rest�es
 simples : envoi de courrier �lectronique au propri�taire de la station
 et obtention d'informations limit�e. Dave travaille actuellement � les
 enrichir.

 Il faut tenir � jour quelques fichiers contenant des informations sur
 le syst�me et ajouter les entr�es ad�quates au fichier ax25d.conf de
 telle sorte qu'il s'ex�cute pour les utilisateurs connect�s.



 1155..11..  MMiissee aauu ppooiinntt dduu ffiicchhiieerr //eettcc//aaxx2255//ppmmss..mmoottdd

 Le fichier /etc/ax25/pms.motd contient l'�quivalent du message du jour
 affich� aux utilisateurs apr�s qu'ils se sont connect�s et ont re�u
 l'en-t�te usuel de BBS. Il s'agit d'un simple fichier texte qui sera
 transmis tel quel.


 1155..22..  MMiissee aauu ppooiinntt dduu ffiicchhiieerr //eettcc//aaxx2255//ppmmss..iinnffoo

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


 1155..33..  AAssssoocciieerr lleess iiddeennttiiffiiaannttss AAXX..2255 aauuxx ccoommpptteess uuttiilliissaatteeuurrss

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


 1155..44..  AAjjoouutt ddee PPMMSS aauu ffiicchhiieerr //eettcc//aaxx2255//aaxx2255dd..ccoonnff

 L'ajout de _p_m_s au fichier ax25d.conf est tr�s simple. Il vous faut
 n�anmoins garder un �l�ment en t�te : Dave a ajout� la prise en compte
 d'arguments de ligne commande � PMS afin de g�rer diff�rentes
 conventions de fin de ligne. AX.25 et NetRom requi�rent une fin de
 ligne et un saut de ligne tandis que le standard Unix comprend juste
 le caract�re de fin de ligne.  Par exemple, pour une entr�e
 correspondant au lancement par d�faut 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 ex�cute _p_m_s en lui pr�cisant qu'il s'agit d'une connexion
 AX.25 et que PMS a pour propri�taire vk2ktj. Consultez la page de _m_a_n
 pour l'emploi d'autres m�thodes de connexion.


 1155..55..  TTeesstteerr PPMMSS

 Ex�cutez depuis la ligne de commande :

 # /usr/sbin/pms -u vk2ktj -o vk2ktj


 En rempla�ant 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.


 1166..  CCoonnffiigguurraattiioonn ddeess pprrooggrraammmmeess uusseerr__ccaallll

 On trouve derri�re ce nom les programmes _a_x_2_5___c_a_l_l et _n_e_t_r_o_m___c_a_l_l. Il
 s'agit de programmes tr�s simples destin�s � �tre lanc�s par _a_x_2_5_d
 pour automatiser les connexions depuis des h�tes distants. On peut
 bien s�r les employer dans des scripts ou via d'autres d�mons tels
 _n_o_d_e.

 Ils �quivalent au programme _c_a_l_l et n'effectuent aucun traitement sur
 les donn�es, ce qui vous �pargne le probl�me des conversions de fin de
 lignes.

 Un exemple pour commencer. On suppose que vous disposez d'un petit
 r�seau personnel, d'une station Linux tenant lieu de passerelle radio
 et d'une autre machine -- on prendra un noeud BPQ -- qui lui est
 connect�e 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'interm�diaire de
 votre noeud Linux ou se connecter au d�mon node puis �tablir la
 connexion. _a_x_2_5___c_a_l_l peut simplifier le processus s'il est invoqu� par
 _a_x_2_5_d.

 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' d�signera 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
 d�mon Linux _a_x_2_5_d, 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 `_n_e_t_r_o_m___c_a_l_l' et `_r_o_s_e___c_a_l_l' op�rent de fa�on similaire.
 Un radioamateur en a fait usage pour faciliter l'acc�s � un BBS
 distant. En principe, on aurait d� entrer � la main une cha�ne de
 connexion d�mesur�ment longue. Il a donc ajout� une entr�e faisant
 apparaitre le BBS comme une entit� appartenant au r�seau local, _a_x_2_5_d
 servant en fait de proxy pour l'acc�s � la machine distante.


 1177..  CCoonnffiigguurraattiioonn ddeess ccoommmmaannddeess RRoossee UUpplliinnkk eett DDoowwnnlliinnkk

 Si vous avez l'habitude des r�alisations Rose � base de ROM, vous ne
 serez pas d�pays� par la m�thode d'appel AX.25 � travers un r�seau
 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 digip�t�e par
 l'interm�diaire de l'identifiant des noeuds Rose distants.

 La couche protocolaire Rose de Linux ne g�re pas cette fonctionnalit�
 dans le noyau mais les deux applications _r_s_u_p_l_n_k et _r_s_d_w_n_l_n_k savent
 s'en charger.


 1177..11..  CCoonnffiigguurraattiioonn dd''uunnee lliiaaiissoonn RRoossee ddeesscceennddaannttee

 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 d�faut pour les connexions Rose entrantes. Par
 exemple, vous �tes � l'�coute des demandes d'acc�s Rose aux
 destinations telles NODE-0 ou HEARD-0 que vous g�rez localement, mais
 toutes les autres connexions sont transmises � la commande _r_s_d_w_n_l_i_n_k
 sous l'hypoth�se 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.


 1177..22..  CCoonnffiigguurraattiioonn dd''uunn lliiaaiissoonn RRoossee mmoonnttaannttee

 Pour que votre station Linux accepte les connexions AX.25 d'une fa�on
 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 particuli�re pour l'identifiant local. Le caract�re
 `*' indique que l'application doit �tre invoqu�e si l'identifiant est
 reconnu dans le chemin de r�p�tition d'une connexion.

 Avec cette configuration, un appel AX.25 peut �tablir des appels Rose
 au moyen de la s�quence pr�sent�e dans l'introduction. Toute personne
 demandant un relai via l'identifiant VK2KTJ-5 sur le port AX.25 4800
 sera trait� par la commande _r_s_u_p_l_n_k.


 1188..  AAssssoocciiaattiioonn ddeess iiddeennttiiffiiaannttss AAXX..2255 aauuxx ccoommpptteess uuttiilliissaatteeuurrss

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

 Les utilitaires AX.25 permettent de r�aliser cette association. On l'a
 d�j� �voqu� dans la section relative � PMS mais je le r�p�te ici afin
 de m'assurer que vous ne passerez pas � c�t�.

 L'association s'effectue gr�ce � la commande _a_x_p_a_r_m_s. Par exemple :


      # axparms -assoc vk2ktj terry




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

 Songez � mettre ces correspondances dans vos fichiers _r_c de d�marrage
 afin qu'elles soient disponibles � chaque r�initialisation.

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


 1199..  EEnnttrr��eess dduu ssyysstt��mmee ddee ffiicchhiieerr //pprroocc//

 Le pseudo syst�me de fichiers /proc contient divers fichiers
 sp�cifiques aux programmes AX.25 et NetRom. Ces fichiers sont
 normalement employ�s par les utilitaires AX.25 mais leur formatage est
 tel qu'ils peuvent vous int�resser. Le format est suffisamment simple
 pour ne pas n�cessiter beaucoup d'explications.


    //pprroocc//nneett//aarrpp
        : 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.

    //pprroocc//nneett//aaxx2255
        : sockets AX.25 ouverts. Elles peuvent �tre en attente de
       connexion ou actives.

    //pprroocc//nneett//aaxx2255__bbppqqeetthheerr
        : identifiants AX.25 de type Ethernet BPQ.

    //pprroocc//nneett//aaxx2255__ccaallllss
        : �quivalences entre identit�s d'utilisateurs Linux et
       identifiants d'appel telles que d�finies par la commande _a_x_p_a_r_m_s
       _-_a_s_s_o_c.

    //pprroocc//nneett//aaxx2255__rroouuttee
        : informations sur les chemins AX.25

    //pprroocc//nneett//nnrr
        : sockets NetRom ouvertes. Elles peuvent �tre en attente de
       connexion ou actives.

    //pprroocc//nneett//nnrr__nneeiigghh
        : liste de voisins NetRom

    //pprroocc//nneett//nnrr__nnooddeess
        : informations sur les voisins NetRom

    //pprroocc//nneett//rroossee
        : sockets Rose ouvertes. Elles peuvent �tre en attente de
       connexion ou actives.

    //pprroocc//nneett//rroossee__nnooddeess
        : correspondances entre destinations et voisins Rose

    //pprroocc//nneett//rroossee__nneeiigghh
        : liste de voisins Rose

    //pprroocc//nneett//rroossee__rroouutteess
        : connexions Rose en cours


 2200..  PPrrooggrraammmmaattiioonn rr��sseeaauu AAXX..2255,, NNeettRRoomm,, RRoossee

 L'avantage le plus important li� � l'utilisation des protocoles par
 paquets radioamateurs du noyau r�side en la facilit� de d�veloppement
 des programmes et applications qui les emploient.

 Bien que la programmation r�seau sous Unix d�borde du cadre de ce
 document, je vais d�crire les principaux �l�ments d'utilisation des
 protocoles AX.25, NetRom et Rose au sein de vos programmes.


 2200..11..  FFaammiilllleess dd''aaddrreesssseess

 La programmation AX.25, NetRom et Rose est assez semblable � la
 programmation TCP/IP sous Linux. LEs principales diff�rences 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.


 2200..22..  FFiicchhiieerrss dd''eenn--tt��ttee

 Incluez toujours les fichiers `ax25.h', `netrom.h' ou `rose.h' si vous
 vous servez de ces protocoles. Les d�buts 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;





 2200..33..  MMiissee eenn ffoorrmmee ddeess iiddeennttiiffiiaannttss eett eexxeemmpplleess

 La librairie lib/ax25.a du paquetage des utilitaires AX.25 contient
 des routines de conversion des identifiants. Vous pouvez bien s�r
 �crire les v�tres si vous le souhaitez.

 Les programmes _u_s_e_r___c_a_l_l 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 �
 pr�parer 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 pr�ter � confusion. Si
 vous avez des questions, adressez-vous directement � la liste de
 diffusion linux-hams o� quelqu'un vous aidera s�rement.


 2211..  QQuueellqquueess ccoonnffiigguurraattiioonnss--ttyyppeess

 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 fa�ons de
 configurer un r�seau qu'il y a de r�seaux disponibles mais il peut
 vous servir de point de d�part.


 2211..11..  UUnn ppeettiitt rr��sseeaauu EEtthheerrnneett llooccaall aavveecc uunn rroouutteeuurr LLiinnuuxx vveerrss uunn
 rr��sseeaauu rraaddiioo llooccaall


 Nombre d'entre vous disposent de petits r�seaux locaux chez eux et
 d�sirent connecter les stations de ce r�seau � un r�seau radio local.
 J'ai ce type de configuration chez moi. J'ai r�ussi � obtenir un bloc
 d'adresses contigu�s que je g�re par une route unique sur mon Ethernet
 local. Votre coordinateur IP local vous aidera si vous souhaitez
 proc�der ainsi. Les adresses du r�seau 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 activ�e dans le noyau.

 �  Les fichiers de configuration AX.25 correspondent essentiellement �
    ceux donn�s dans les sections pr�c�dentes. Reportez-y vous si
    n�cessaire.

 �  J'ai d�cid� d'attribuer au port radio une adresse qui n'appartient
    pas au bloc attribu� � mon r�seau 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 d�faut.

 �  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 param�tres _m_s_s et _w_i_n_d_o_w me permettent d'obtenir les meilleures
 performances possibles aussi bien pour les connexions Ethernet locales
 que pour les acc�s radio.

 �  smail, http, ftp et d'autres d�mons s'ex�cutent �galement sur le
    routeur qui est ainsi la seule station � fournir aux autres des
    services.

 �  Le routeur est un 386DX20 d'entr�e de gamme avec 20 Mo de disque et
    une configuration Linux minimaliste.


 2211..22..  PPaasssseerreellllee dd''eennccaappssuullaattiioonn IIPP ddaannss IIPP

 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 encapsul�es et rend obsol�te l'ancien
 d�mon _i_p_i_p.

 Un sch�ma 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 int�ressants :



      # /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 _g_w de la table
    de routage � la place du param�tre _p_o_i_n_t_o_p_o_i_n_t pour fixer l'adresse
    de la passerelle IPIP distante. Il supporte ainsi plusieurs routes
    par interface.

 �  Vous ppoouuvveezz attribuer la m�me adresse � deux interfaces r�seau.
    Dans l'exemple courant, sl0 et tunl0 ont tous deux �t� munis de
    l'adresse IP du port Radio. La passerelle distante r�cup�re ainsi
    la bonne adresse de votre passerelle dans les datagrammes
    encapsul�s qu'elle re�oit.

 �  Les commandes de routage relatives aux routes encapsul�es peuvent
    �tre g�n�r�es automatiquement via une version modifi�e du script
    _m_u_n_g_e incluse ci-dessous. Les instructions de routage sont �crites
    dans un fichier s�par� et appel�es par la commande source
    /etc/ipip.routes de _b_a_s_h (en supposant que vous employez les m�mes
    conventions).  Le fichier source doit �tre au format de commande
    route NOS.

 �  Remarquez l'emploi de l'argument _w_i_n_d_o_w dans la commande _r_o_u_t_e. Ce
    param�tre am�liore les performances de la liaison radio.


 Le nouveau script tunnel-munge :

































 #!/bin/sh
 #
 # From: Ron Atkinson <[email protected]>
 #
 #  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"





 2211..33..  CCoonnffiigguurraattiioonn dd''uunnee ppaasssseerreellllee dd''eennccaappssuullaattiioonn AAXXIIPP

 Nombre de passerelles Radio Amateur avec l'Internet encapsulent AX.25,
 NetRom et Rose dans IP. Le cas des trames AX.25 rel�ve du RFC 1226
 �crit par Brian Kantor. Mike Westerhof a r�alis� un d�mon
 d'encapsulation AX.25 sous Unix en 1991. Le paquetage des utilitaires
 ax25-utils en contient une version l�g�rement am�lior�e.

 Un programme d'encapsulation AXIP re�oit des trames AX.25 d'un c�t�,
 examine la destination AX.25 afin d'en d�duire 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 derni�res et les traite comme s'il
 s'agissait de trames AX.25 re�ues depuis un port AX.25. La distinction
 des trames IP contenant de l'AX.25 se fait par l'interm�diaire d'un
 identifiant de protocole �gal � 4 (la valeur 94 est possible quoique
 d�su�te). Le RFC 1226 d�crit tout �a en d�tail.

 L'outil _a_x_2_5_i_p_d inclus dans le paquetage ax25-utils se pr�sente comme
 un programme g�rant une interface KISS, au travers de laquelle
 passeront des trames AX.25, et une interface d'adaptation TCP/IP. Il
 se configure par l'interm�diaire du fichier /etc/ax25/ax25ipd.conf.


 2211..33..11..  OOppttiioonnss ddee ccoonnffiigguurraattiioonn dd''AAXXIIPP

 _a_x_2_5_i_p_d op�re dans deux modes : "digipeater" et "tnc". En mode "tnc",
 le d�mon 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 d�mon agit comme un noeud de
 transmission AX.25.  Les diff�rences 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 d�sirez �galement transmettre des paquets
 AX.25. Chaque route dispose d'options qui seront expliqu�es un peu
 plus tard.
 Voici les autres options � configurer :

 le tty du d�mon _a_x_2_5_i_p_d ainsi que sa vitesse (en g�n�ral l'extr�mit�
 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 situ�es derri�re des filtres
 qui ne laisseront passer que les datagrammes UDP/IP. Le choix doit
 co�ncider avec ce qui est attendu � l'autre extr�mit�.


 2211..33..22..  ttyyppiiqquuee UUnn ffiicchhiieerr ddee ccoonnffiigguurraattiioonn //eettcc//aaxx2255//aaxx2255iippdd..ccoonnff

















































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





 2211..33..33..  EExx��ccuutteerr aaxx2255iippdd


     CCoommmmeenncceezz ppaarr mmeettttrree eenn ppaallccee llee ffiicchhiieerr /etc/ax25/axports


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





     EExx��ccuutteezz _k_i_s_s_a_t_t_a_c_h ppoouurr ccrr��eerr llee ppoorrtt ::


         /usr/sbin/kissattach /dev/ptyq0 axip





     LLaanncceezz _a_x_2_5_i_p_d ::


         /usr/sbin/ax25ipd &





     TTeesstteezz llaa lliiaaiissoonn AAXXIIPP ::


         call axip vk5xxx






 2211..33..44..  RReemmaarrqquueess ccoonncceerrnnaanntt cceerrttaaiinnss iinnddiiccaatteeuurrss ddeess rroouutteess

 "route" met en place les destinations d'envoi de vos trames AX.25
 encapsul�es. Lorsque le d�mon _a_x_2_5_i_p_d re�oit un paquet sur son
 interface, il compare l'identifiant de destination avec chacun de ceux
 pr�sents dans sa table de routage. S'il trouve une correspondance, le
 paquet est alors encapsul� dans un datagramme IP et transmis � l'h�te
 sp�cifi�.

 Deux indicateurs peuvent �tre ajout�s � n'importe quelle route du
 fichier ax25ipd.conf :

    bb  tout trafic � destination d'une adresse rep�r�e par le mot-clef
       "broadcast" doit transiter par cette route.

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

 L'indicateur de broadcast est tr�s 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 g�rer des paquets de diffusion g�n�rale.


 2211..44..  LLiieerr NNOOSS �� LLiinnuuxx aauu mmooyyeenn dd''uunn ppiippee

 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 habitu�es. La plupart d'entre eux souhaitent que leur version de
 NOS puisse dialoguer avec le noyau Linux de fa�on � offrir certaines
 des possibilit�s 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'interm�diaire de tuyaux (pipe).

 Linux et NOS g�rant tous deux le protocole SLIP, il est possible de
 les relier au moyen d'une liaison slip. Vous pourriez le faire gr�ce �
 deux ports s�rie et � un c�ble null-modem mais ce serait aussi co�teux
 qu'inefficace. Comme d'autres syst�mes de type Unix, Linux dispose de
 tuyaux dits `pipes' (prononcer paillepeu). Il s'agit de pseudo-
 p�riph�riques 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'extr�mit� mmaa��ttrree d'un
 tuyau apr�s quoi un second programme peut ouvrir la terminaison
 eessccllaavvee. Lorsque les deux bouts sont ouverts, les programmes peuvent
 communiquer l'un avec l'autre en �crivant des caract�res 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 r�pertoire /dev en regorge : les extr�mit�s
 ma�tres 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 ma�tre � Linux
 et l'esclave � NOS (le noyau d�marre le premier et l'extr�mit� ma�tre
 doit �tre la premi�re ouverte). N'oubliez pas que le noyau Linux doit
 �tre muni d'une adresse IP diff�rente de celle de NOS. A mettre en
 place si ce n'est pas d�j� le cas.

 Le tuyau se configure comme un p�riph�rique s�rie. Pour une liaison
 slip, les commandes � ex�cuter 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 _r_o_u_t_e de la derni�re ligne
 indique simplement au noyau Linux qu'il doit router tous les
 datagrammes � destination d'amprnet via le lien slip cr�� par la
 commande _s_l_a_t_t_a_c_h. Vous pouvez par exemple copier ces commandes dans
 le fichier /etc/rc.d/rc.inet2 (selon votre installation) apr�s toutes
 les autres commandes de configuration r�seau afin que la liaison slip
 apparaisse automatiquement � la r�initialisation du syst�me.
 Remarque : on ne gagne rien � utiliser _c_s_l_i_p au lieu de _s_l_i_p. Au
 contraire, les performances diminuent de par la nature purement
 virtuelle du lien (on passe plus de temps � compresser les en-t�tes
 qu'� transmettre toutes les donn�es).

 Essayez les commandes suivantes pour configurer la terminaison du c�t�
 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 cr�ent un port slip nomm� `linux' sur l'extr�mit�
 esclave du tuyau et ajoutent une route qui y pointe. Une fois NOS
 d�marr�, vous devriez pouvoir ex�cuter des ping et des telnet de NOS
 vers Linux et vice-versa. Si ce n'est pas le cas, v�rifiez encore une
 fois que vous ne vous �tes tromp� nulle part, surtout au niveau des
 adresses et des tuyaux.


 2222..  OO�� ttrroouuvveerr ddee ll''iinnffoorrmmaattiioonn ssuurr...... ??

 Ce document suppose une certaine exp�rience de la transmission paquets
 par radio, et, comme ce n'est pas forc�ment le cas, j'ai regroup� un
 ensemble de r�f�rences � d'autres informations utiles.



 2222..11..  TTrraannssmmiissssiioonn ppaaqquueettss ppaarr rraaddiioo

 Vous trouverez des informations g�n�rales sur la transmission paquets
 par radio sur les sites suivants :

 American Radio Relay League <http://www.arrl.org/>,

 Radio Amateur Teleprinter Society <http://www.rats.org/>

 Tucson Amateur Packet Radio Group <http://www.tapr.org/>



 2222..22..  DDooccuummeennttaattiioonn ssuurr lleess pprroottooccoolleess


 AX.25, NetRom - Jonathon Naylor a regroup� de nombreux documents sur
 le sujet qui sont disponibles via : ax25-doc-1.0.tar.gz
 <ftp://ftp.pspt.fi/pub/ham/linux/ax25/ax25-doc-1.0.tar.gz>



 2222..33..  DDooccuummeennttaattiioonn ssuurr llee mmaatt��rriieell


 Informations sur la carte PPII22 : Ottawa Packet Radio Group
 <http://hydra.carleton.ca/>.

 Informations sur le mat�riel BBaayyccoomm : Baycom Web Page
 <http://www.baycom.de/>.

 2233..  GGrroouuppeess ddee ddiissccuussssiioonn rraaddiiooaammaatteeuurrss eett LLiinnuuxx

 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 r�seau
 irc linuxnet.

 Pour vous abonner � la liste de diffusion Linux lliinnuuxx--hhaammss, envoyez un
 courrier � :


      [email protected]




 avec dans le corps du message la ligne suivante :


      subscribe linux-hams




 La ligne de sujet sera ignor�e.

 La liste de diffusion lliinnuuxx--hhaammss est archiv�e aux adresses :

 zone.pspt.fi <http://hes.iki.fi/archive/linux-hams/> et :
 zone.oh7rba.ampr.org <http://zone.oh7rba.ampr.org/archive/linux-
 hams/>.  Les d�butants sont pri�s de commencer par utiliser les
 archives. Celles-ci contiennent des r�ponses � l'essentiel des
 questions courantes.


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


      [email protected]




 avec dans le corps du message la ligne :


      subscribe tcp-group




 RReemmaarrqquuee :: n'oubliez pas que tcp-group a pour th�me les discussions
 autour de l'emploi des protocoles �volu�s parmi lesquels figure
 TCP/IP.  _L_e_s _q_u_e_s_t_i_o_n_s _s_p_�_c_i_f_i_q_u_e_s _� _L_i_n_u_x _n_'_y _o_n_t _n_o_r_m_a_l_e_m_e_n_t _p_a_s
 _l_e_u_r _p_l_a_c_e_.


 2244..  RReemmeerrcciieemmeennttss

 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.

 2255..  CCooppyyrriigghhtt..

 Copyright (c) 1996 Terry Dawson.

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