# AX25-HOWTO Version 1.5

Linux AX25-HOWTO, Amateur Radio.

Terry Dawson, VK2KTJ, terry@perf.no.itg.telecom.com.au

Traduction par Thibaut Maquet, F5CDQ, maquet@bigfoot.com

v1.5, 17 octobre 1997

Le système d'exploitation Linux est sans doute le seul système au monde pouvant se vanter d'avoir un support intégré de l'AX25, un protocole radio utilisé par les opérateurs radio amateurs dans le monde entier.
Le but de ce document est de décrire comment installer et configurer ce support.

## Table des matières

- 1. Introduction.

- 1.1. Changements par rapport aux versions précédentes
- 1.2. Où obtenir de nouvelles versions de ce document
- 1.3. Autres documentations voisines

- 2. Linux et les protocoles radio AX.25 et NetRom

- 2.1. Comment tout ceci tient-il ensemble

- 3. Les composantes des logiciels AX.25/NetRom

- 3.1. Trouver le noyau, les outils et les utilitaires

- 3.1.1. Les sources du noyau
- 3.1.2. Les outils réseau
- 3.1.3. Les utilitaires AX25

- 4. Installation des logiciels AX.25 et NetRom

- 4.1. Compiler le noyau

- 4.1.1. Un mot sur les modules du noyau
- 4.1.2. Quelles sont les nouveautés dans les modules 2.0.*+ et les noyaux 2.1.*

- 4.2. Les outils de configuration réseau

- 4.2.1. Un kit de correction ajoutant le support de Rose et corrigant certaines erreurs
- 4.2.2 Construire la distribution standard des net-tools

- 4.3. Les programmes utilisateurs AX.25

- 5. Une note sur les indicatifs, adresses et autres avant de commencer

- 5.1. Que sont donc T1, T2, N2 et autres
- 5.2. Paramètres configurables en temps réel

- 6. Configuration d'un port AX.25

- 6.1. Création de l'unité réseau AX.25

- 6.1.1. Création de l'unité KISS

- 6.1.1.1. Configurer un TNC à double port

- 6.1.2. Création de l'unité Baycom
- 6.1.3. Configuration des paramètres d'accès au canal AX.25

- 6.1.3.1. Configuration du noyau AX.25 pour utiliser l'unité BayCom

- 6.1.4. Création d'une unité modem à base de carte son

- 6.1.4.1. Configuration de la carte son
- 6.1.4.2. Configuration du pilote du modem son
- 6.1.4.3. Configuration des paramètres d'accès au canal AX.25
- 6.1.4.4. Définir les niveaux audio et accorder le pilote
- 6.1.4.5. Configurer le noyau AX.25 afin qu'il utilise le modem son

- 6.1.5. Création d'une unité pour une carte PI
- 6.1.6. Création d'une unité pour la PacketTwin
- 6.1.7. Créer une unité pour la carte générique SCC

- 6.1.7.1. Obtenir et construire la distribution des outils de configuration
- 6.1.7.2. Configurer le pilote pour votre carte

- 6.1.7.2.1. Configuration des paramètres matériels

- 6.1.7.3. Configuration des canaux
- 6.1.7.4. Utiliser le pilote
- 6.1.7.5. Les outils sccstat et sccparam

- 6.1.8. Création d'une unité Ethernet BPQ
- 6.1.9. Configurer le noeud BPQ pour communiquer avec le support Linux AX.25

- 6.2. Créer le fichier /etc/ax25/axports
- 6.3. Configuration du routage AX.25

- 7. Configurer une interface AX.25 pour TCP/IP
- 8. Configurer un port NetRom

- 8.1. Configurer le fichier /etc/ax25/nrports
- 8.2. Configurer /etc/ax25/nrbroadcast
- 8.3. Création de l'unité réseau NetRom
- 8.4. Démarrer le daemon NetRom
- 8.5. Configuration du routage NetRom

- 9. Configurer IP sur une interface NetRom
- 10. Configurer un port Rose

- 10.1. Configurer /etc/ax25/rsports
- 10.2. Créer l'unité réseau Rose
- 10.3. Configurer le routage Rose

- 11. Effectuer des appels AX.25/NetRom/Rose
- 12. Configurer Linux afin qu'il accepte des connexions Packet

- 12.1. Créer le fichier /etc/ax25/ax25d.conf
- 12.2. Un simple exemple du fichier ax25d.conf
- 12.3. Démarrage de ax25d

- 13. Configuration du noeud

- 13.1. Création du fichier /etc/ax25/node.conf
- 13.2. Créer le fichier /etc/ax25/node.perms
- 13.3. Configurer le noeud afin qu'il soit exécuté par ax25d
- 13.4. Configurer le noeud afin qu'il soit exécuté depuis inetd

- 14. Configuration de axspawn

- 14.1. Création du fichier /etc/ax25/axspawn.conf

- 15. Configuration de la pms

- 15.1. Créer le fichier /etc/ax25/pms.motd
- 15.2. Créer le fichier /etc/ax25/pms.info
- 15.3. Associer des indicatifs AX.25 avec des utilisateurs du système
- 15.4. Ajouter la PMS au fichier /etc/ax25/ax25d.conf
- 15.5. Tester la PMS

- 16. Configurer les programmes user_call
- 17. Configuration des commandes de liens Rose entrants et sortants

- 17.1. Configuration d'un lien Rose sortant
- 17.2. Configuration d'un lien Rose entrant

- 18. Associer des indicatifs AX.25 à des utilisateurs Linux
- 19. Les entrées systèmes du fichier /proc/
- 20. Programmation AX.25, NetRom et Rose

- 20.1. Les familles d'adresse
- 20.2. Les fichiers entêtes
- 20.3. Adaptation des indicatifs et exemples

- 21. Exemples de configurations

- 21.1. Petit réseau Ethernet avec Linux comme routeur vers le réseau radio
- 21.2. Configuration de la passerelle d'encapsulation IPIP
- 21.3. Passerelle d'encapsulation AXIP

- 21.3.1. Les options de configuration AXIP
- 21.3.2. Un fichier /etc/ax25/ax25ipd.conf typique
- 21.3.3. Exécuter ax25ipd
- 21.3.4. Quelques remarques sur les routes et les drapeaux des routes

- 21.4. Lier NOS et Linux grâce à un pipe

- 22. Où puis-je trouver plus d'informations sur .... ?

- 22.1. Packet Radio
- 22.2. Documentation sur les protocoles
- 22.3. Documentation sur le matériel

- 23. Discussions en rapport avec les Radios Amateurs et Linux
- 24. Remerciements
- 25. Copyright

###

1. Introduction

A l'origine, ce document était une annexe à HAM-HOWTO mais il est devenu très vite trop imposant pour
continuer à être géré de cette manière. Ce document décrit comment installer et configurer le support natif des
protocoles AX25 et Netrom pour Linux. Quelques configurations typiques y sont décrites, elles pourront être
utilisées comme modèle d'apprentissage.
L'implémentation Linux des protocoles radioamateurs est très flexible.
Pour les personnes relativement peu familières avec le système d'exploitation Linux, la configuration peut sembler
intrépide et compliquée.

Il va vous falloir quelques temps avant de comprendre comment toutes les choses vont ensemble.
Vous trouverez les choses fortement compliquées si vous ne vous êtes pas correctement préparés à Linux en général.
Vous ne devez pas espérer basculer d'un autre environnement à Linux sans un minimum de connaissance du système
Linux.

##### Table des matières

###

1.1. Changements par rapport aux versions précédentes

Ajouts:

- La page web de Joerg Reuters
- La partie "Plus d'informations"
- La configuration ax25ipd.

Corrections/Mises à jour :

- Changement des valeurs des pty afin d'éviter des éventuels conflits
- Mise à jour des versions des modules et des ax25-utils.

A faire :

- Correction de la partie des SCC section, elle est probablement fausse.
- Développement de la partie programmation.

#### Table des matières

###

1.2. Où obtenir de nouvelles versions de ce document

Le meilleur endroit pour obtenir la dernière version de ce document se trouve sur une archive de projet de
documentation Linux (LDP). Celui-ci correspond en fait à un serveur Web et ce document y apparaît sous
l'appellation AX25-HOWTO <http://members.xoom.com/maquet>

Vous pouvez toujours me contacter, mais j'ai l'habitude d'envoyer les nouvelles versions de ce document
directement au coordinateur LDP HOWTO; donc s'il ne se trouve pas à cet endroit alors il y a des chances
que je ne l'ai pas encore achevé.

#### Table des matières

###

1.3. Autres documentations voisines

Il y a bien d'autres documentations voisines. Il y a beaucoup de documents qui expliquent d'une manière
générale comment utiliser les réseaux avec Linux et je vous recommande de bien les lire.
En effet, ils vous assisteront pleinement dans vos futures installations et devront vous conforter dans
l'établissement d'autres configurations.

Il s'agit de :

Le HAM-HOWTO <http://www.freenix.fr/linux/HOWTO/HAM-HOWTO.html>,
le Net-3-HOWTO < http://www.freenix.fr/linux/HOWTO/NET-3-HOWTO.html>,
le Ethernet-HOWTO < http://www.freenix.fr/linux/HOWTO/Ethernet-HOWTO.html>,

et

le Firewall-HOWTO <http://www.freenix.fr/linux/HOWTO/Firewall-HOWTO.html>

Plus d'informations sur la documentation HOW-TO Linux peuvent être trouvées sur:

Linux HOWTO <http://sunsite.unc.edu/LDP/HOWTO>

#### Table des matières

###

2. Linux et les protocoles radio AX.25 et NetRom

Le protocole AX.25 offre à la fois des modes d'opérations en mode connecté et non connecté, il est
également utilisé pour des liens de point à point, ou finalement pour transporter d'autres protocoles
comme le TCP/IP et le NetRom.
Il est semblable à la couche 2 du X25 en structure, avec quelques extensions qui le rendent plus pratique
à utiliser dans l'environnement radio amateur.

Le protocole NetRom est une tentative de protocole orienté connexion totale et il utilise l'AX.25 à très
bas niveau en tant que protocole d'échange de données. Il fournit une couche réseau qui est une forme
adaptée du AX.25.
Le protocole NetRom offre également du routage dynamique et des alias pour les noeuds.

Le protocole Rose a été conçu et implémenté par Tom Moulton W2VY et est une implémentation du
protocole X25 au niveau de sa couche paquet ; il a été conçu pour fonctionner avec la couche d'échange
de données du AX25. Il fournit également une couche réseau. Les adresses Rose ont la forme de dix
chiffres. Les quatre premiers chiffres sont appelés le code d'identification du réseau de données
(Data Network Identification Code, DNIC) et ont été pris dans l'appendice B de la recommandation X.121.
Plus d'informations sur le protocole Rose peuvent être obtenues depuis le serveur web RATS
<http://www.rats.org>.

Alan Cox a développé quelques applicatifs basés sur le noyau du AX.25 pour Linux.
Jonathon Naylor <g4klx@g4klx.demon.co.uk> a la charge du développement à venir du code, il a ajouté
les supports NetRom et Rose et il est maintenant le développeur principal du code du noyau AX.25.
Le support DAMA a été développé par Joerg, DL1BKE, <jreuter@poboxex.com>. Le support
du Baycom a été ajouté par Thomas Sailer, <sailer@ife.ee.ethz.ch>.
Finalement, j'ai la charge des programmes utilitaires AX.25.

Le code de Linux supporte les TNC (Terminal Node Controllers) basés sur le mode KISS, la carte
Ottawa PI, la carte Gracilis PacketTwin et toutes les autres cartes basées sur le Z8530 SCC avec le
pilote générique SCC; finalement, il supporte très bien les modems Baycom sur ports séries et parallèles.
Le nouveau pilote de Thomas supporte les Soundblaster et autres cartes sonores à base de puces Crystal.

Les programmes utilisateurs contiennent une PMS très simple (Personal Message System, système de
messages personnels), une balise, un utilitaire de connexion en ligne de commande, 'listen' un exemple
montrant comment capturer toutes trames AX.25 à bas niveau, ainsi que d'autres programmes
permettant de configurer le protocole NetRom. Sont inclus également, un serveur AX.25 capable de
gérer et de diriger n'importe quelles connexions AX.25 entrantes ainsi qu'un daemon NetRom qui se
charge de toute la gestion ardue du protocole NetRom.

#### Table des matières

###

2.1. Comment tout ceci tient-il ensemble

L'implémentation AX.25 de Linux est une toute nouvelle implémentation.
Bien qu'elle semble identique aux autres implémentations AX.25 telles que NOS, BPQ et autres,
elle est complètement différente.
L'implémentation AX.25 de Linux est configurable de telle façon qu'elle se puisse se comporter
comme n'importe quelles autres implémentations mais sa procédure de configuration est entièrement
différente.

Pour vous aider à comprendre comment se déroule cette phase de configuration, cette partie décrit
les caractéristiques structurelles de l'implémentation AX.25 et la façon qu'elle s'introduit dans la structure
globale de Linux.

Représentation simplifiée des couches des protocoles

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

Ce schéma illustre simplement que NetRom, Rose et TCP/IP fonctionnent directement au somment de
AX.25, mais chacun de ces protocoles est traité séparément dans l'interface de programmation.
Les noms commençant par "AF_" représentent simplement l'adresse de famille de chacun de ces
protocoles lors de la création d'applications. La chose importante à retenir est la dépendance implicite
de la configuration des unités AX.25 avant de pouvoir configurer correctement les unités NetRom, Rose
ou TCP/IP.

Schéma des modules logiciels de l'implémentation réseau de Linux

-----------------------------------------------------------------------------
Utilisa-| Programmes| call node || Daemons | ax25d mheardd
teur | | pms mheard || | inetd netromd
-----------------------------------------------------------------------------
| Sockets | open(), close(), listen(), read(), write(), connect()
| |-------------------------------------------------------
| | AF_AX25 | AF_NETROM | AF_ROSE | AF_INET
|-------------------------------------------------------------------
Noyau | Protocoles| AX.25 | NetRom | Rose | IP/TCP/UDP
|-------------------------------------------------------------------
| Unités | ax0,ax1 | nr0,nr1 | rose0,rose1 | eth0,ppp0
|-------------------------------------------------------------------
| Pilote | Kiss PI2 PacketTwin SCC BPQ | slip ppp
| | Modem son Baycom | ethernet
-----------------------------------------------------------------------------
Matériel | Carte PI2, carte PacketTwin, carte SCC, port série, carte ethernet
-----------------------------------------------------------------------------

Ce schéma est un peu plus général que le précédent. Il tente de montrer la relation entre les applications
clientes, le noyau et le matériel.
Il démontre également les relations entre l'interface de programmation des applications socket, les modules
des protocoles actuels, les unités réseau du noyau ainsi que les pilotes d'unités.
Rien dans ce schéma ne dépend de quoique ce soit provenant de la couche supérieure, et en général, vous
devez configurer depuis le bas vers le haut. Par exemple, si vous voulez exécuter le programme "call", vous
devez également configurer le matériel, vous assurez que le noyau dispose du pilote approprié, que vous
créez la bonne unité réseau, et que le noyau dispose du protocole doté d'une interface de programmation
accessible depuis le programme "call". J'ai tente de vous montrer, dans ce document, ces différentes étapes
dans plus ou moins le même ordre.

#### Table des matières

###

3. Les composantes des logiciels AX.25/NetRom

Le logiciel AX.25 comprend trois composantes, les sources du noyau, les outils de configuration du réseau
et les programmes utilitaires.

Les versions 2.0.xx du noyau Linux comprennent par défaut l'AX.25, le NetRom, le Z8530 SCC et les pilotes
des cartes PI et PacketTwin. Il y a eu des améliorations significatives dans les noyaux 2.1.* Malheureusement,
le reste des noyaux 2.1.* les rendent quelque peu instables pour le moment, et ils sont à déconseillés pour un
système en production.

Afin d'arranger le problème, Jonathon Naylor a préparé un kit de correction qui permettra l'utilisation des
protocoles amateurs radio depuis le noyau 2.0.28 jusqu'aux noyaux 2.1.*
Ce correctif s'applique très simplement, et fournit des facilités absente dans les noyaux standards comme le
support Rose.

#### Table des matières

###

3. 1. Trouver le noyau, les outils et les utilitaires

#### Table des matières

####

3.1.1. Les sources du noyau

Les sources du noyau peuvent être trouvées à leurs endroits habituels :
ftp.kernel.org

/pub/linux/kernel/v2.0/linux-2.0.31.tar.gz

La version présente des correctifs AX25 est disponible sur:

ftp.pspt.fi

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

#### Table des matières

####

3.1.2. Les outils réseau

La dernière version des outils réseau standard pour Linux supporte l'AX.25 ainsi que le NetRom ;
elle se trouve sur :

ftp.inka.de

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

La dernière distribution de ipfwadm peut être récupérée sur:

ftp.xos.nl

/pub/linux/ipfwadm/

#### Table des matières

####

3.1.3. Les utilitaires AX25

Il y a deux différentes souches d'utilitaires AX25. L'une est pour les noyaux 2.0.* et l'autre marchera à la
fois avec les noyaux 2.1.* ainsi qu'avec les modules 2.0.*. Le numéro de version de ax25-utils indique la
plus vieille version du noyau qui devrait marcher. Veuillez choisir une version de ax25-utils appropriée à
votre noyau.
Les combinaisons ci-dessous sont censées marcher. Vous devez utiliser l'une de ces combinaisons, toute
autre combinaison ne marchera sans doute pas, ou pas bien.

Noyau Linux Ensemble des utilitaires AX25
linux-2.0.29 ax25-utils-2.0.12c.tar.gz **
linux-2.0.28+module12 ax25-utils-2.1.22b.tar.gz **
linux-2.0.30+module14c ax25-utils-2.1.42a.tar.gz
linux-2.0.31+module14d ax25-utils-2.1.42a.tar.gz
linux-2.1.22 ++ ax25-utils-2.1.22b.tar.gz
linux-2.1.42 ++ ax25-utils-2.1.42a.tar.gz

Note: la série des ax25-utils-2.0.* (marquées ci dessus avec le symbole '**') est désormais obsolète et n'est
plus supportée. Ce document couvre les configurations utilisant les versions des logiciels recommandés dans
le tableau. Puisqu'il existe des différences entre les versions, la plupart des informations corresponderont avec
les dernières mises à jour du code.

Les programmes utilitaires AX.25 peuvent être récupérés sur:

ftp.pspt.fi
<ftp://ftp.pspt.fi/pub/linux/ham/ax25/>

ou sur: sunsite.unc.edu
<ftp://sunsite.unc.edu/pub/Linux/apps/ham/>

#### Table des matières

###

4. Installation des logiciels AX.25 et NetRom

Pour installer le support AX.25 sur votre système, vous devez configurer et installer un noyau approprié
et ensuite installer les utilitaires AX.25.

#### Table des matières

###

4.1. Compiler le noyau

Si vous êtes déjà familiers avec le processus de compilation du noyau Linux, vous pouvez sauter ce
chapitre; soyez quand même sûrs de choisir les bonnes options durant la compilation du noyau.
Sinon, lisez ce qui suit.

Normalement, les sources du noyau doivent être décompactées dans le répertoire /usr/src dans un
sous-répertoire appelé Linux. Pour faire ceci, vous devez vous connecter en tant que root et exécuter
une série de commandes comme suit:

# 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

Après avoir décompacté les sources du noyau au bon endroit et appliqué le correctif, il faut exécuter le
script de configuration et choisir les options qui conviennent à votre environnement matériel ainsi que les
composantes que vous souhaitez incorporer dans votre noyau. Pour faire cela, utilisez la commande suivante:

# make menuconfig

Vous pouvez également essayer ceci:

# make config

si vous préférez utiliser une installation pleine écran. Je vais maintenant vous décrire la méthode originale mais
vous pouvez utiliser celle avec laquelle vous sentez le mieux.

Dans chaque cas, on va vous proposer un champ d'options pour lesquels vous devrez répondre par 'Y'(Yes)
ou 'N'(No). (Notez que vous pouvez également répondre par 'M' si vous souhaitez utiliser les modules).
Afin de simplifier les choses, je vais considérer que vous ne les utilisez pas; dans le cas contraire, veuillez
faire les modifications appropriées.

Les options les plus significatives pour une configuration AX.25 sont:

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

Les options que j'ai indiqué par un '*' sont celles pour lequel vous devez répondre 'Y'. Le reste dépend
du matériel en votre possession ainsi que des options que vous souhaitez inclure. Quelques-unes de ces
options sont décrites plus en détail plus loin, donc si vous ne savez pas encore ce que vous voulez, alors
continuez à lire et revenez plus tard sur cette étape.

Une fois que vous en avez terminé avec la configuration du noyau, vous devriez être capable de compiler
le noyau:

# make dep
# make clean
# make zImage

Soyez sûrs d'avoir déplacer votre fichier arch/i386/boot/zImage où vous voulez, éditez votre fichier
/etc/lilo.conf et relancez lilo pour vous assurer que votre système démarre grâce à ce fichier.

#### Table des matières

####

4.1.1. Un mot sur les modules du noyau

Je ne vous recommande pas de compiler les pilotes sous forme de noyau.
Dans la plupart des installations, vous n'y gagnerez rien si ce n'est de la complexité supplémentaire.
Beaucoup de gens ont des problèmes à faire fonctionner les composants modularisés, pas parce
que le logiciel est defecteux mais parce que les modules sont trop compliqués à installer et à configurer.

Si vous avez choisi de compiler au moins une des composantes sous forme de module, alors vous
devez également utiliser:

# make modules
# make modules_install

afin d'installer vos modules au bon endroit.

Vous devez également ajouter quelques entrées dans votre fichier /etc/conf.modules de façon à ce
que votre programme kerneld sache comment faire fonctionner les modules du noyau.
Vous devez ajouter/modifier les choses suivantes:

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 (ou l'un des autres pilotes scc)
alias sm0 soundmodem
alias tunl0 newtunnel
alias char-major-4 serial
alias char-major-5 serial
alias char-major-6 lp

#### Table des matières

####

4.1.2. Quelles sont les nouveautés dans les modules 2.0.*+ et les noyaux 2.1.*

Les noyaux 2.1.* présentent des améliorations de pratiquement tous les protocoles et pilotes.
Les améliorations les plus significatives sont:

modularisation
les protocoles et pilotes ont tous été modularisés de façon à ce que vous
puissiez les utiliser avec insmod et rmmod. Ceci réduit les exigences
en mémoire du noyau pour l'utilisation de modules rarement utilisée
et rend la chasse aux erreurs de programmation beaucoup plus facile.
Ceci dit, cela complique beaucoup plus la configuration.

Tous les pilotes sont maintenant des pilotes réseau
toutes les unités réseau telles que Baycom, SCC, PI, Packettwin, etc...
présentent désormais une interface réseau normale, ainsi ils
ressemblent maintenant à un pilote Ethernet, et ne ressemblent plus
à des TNC en mode KISS. Un nouvel utilitaire appelé net2kiss vous
autorise à construire une interface KISS vers ces unités si vous le
souhaitez.

correction d'erreurs
il y a eu beaucoup de corrections d'erreurs ainsi que l'ajout de nouvelles
spécificités aux pilotes et protocoles. Le protocole Rose est l'un de
ces plus importants ajouts.

#### Table des matières

###

4.2. Les outils de configuration réseau

Maintenant que vous avez compilé le noyau, il vous faut compiler les nouveaux outils de
configuration réseau. Ces outils vous autorisent à modifier la configuration du réseau et à
ajouter des routes à la table de routage.

La nouvelle version alpha de la distribution standard des net-tools comprend le support de
l'AX.25 et du NetRom. Je l'ai testé et elle semble fonctionner correctement.

#### Table des matières

####

4.2.1. Un kit de correction ajoutant le support de Rose et corrigant certaines erreurs

La distribution standard des utilitaires de réseau (net-tools-1.33.tar.gz) avait quelques erreurs affectant
le support AX.25 et NetRom. J'ai crée un petit correctif ajoutant le support Rose apportant certaines
corrections à ces erreurs.

Vous pouvez obtenir ce correctif sur: zone.pspt.fi
<ftp://zone.pspt.fi/pub/linux/ham/ax25/net-tools-1.33.rose.tjd.diff.gz>.

#### Table des matières

####

4.2.2 Construire la distribution standard des net-tools

N'oubliez pas de lire la documentation et d'y suivre les instructions.
Pour compiler les outils, je procède comme ceci:

# 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

A cette étape, on va vous poser une série de questions pour la configuration, un peu comme
ce qui a été fait avec la configuration du noyau. Soyez sûrs d'y inclure le support pour tous
les protocoles et pour le type de matériel réseau que vous souhaitez utiliser. Si vous ne savez
pas quoi répondre à une question particulière, alors répondez 'Y'. A l'instar du noyau. Lorsque
la compilation est terminée, il vous faut utiliser:
# make install

pour installer l'ensemble des programmes au bon endroit.

Si vous souhaitez utiliser le pare-feu IP (firewall), alors vous allez devoir vous procurer les derniers
outils d'administration firewall ipfwadm.
Ces outils remplacent la vieille version des outils ipfw qui ne marchent plus avec les nouveaux noyaux.

Je compile les utilitaires ipfwadm de la façon suivante:

# 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

#### Table des matières

###

4.3. Les programmes utilisateurs AX.25

Après avoir correctement compiler et booter votre nouveau noyau, vous devez compiler les
programmes utilisateurs. Pour compiler et installer ceux-ci, utilisez les commandes suivantes:
# 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 vont être installés par défaut dans le répertoire /usr ainsi que dans les sous-répertoires:
bin, sbin, etc et man.

S'il s'agit de votre première installation, que vous n'avez jamais installé aucun des utilitaires AX25
sur votre machine auparavant, alors utilisez:

# make installconf

afin d'installer quelques exemples de fichier de configuration dans le bon répertoire.

Si vous obtenez des messages comme suit:

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

alors vous devriez vérifier que vous avez la distribution ncurses correctement installée sur votre
système. Le script de configuration tente de localiser la distribution ncurses aux endroits habituels,
mais il est possible qu'elle n'ait pas été proprement installée et dès lors, il sera impossible de la localiser.

#### Table des matières

###

5. Une note sur les indicatifs, adresses et autres avant de commencer

Chaque port AX.25 et NetRom sur votre système doit avoir un indicatif ainsi qu'un ssid.
Ceux-ci sont configurés dans les fichiers de configuration qui seront expliqués en détail par
la suite.

Quelques implémentations AX.25 comme NOS et BPQ vous autoriseront à configurer
les mêmes indicatifs et ssid sur chacun des ports AX.25 et NetRom. Pour quelques raisons
techniquement compliquées, Linux ne vous l'autorisera pas. Toutefois, ceci n'est pas un problème
insurmontable comme on pourrait le croire.

Ceci signifie qu'il y a certaines choses que vous devez savoir et prendre en considération lorsque
vous préparez vos configurations.

1. Chaque port AX.25 et NetRom doit être configuré avec un indicatif/ssid
unique.

2. TCP/IP utilisera l'indicatif et le ssid du port AX.25 par lequel on transmet
ou on reçoit, c'est-à-dire celui que vous avez configuré pour l'interface
AX.25 au point 1.

3. NetRom utilisera l'indicatif et le ssid spécifié pour lui dans son fichier
de configuration, mais cet indicatif est seulement utilisé lorsque votre NetRom
parle à un autre NetRom, il ne s'agit pas de l'indicatif/ssid que les
utilisateurs AX.25 souhaitant accéder à votre noeud NetRom utiliseront.
Plus d'informations seront fournies par la suite.

4. Par défaut, Rose utilise l'indicatif/ssid du port AX.25, à moins que
l'indicatif Rose n'ait été spécifié grâce à la commande 'rsparms'.
Si vous définissez un indicatif/ssid au moyen de la commande
'rsparms' alors Rose utilisera cet indicatif/ssid sur tous les
ports.

5. D'autres programmes, tels que le programme 'ax25d' peuvent écouter
au moyen de n'importe quel indicatif/ssid désiré et il peut même
y avoir des doublons sur les différents ports.

6. Si vous prenez garde au routage, vous pouvez configurer la même adresse IP
sur tous les ports que vous voulez.

#### Table des matières

###

5.1. Que sont donc T1, T2, N2 et autres

Toutes les implémentations AX.25 ne sont pas forcément basées sur le TNC2. Linux utilise une
nomenclature qui diffère légèrement de celle avec laquelle vous étiez familiers si votre unique expérience
du packet était un TNC.
Le tableau ci-dessous devrait vous aider à interpréter chacune des choses configurables, de façon à ce
que lorsque vous les rencontriez plus tard dans le texte, vous puissiez comprendre leur signification.
-------------------------------------------------------------------
Linux | TNC TAPR | Description
-------------------------------------------------------------------
T1 | FRACK | Temps à attendre avant de retransmettre
| | une trame non acquitée.
-------------------------------------------------------------------
T2 | RESPTIME | Temps minimal d'attente d'une autre trame à
| | recevoir avant de transmettre un accusé de
| | réception.
-------------------------------------------------------------------
T3 | CHECK | La période de temps à attendre avant de vérifier
| | que le lien est toujours actif.
-------------------------------------------------------------------
N2 | RETRY | Combien de fois faut-il retransmettre une trame
| | avant d'assumer que la connexion n'existe plus.
-------------------------------------------------------------------
Temps | | La période de temps pendant lequel la connexion
mort | | peut être au temps mort avant la déconnexion.
-------------------------------------------------------------------
Fenêtre| MAXFRAME | Le nombre maximum de trames transmises sans
| | accusé de réception.
-------------------------------------------------------------------

#### Table des matières

###

5.2. Paramètres configurables en temps réel

Les noyaux 2.1.* et 2.0 ainsi que les modules ont une nouvelle caractéristique qui vous autorisent
à changer certains paramètres en temps réel qu'auparavant vous ne pouviez pas changer.
Si vous jetez prudemment un coup d'oeil sur le répertoire /proc/sys/net, vous verrez plein de fichiers
dotés de noms significatifs qui décrivent certains paramètres de la configuration du réseau.
Les fichiers dans le répertoire /proc/sys/net/ax25 représentent chacun un port AX.25. Le nom du
fichier est en corrélation avec le nom du port.

La structure des fichiers dans /proc/sys/net/ax25/<nom du port>/ est la suivante:

Nom du 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=Etendu 0
backoff_type Terminaison 0=Linéaire 1=Exponentielle 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 Compteur T1 1s <= N <= 30s 10s
t2_timeout Compteur T2 1s <= N <= 20s 3s
t3_timeout Compteur T3 0s <= N <= 3600s 300s
idle_timeout Compteur d'inactivité 0m <= N 20m
maximum_retry_count N2 1 <= N <= 31 10
maximum_packet_length Longueur de trame AX.25 1 <= N <= 512 256
Dans la table, T1, T2 et T2 sont donnés en secondes, et le compteur d'inactivité est donné en
minutes. Mais veuillez noter que les valeurs utilisées dans l'interface sysctl sont données en unités
internes où le temps en seconde est multiplié par 10, ceci autorise des résolutions jusqu'à 1/10
de seconde. Avec des compteurs qui autorisent des valeurs nulles, comme T3 et le compteur
d'inactivité, une valeur à zéro indique que le compteur est désactivé.

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

Nom du fichier Valeur 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:

Nom du fichier Valeur 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

Pour mettre un paramètre, tout ce que vous avez à faire est d'écrire la valeur désirée
dans le fichier lui-même, par exemple pour vérifier et mettre la taille de la fenêtre Rose,
utilisez ceci:

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

#### Table des matières

###

6. Configuration d'un port AX.25

Chacune des applications AX.25 lit un fichier particulier de configuration afin d'obtenir les paramètres
des divers ports AX.25 configurés sur votre machine Linux. Pour ces ports AX.25, le fichier qui est lu
est /etc/ax25/axport.
Vous devez avoir une entrée dans ce fichier pour chaque port AX.25 que vous souhaitez utiliser dans
votre système.

#### Table des matières

###

6.1. Création de l'unité réseau AX.25

L'unité réseau est celle qui est listée lorsque vous utilisez la commande 'ifconfig'. Il s'agit de l'objet
vers lequel le noyau de Linux envoit et reçoit des données.
Il y a pratiquement toujours un port physique associé à l'unité réseau, néanmoins il y a certaines
situations où cela ne sera pas nécessaire.
Une unité réseau est semblable à une unité de pilotage.
Dans le code Linux AX.25, il y a un certain nombre de pilotes d'unité. Le plus courant est sans
doute le pilote KISS mais il y en existe d'autres comme les pilotes SCC, Baycom et carte son.
Chacun de ces pilotes va créer une unité réseau lors de leur démarrage.

#### Table des matières

####

6.1.1. Création de l'unité KISS

Options de compilation du noyau:

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

La configuration la plus courante sera un TNC en mode KISS branché sur un port série.
Il vous faudra d'abord configurer votre TNC ainsi que le connecter à votre port série. Vous pouvez
utiliser un programme de communication comme minicom ou seyon pour configurer votre TNC en
mode KISS.

Pour créer une unité KISS, utilisez le programme kissattach. Dans sa forme la plus simple, vous pouvez
employer kissattach de la façon suivante:

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

La commande kissattach va créer une unité réseau KISS. Ces unités sont appelées 'ax[0-9]'. La première
fois que vous utilisez la commande kissattach, elle va créer 'ax0', la seconde fois, 'ax1', etc...
Chaque unité KISS est associée à un port série.

La commande kissparms vous autorise à paramétrer une unité KISS.

L'exemple présenté ci dessus va créer une unité réseau KISS au moyen de l'unité série '/dev/ttyS0' ainsi que
par l'entrée du fichier /etc/ax25/axports avec un nom de port appelé 'radio'. Il sera alors configuré avec un
txdelay et un slottime de 100 millisecondes et une valeur ppersist fixée à 25.

Veuillez vous référer aux pages du manuel (man) pour plus d'informations.

#### Table des matières

#####

6.1.1.1. Configurer un TNC à double port

L'utilitaire mkiss fourni avec la distribution ax25-utils vous autorise à utiliser les modems des
TNC à double port. Les configurer est relativement simple. Cela marche en prenant une simple
unité série connectée à un seul TNC multiport; comme s'il existait plusieurs unités, chacune d'elle
connecté à un seul port du TNC. Faites ceci avant toute configuration AX.25.
Les unités sur lesquelles vous effectuez alors vos configurations AX.25 sont des interfaces
pseudo-TTY, (/dev/ttyq*), et non pas des unités du port série. Les pseudo unités TTY créent
une sorte de tube à travers lequel les programmes conçus pour parler aux unités tty peuvent
communiquer avec d'autres programmes accédant eux aussi aux unités tty.
Chaque tube dispose de terminaisons maîtres et esclaves. La terminaison maître est généralement
appelée '/dev/ptyq*' et l'esclave '/dev/ttyq*'. Il y a une relation de un à un entre les maîtres et les
esclaves, donc /dev/ptyq0 est la terminaison maître d'un tube alors que /dev/ttyq0 est l'esclave.
Vous devez d'abord ouvrir le maître avant l'esclave. mkiss exploite ce mécanisme en découpant une
seule unité série en unités distinctes.

Exemple: si vous avez un TNC à double port connecté à l'unité série /dev/ttyS0 à une vitesse de 9600
bps, la commande:

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

va créer deux pseudos unités tty ressemblant à un seul et même port TNC.
Vous allez alors considérer /dev/ttyq0 et /dev/ttyq1 juste comme une simple unité série connectée à un TNC.
Ce qui signifie que vous allez alors utiliser la commande kissattach comme décrite ci dessus, pour chacune
des unités, dans l'exemple des ports AX.25 appelés port1 et port2.
Vous ne devez pas utiliser kissattach pour la réelle unité série car le programme mkiss l'utilise.

La commande mkiss a quelques options que vous pouvez utiliser. Elles sont explicitées ci dessous:

-c autorise l'ajout d'un octet de somme de contrôle à chaque trame KISS.
Ceci n'est pas compatible avec la majorité des implémentations KISS, mais uniquement avec les roms
KISS G8BPG.

- <vitesse>
définit la vitesse du port série.

-h autorise le handshaking hardware sur le port série, par défaut cette option n'est pas activée.
La plupart des implémentations KISS ne le supporte pas, d'autres si.

-l autorise le trace des informations vers le journal d'activité.

#### Table des matières

####

6.1.2. Création de l'unité Baycom

Options de compilation du noyau:

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

Thomas Sailer, <sailer@ife.ee.ethz.ch>, malgré son intime conviction que cela ne marcherait jamais
correctement, a développé un support Linux pour les modems Baycom. Son pilote supporte le port
série Ser12, ainsi que les modems sur les ports parallèles, le Par96 et le modèle évolué PicPar.
D'autres informations complémentaires sur les modems peuvent être obtenues sur le site Web
Baycom: <http://www.baycom.de>.

Votre première étape est de déterminer les entrées-sorties et les adresses des ports série ou
parallèles sur lesquels sont branchés vos modems Baycoms. Lorsque vous les avez, alors vous devez
les utiliser pour configurer le pilote du Baycom.

Le pilote du BayCom crée des unités réseau appelées: bc0, bc1, bc2 etc. lorsqu'il est configuré.

L'utilitaire sethdlc vous autorise à configurer le pilote avec ces paramètres, ou, si vous n'avez qu'un
seul modem Baycom d'installé, vous pouvez spécifier les paramètres grâce à la commande en ligne
insmod lorsque vous chargez le module Baycom.

Par exemple, voici une simple configuration. Désactivez le pilote série pour COM1: puis configurez
le pilote Baycom pour un modem Ser12 sur le port série COM1: avec l'option logicielle DCD activée:

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

Modem Par96 sur port parallèle LPT1: avec détection matérielle DCD:

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

Ceci n'est pas réellement la plus judicieuse façon de procéder. L'utilitaire sethdlc fonctionne aussi bien
avec une seule unité qu'avec plusieurs.

Les pages du manuel sur sethdlc contiennent beaucoup de détails, mais une série d'exemples illustrera
les aspects les plus importants de cette configuration. Les exemples suivants supposent que vous avez
déjà chargé le module Baycom grâce à:

# insmod hdlcdrv
# insmod baycom

ou que vous ayiez compilé le noyau avec son pilote à l'intérieur.

Configure le pilote de l'unité bc0 avec le modem Baycom sur le port parallèle LPT1: avec l'option logicielle
DCD:

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

Configure le pilote de l'unité bc1 avec le modem Baycom sur le port série COM1:

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

#### Table des matières

####

6.1.3. Configuration des paramètres d'accès au canal AX.25

Les paramètres d'accès au canal AX.25 sont l'équivalent des paramètres de type ppersist, txdelay et
slottime type parameters. Une fois encore, il faut utiliser l'utilitaire sethdlc.

Une fois de plus, les pages du manuel de sethdlc sont une des plus complètes sources d'information mais
un autre exemple ne peut pas faire de mal:

Configuration de l'unité bc0 avec un TxDelay à 200 mS, un SlotTime à 100 mS, un PPersist à 40 et
en half duplex:

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

Remarquez que les valeurs sont exprimées en millisecondes.

#### Table des matières

#####

6.1.3.1. Configuration du noyau AX.25 pour utiliser l'unité BayCom

Le pilote BayCom crée les unités réseau standards que le code du noyau AX.25 peut utiliser.
La configuration est identique à celle d'une carte PI ou PacketTwin.

La première étape est de configurer l'unité avec un indicatif AX.25.
L'utilitaire ifconfig sera utilisé dans ce but.

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

assignera l'unité BayCom bc0 à l'indicatif AX.25 VK2KTJ-15.
Alternativement, vous pouvez utiliser la commande axparms, vous devez toujours employer la
commande ifconfig pour activer l'unité:

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

La prochaine étape est de créer une entrée dans le fichier /etc/ax25/axports tout comme vous le
faites pour n'importe quelle autre unité.
L'entrée dans le fichier axports est associée à l'unité réseau que vous avez configuré au moyen de
l'indicatif. L'entrée dans le fichier axports qui a l'indicatif avec lequel vous avez configuré l'unité
Baycom est celle qui sera utilisée pour y faire référence.

Vous pouvez alors considérer la nouvelle unité AX.25 tout comme vous le ferez pour n'importe
quelle autre unité. Vous pouvez la configurer pour TCP/IP, l'ajouter à ax25d et même y exécuter
NetRom ou Rose par-dessus si cela vous chante.

#### Table des matières

####

6.1.4. Création d'une unité modem à base de carte son

Options de compilation du noyau:

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

Thomas Sailer a construit un nouveau pilote pour le noyau qui vous permet d'utiliser votre
carte son comme un modem. Connectez votre radio directement à votre carte son pour
faire du packet !
Thomas recommande au moins un 486DX2/66 si vous voulez utiliser ce logiciel
car toute la gestion des signaux digitaux est faite directement par le processeur principal.

Le pilote émule les modems de type 1200 bauds AFSK, 4800 HAPN ainsi que les 9600 FSK
(Compatible G3RUH). Pour le moment, les seules cartes son supportées sont les modèles compatibles
SoundBlaster et WindowsSoundSystem.
Les cartes son demandent quelques petites modifications électroniques permettant de piloter le
mécanisme Push-To-Talk; vous trouverez plus d'informations sur le site Web de Thomas:

<http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html>.

Il y a quelques options possibles, il s'agit de: détecter le son sortant de la carte ou d'utiliser la sortie
depuis un port parallèle, série ou midi.
Vous trouverez des exemples de montage pour chacun d'eux sur le site de Thomas.

Le pilote de la carte son crée des unités réseau appelées: sm0, sm1, sm2, etc... lors de la
configuration.

Note: le pilote de la carte est en conflit avec les ressources sonores de Linux. Donc, si vous comptez
utiliser le pilote de la carte son, vous devez vous assurer que le pilote de son Linux n'est pas installé.
Naturellement, vous pouvez compiler les deux sous forme de modules, les insérer et les retirer selon
vos besoins.

#### Table des matières

#####

6.1.4.1. Configuration de la carte son

Le pilote du modem n'initialise pas la carte son. La distribution standard ax25-utils comprend un
utilitaire qui permet de le faire, il s'agit de 'setcrystal' qui peut être utilisé pour les cartes son à base
des puces Crystal. Si vous avez d'autres cartes alors vous allez devoir utiliser un autre utilitaire pour
l'initialiser.
Sa syntaxe est directe:

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

Par exemple, si vous souhaitez configurer une carte soundblaster avec une adresse d'entrées-sorties à
0x388, une irq à 10 et un DMA à 1, utilisez:

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

Pour configurer une carte WindowSoundSystem avec une adresse d'entrées-sorties à 0x534, une irq à 5
et un DMA à 3, utilisez:

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

Le paramètre [-f synthio] est l'adresse du synthétiseur, et le paramètre [-c dma2] permet de contrôler le
second canal DMA afin d'effectuer des opérations en full duplex.

#### Table des matières

#####

6.1.4.2. Configuration du pilote du modem son

Lorsque vous avez configuré la carte son, vous devez également configurer le pilote afin de lui indiquer
l'emplacement de la carte son et le type de modem que vous souhaitez lui faire émuler.
L'utilitaire sethdlc vous autorise à configurer le pilote avec ces paramètres ou, si vous avez une seule
carte son d'installée, vous pouvez spécifier ces paramètres grâce à la commande en ligne insmode
lorsque vous chargez le module du modem son.

Par exemple, une simple configuration, avec une seule carte son SoundBlaster configurée ci-dessous émule
un modem a 1200 bps:
# insmod hdlcdrv
# insmod soundmodem mode="sbc:afsk1200" iobase=0x220 irq=5 dma=1

En fait, il ne s'agit pas de la meilleure façon de procéder. L'utilitaire sethdlc fonctionne aussi facilement avec
une seule unité qu'avec toutes les autres.
Les pages man de sethdlc contiennent tous les détails, mais quelques exemples illustreront les aspects les
plus importants de cette configuration. Les exemples suivants supposent que vous avez déjà chargé
les modules de modem son grâce à:
# insmod hdlcdrv
# insmod soundmodem

ou que vous ayiez déjà compilé le noyau avec le pilote à l'intérieur.

Configure le pilote pour supporter la carte WindowsSoundSystem que nous avons configuré auparavant
afin d'émuler un modem compatible G3RUH 9600 en unité sm0 sur le port parallèle à l'adresse 0x378
avec support du Push-To-Talk:

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

Configure le pilote pour supporter la carte SoundBlaster que nous avons configuré auparavant afin d'émuler
un modem 4800 bps HAPN en unité sm1 au moyen du port série à l'adresse 0x2f8 avec support du
Push-To-Talk:

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

Configure le pilote afin qu'il puisse supporter la carte SoundBlaster que nous avions configuré afin qu'elle émule
un modem AFSK à 1200 bps. en unité sm1 au moyen du port série à l'adresse 0x2f8 avec support du
Push-To-Talk:

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

#### Table des matières

#####

6.1.4.3. Configuration des paramètres d'accès au canal AX.25

Les paramètres d'accès au canal AX.25 sont l'équivalent des paramètres KISS ppersist, txdelay et slottime.
Une fois encore, vous allez devoir utiliser l'utilitaire sethdlc.
Une fois de plus, les pages man de sethdlc sont une source très complète d'informations mais un petit exemple
ne peut pas faire de mal:

Configure l'unité sm0 avec un TxDelay de 100 mS, un SlotTime de 50mS, un PPersist de 128, le tout en
full duplex:

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

Notez que les valeurs de timing sont en millisecondes.

#### Table des matières

#####

6.1.4.4. Définir les niveaux audio et accorder le pilote

Il est capital que les niveaux audio soient correctement définis afin que tout modem à base de transmission
radio puissent marcher.
Ceci est également vrai pour le modem son. Thomas a développé quelques utilitaires qui rendent la chose
plus aisée. Il s'agit de smdiag et de smmixer.

smdiag
fournit deux types d'affichage, l'un de type oscilloscope,
l'autre de type "modèle oculaire".

smmixer
vous autorise à ajuster les niveaux audio en transmission et en
réception.

Afin de démarrer l'utilitaire smdiag pour l'unité sm0 du modem son en mode 'oculaire', utilisez:

# smdiag -i sm0 -e

Afin de démarrer l'utilitaire smmixer pour l'unité sm0 du modem son, utilisez:

# smmixer -i sm0

#### Table des matières

#####

6.1.4.5. Configurer le noyau AX.25 afin qu'il utilise le modem son

Le pilote du modem son crée des unités réseau standard que le code du noyau AX.25 peut utiliser.
La configuration est le même que celle des cartes PI ou PacketTwin.

La première étape est de configurer l'unité avec un indicatif AX.25.
L'utilitaire ifconfig peut être utiliser dans ce but.

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

assignera l'unité sm0 du modem son à l'indicatif AX.25 VK2KTJ-4. Alternativement, vous pouvez utiliser
la commande axparms, mais vous devez toujours employer la commande ifconfig pour activer l'unité:

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

La prochaine étape est de créer une entrée dans le fichier /etc/ax25/axports tout comme vous l'avez déjà
effectué pour n'importe quelle autre unité.
L'entrée dans le fichier axports est associée à l'unité réseau que vous avez configuré au moyen de l'indicatif.
L'entrée dans le fichier axports qui a l'indicatif avec lequel vous avez configuré l'unité Baycom est
celle qui sera utilisée pour y faire référence.

Vous pouvez alors considérer la nouvelle unité AX.25 tout comme vous le ferez pour n'importe quelle autre
unité. Vous pouvez la configurer pour TCP/IP, l'ajouter à ax25d et même y exécuter NetRom ou Rose
par-dessus si cela vous chante.

#### Table des matières

####

6.1.5. Création d'une unité pour une carte PI

Options de compilation du noyau:

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

Le pilote de l'unité de la carte PI crée deux unités appelées 'pi[0-9][ab]'. La première carte PI détectée
allouera 'pi0', la seconde 'pi1', etc.
Les 'a' et 'b' font référence à la première et seconde interface physique sur la carte PI. Si vous avez inclut
les pilotes de cartes PI dans votre noyau, et que la carte a été correctement détectée alors vous pouvez
utiliser la commande suivante afin de configurer les unités réseau:

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

Cette commande va configurer le premier port sur la première carte PI détectée avec l'indicatif VK2KTJ-15
et la rendre active. Pour utiliser l'unité, il vous faut configurer une entrée dans votre fichier
/etc/ax25/axports avec un indicatif/ssid correspondant et vous serez alors prêts à continuer.

Le pilote de la carte PI a été écrit par David Perry, <dp@hydra.carleton.edu>

#### Table des matières

####

6.1.6. Création d'une unité pour la PacketTwin

Options de compilation du noyau:

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

Le pilote de l'unité de la carte PacketTwin crée deux unités appelées 'pt[0-9][ab]'.
La première carte PacketTwin détectée allouera 'pt0', la seconde 'pt1', etc.
Les 'a' et 'b' font référence à la première et seconde interface physique sur la carte
PacketTwin. Si vous avez inclut les pilotes de cartes PI dans votre noyau, et que la
carte a été correctement détectée alors vous pouvez utiliser la commande suivante afin
de configurer les unités réseau:

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

Cette commande va configurer le premier port sur la première carte PacketTwin
détectée avec l'indicatif VK2KTJ-15 et la rendre active. Pour utiliser l'unité, il vous
faut configurer une entrée dans votre fichier /etc/ax25/axports avec un indicatif/ssid
correspondant.

Le pilote de la carte PacketTwin a été écrit par Craig Small VK2XLZ,
<csmall@triode.apana.org.au>.

#### Table des matières

####

6.1.7. Créer une unité pour la carte générique SCC

Options de compilation du noyau:

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

Joerg Reuter, DL1BKE, jreuter@poboxes.com a développé un support générique pour les cartes à
base de Z8530 SCC. Son pilote est configurable afin de supporter un bon nombre de différents types
de cartes et présente une interface semblable à un TNC KISS ainsi vous pouvez donc le considérer
comme s'il s'agissait d'un TNC en mode KISS.

#### Table des matières

#####

6.1.7.1. Obtenir et construire la distribution des outils de configuration

Bien que le pilote soit inclus dans la distribution standard du noyau, Joerg distribue les versions les plus
récentes de son pilote avec l'ensemble des outils de configuration dont vous allez également avoir besoin.

Vous pouvez obtenir la distribution des outils de configuration sur:

Joerg's web page <http://www.rat.de/jr/>

ou:

db0bm.automation.fh-aachen.de

/incoming/dl1bke/

ou:

insl1.etec.uni-karlsruhe.de

/pub/hamradio/linux/z8530/

ou:

ftp.ucsd.edu

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

Vous allez y trouver plusieurs versions, choisissez celle qui correspond le mieux au noyau que vous
souhaitez utiliser.

z8530drv-2.4a.dl1bke.tar.gz 2.0.*
z8530drv-utils-3.0.tar.gz 2.1.6 ou plus

Les commandes suivantes étaient celles que j'utilisais pour compiler et installer la distribution du
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 voulez utiliser le pilote comme un module
# make for_kernel # Si vous voulez inclure le pilote dans le noyau
# make install

Ceci terminé, vous devriez trois nouveaux programmes installés dans votre répertoire /sbin: gencfg,
sccinit et sccstat. Ce sont ces programmes que vous allez utiliser pour configurer le pilote pour votre carte.

Vous allez également avoir un groupe de nouvelles unités créées dans votre /dev appelées scc0 .. scc7.
Ils seront utilisés plus tard exactement comme des unités 'KISS'.

Si vous choisissez de faire un 'make for_kernel', alors vous allez devoir recompiler votre noyau. Afin d'être
sûrs d'y incorporer le support du pilote z8530, soyez sûr de répondre 'Y' à la question
'Z8530 SCC kiss emulation driver for AX.25' durant la phase de configuration du noyau 'make config'.

Si vous choisissez de faire un 'make module' alors le nouveau fichier scc.o devra être installé dans le bon
répertoire /lib/modules et dans ce cas, il sera inutile de recompiler votre noyau. N'oubliez pas d'utiliser la
commande insmod pour charger le module avant de l'utiliser et de le configurer.

#### Table des matières

#####

6.1.7.2. Configurer le pilote pour votre carte

Le pilote z8530 SCC a été conçu pour être aussi flexible que possible de façon à ce qu'il puisse
supporter autant de types de cartes que possible.
Malheureusement cette souplesse a rendu la configuration plus compliquée.

Il y a une documentation plus élaborée dans la distribution et vous devriez la lire si vous avez le
moindre problème. Cherchez particulièrement dans doc/scc_eng.doc ou doc/scc_ger.doc pour
plus d'informations. J'ai paraphrasé les détails importants mais il y a beaucoup de petits détails
que j'ai omis.

Le fichier principal de configuration est lu par le programme sccinit et il est appelé /etc/z8530drv.conf.
Ce fichier est scindé en deux étapes principales: configuration des paramètres matériels et configuration des
canaux. Une fois que vous avez configuré ce fichier, ajoutez simplement:

# sccinit

dans votre fichier rc qui configure votre réseau et le pilote va être initialisé grâce au contenu du fichier de
configuration. Vous devez absolument faire ceci avant de tenter d'utiliser le pilote.

#### Table des matières

#####

6.1.7.2.1. Configuration des paramètres matériels

Le premier chapitre est divisé en phrases, chaque phrase représente une puce 8530. Chaque phrase
est une liste de mots clé avec des paramètres. Par défaut, vous pouvez spécifier jusqu'à quatre puces
SCC dans le fichier. La directive #define MAXSCC 4 dans scc.c peut être augmentée si vous exprimez
le besoin de gérer plus que quatre cartes.

Les mots clés et paramètres sont les suivants:

chip
le mot clé chip est utilisé pour séparer les phrases. Il ne prend pas en
compte les éventuels paramètres présents.

data_a
ce mot clé est utilisé pour configurer l'adresse du port de donnée
pour le canal 'A' du z8530. Le paramètre est un nombre hexadécimal,
par exemple 0x300.

ctrl_a
ce mot clé est utilisé pour spécifier l'adresse du port de contrôle
pour le canal 'A' du z8530. Le paramètre est un nombre hexadécimal,
par exemple 0x304.

data_b
ce mot clé est utilisé pour spécifier l'adresse du port de donnée
pour le canal 'B' du z8530. Le paramètre est un nombre hexadécimal,
par exemple 0x301.

ctrl_b
ce mot clé est utilisé pour spécifier l'adresse du port de contrôle
pour le canal 'B' du z8530. Le paramètre est un nombre hexadécimal,
par exemple 0x305.

irq
ce mot clé est utilisé pour spécifier l'IRQ utilisée par le 8530 SCC
décrit dans cette phrase. Le paramètre est un entier, par exemple 5.

pclock
ce mot clé est utilisé pour spécifier la fréquence d'horloge sur
la broche PCLK du 8530. Le paramètre est une fréquence entière notée
en Hz dont le défaut est 4915200 si le mot clé n'est pas fourni.

board
le type de platine supporte par le 8530 SCC. Le paramètre est une
chaîne de caractères. Les valeurs autorisées sont:

PA0HZP
la carte PA0HZP SCC

EAGLE
la carte Eagle

PC100
la carte DRSI PC100 SCC

PRIMUS
la carte PRIMUS-PC (DG9BL)

BAYCOM
la carte BayCom (U)SCC

escc
ce mot clé optionnel est utilisé pour permettre le support des puces
SCC étendues (Extended SCC chips, ESCC) comme le 8580, 85180 ou le
85280. Le paramètre est une chaîne de caractères avec 'yes' ou 'no'
comme valeur possible. La valeur par défaut est 'no'.
vector
ce mot clé optionnel spécifie l'adresse du vecteur loquet (également
connu comme "port intack") pour les cartes PA0HZP. Il ne peut y avoir
qu'un seul vecteur loquet pour toutes les puces. Par défaut, cette
valeur est à zéro.

special
ce mot clé optionnel spécifie l'adresse du registre de fonction spécial
présent sur quelques cartes. Par défaut, il est à zéro.

option
ce mot clé est facultatif et par défaut à zéro.

Ci-dessous, quelques exemples de configuration pour les cartes les plus populaires:

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

Carte PA0HZP SCC

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

Carte DRSI SCC

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

Si vous avez déjà une configuration qui marche pour votre carte avec NOS, alors vous pouvez
utiliser la commande gencfg pour convertir les commandes du pilote PE1CHL NOS en quelque
chose de compréhensible par le fichier de configuration du pilote z8530.

Pour utiliser gencfg, invoquez le simplement avec les mêmes paramètres que vous utilisez avec le
pilote PE1CHL dans NET/NOS. Par exemple:

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

va générer un squelette de configuration pour la carte OptoSCC.

#### Table des matières

#####

6.1.7.3. Configuration des canaux

Le chapitre sur la configuration des canaux est l'endroit ou vous spécifiez tous les autres paramètres
associés avec le port que vous configurez. Une fois encore le chapitre a été divisé en phrases. Une
phrase représente un port logique, et par conséquent il doit y en avoir deux pour chacun des
phrases de paramètre matériel puisque le 8530 SCC supporte deux ports.

Les mots clé et leurs paramètres sont aussi écrits dans le fichier /etc/z8530drv.conf et doivent apparaître
après le chapitre des paramètres matériels.

L'agencement est très important dans ce chapitre mais si vous vous en tenez à la séquence suggérée alors
cela devrait marcher. Les mots clé et arguments sont les suivants:

device
ce mot clé doit être la première ligne de la définition du port, il
spécifie le nom du fichier des unités spéciales qui s'appliquent au
restant de la configuration, par exemple /dev/scc0

speed
ce mot clé spécifie la vitesse en bits par seconde de l'interface. Le
paramètre est un entier: par exemple, 1200.

clock
ce mot clé spécifie l'origine de l'horloge pour les données. Les valeurs
possibles sont:

dpll
opération normale en halfduplex.
external
le modem fournit sa propre horloge Rx/Tx

divider
utilise le diviseur fullduplex si installé.
mode
ce mot clé spécifie le type de codage de données à utiliser.
Les paramètres autorisés sont: nrzi ou nr.

rxbuffers
ce mot clé spécifie le nombre de buffers en réception afin
d'allouer la mémoire. Le paramètre est un entier, par exemple 8.

txbuffers
ce mot clé spécifie le nombre de buffers en émission afin
d'allouer la mémoire. Le paramètre est un entier, par exemple 8.
bufsize
ce mot clé spécifie la taille des buffers de réception et d'émission.
Le paramètre est en octets et il représente la longueur totale de la
trame, il doit également prendre en compte les entêtes AX.25 et pas
seulement la longueur du champ d'information. Ce mot clé est optionnel
et est fixé par défaut à 384.
txdelay
la valeur du délai de transmission KISS, le paramètre est un entier en mS.
persist
la valeur de persistance KISS, le paramètre est un entier.
slot
la valeur du temps d'ouverture KISS, le paramètre est un entier en mS.
tail
la valeur de la queue de transmission KISS, le paramètre est un entier en
mS.
fulldup
le drapeau de full duplex KISS, le paramètre est un entier.
Duplex, 0==Half Duplex.

wait
la valeur d'attente KISS, le paramètre est un entier en mS.
min
la valeur minute KISS, le paramètre est un entier en S.
maxkey
la valeur maximale keyup, le paramètre est un entier en S.
idle
la valeur du timer de temps mort KISS, le paramètre est un entier en S.
maxdef
la valeur maxdef KISS, le paramètre est un entier.
group
la valeur de groupe KISS, le paramètre est un entier.
txoff
la valeur txoff KISS, le paramètre est un entier en mS.
softdcd
la valeur softdcd KISS, le paramètre est un entier.
slip
le drapeau slip KISS, le paramètre est un entier.

#### Table des matières

#####

6.1.7.4. Utiliser le pilote

Pour utiliser le pilote, il suffit de considérer les unités /dev/scc* comme une simple unité série tty
connectée sur le TNC en mode KISS. Par exemple, pour configurer les composantes réseau de
façon à ce que la carte SCC fonctionne avec le noyau Linux, vous allez utiliser quelque chose comme:

# kissattach -s 4800 /dev/scc0 VK2KTJ

Vous pouvez également utiliser NOS pour l'accrocher au noyau de la même manière. Par exemple,
sous JNOS, tapez ceci:

attach asy scc0 0 ax25 scc0 256 256 4800

#### Table des matières

#####

6.1.7.5. Les outils sccstat et sccparam

Pour vous aider dans la résolution des problèmes, vous pouvez utiliser le programme sccstat pour
afficher la configuration courante de l'unité SCC.
Essayez ceci:

# sccstat /dev/scc0

vous allez alors voir défiler une large quantité d'informations en rapport à la configuration et au status du
port SCC /dev/ssc0.
La commande sccparam vous autorise à changer et à modifier une configuration une fois que vous avez
démarré votre système.
Sa syntaxe est fort similaire à la commande param sous NOS. Par exemple, pour fixer le paramètre txtail
d'une unité à 100 mS, vous utiliserez:

# sccparam /dev/scc0 txtail 0x8

#### Table des matières

####

6.1.8. Création d'une unité Ethernet BPQ

Options de compilation du noyau:

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

Linux supporte la compatibilité Ethernet BPQ. Ceci vous permet d'utiliser le protocole AX.25 sur un
réseau Ethernet et d'interconnecter votre machine Linux avec d'autres machines BPQ sur le réseau.

Les unités réseau BPQ sont appelées 'bpq[0-9]'. L'unité 'bpq0' est associée à l'unité 'eth0', l'unité 'bpq1'
à l'unité 'eth1', etc.

La configuration est quelque peu ardue. Vous devez d'abord configurer une unité standard Ethernet.
Ceci implique que vous ayiez correctement compilé votre noyau de façon à ce qu'il supporte votre
carte Ethernet et testé son bon fonctionnement. Consultez le document Ethernet-HOWTO pour plus
d'informations à ce sujet.

Pour configurer le support BPQ, vous devez d'abord configurer l'unité Ethernet avec un indicatif AX.25.
La commande suivante l'effectuera pour vous:

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

Une fois de plus, rappelez-vous que l'indicatif que vous spécifiez doit correspondre avec l'entrée du fichier
/etc/ax25/axports que vous souhaitez utiliser pour ce port.

#### Table des matières

####

6.1.9. Configurer le noeud BPQ pour communiquer avec le support Linux AX.25

L'Ethernet BPQ utilise normalement une adresse multi-distribution. L'implémentation de Linux ne le
fait pas et utilise plutôt une adresse normale de diffusion Ethernet. Le fichier NET.CFG pour le pilote
BPQ ODI doit ressembler à ceci:

LINK SUPPORT

MAX STACKS 1
MAX BOARDS 1

LINK DRIVER E2000 ; ou d'autres MLID qui vont avec votre carte

INT 10 ;
PORT 300 ; en fonction de votre carte

FRAME ETHERNET_II

PROTOCOL BPQ 8FF ETHERNET_II ; nécessaire pour BPQ - on peut
; changer le PID

BPQPARAMS ; optionnel - seulement si vous souhaitez redéfinir
; l'adresse de destination

ETH_ADDR FF:FF:FF:FF:FF:FF ; Adresse de destination

#### Table des matières

###

6.2. Créer le fichier /etc/ax25/axports

Le fichier /etc/ax25/axports est un simple fichier texte que vous créez avec un éditeur de texte.
Le format du fichier /etc/ax25/axports est le suivant:

nom du port indicatif vitesse taille du paquet fenêtre description

où:

nom du port
est un nom qui va servir à référer le port.

indicatif
est l'indicatif AX.25 que vous voulez affecter au port.

vitesse
est la vitesse à laquelle vous voulez que le port communique avec votre
TNC.

taille du paquet
est la longueur maximale du paquet pour les connexions AX.25 en mode
connecté.

fenêtre
est le paramètre de la fenêtre AX.25. Ceci est identique au paramètre
MAXFRAME des TNC.

description
est la description du port.

Dans mon cas, mon fichier ressemble à ceci:

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

Rappelez-vous, vous devez assigner un unique indicatif/ssid à chacun des ports AX.25 que vous créez.
Créez une entrée pour chacune des unités AX.25 que vous voulez utiliser, ceci inclue les ports KISS,
Baycom, SCC, PI, PT et modem son. Chaque entrée ici va décrire exactement une unité réseau AX.25.
Les entrées dans ce fichier sont associées avec les unités réseau grâce à l'indicatif/ssid. Ceci explique
pourquoi il est nécessaire d'avoir un seul et unique indicatif/ssid.

#### Table des matières

###

6.3. Configuration du routage AX.25

Il est possible que vous souhaitiez configurer les chemins des relais par défaut pour des hôtes spécifiques.
Ceci est utile pour des connexions normales AX.25 mais aussi pour des connexions à base d'IP.
La commande axparms vous permet de le faire. Une fois de plus, les pages du manuel vous présenteront
une description complète mais un petit exemple serait:

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

Cette commande créera une entrée de relais pour VK2XLZ via VK2SUT sur le port AX.25 nommée radio.

#### Table des matières

###

7. Configurer une interface AX.25 pour TCP/IP

Il est très simple de configurer un port AX.25 afin qu'il transporte TCP/IP.
Si vous avez des interfaces KISS alors vous disposez de deux méthodes pour configurer une adresse IP.
La commande kissattach a une option qui vous autorise à spécifier une adresse IP. La méthode plus
conventionnelle qui utilise la commande ifconfig fonctionnera sur tout type d'interface.

Par exemple, nous pouvons modifier l'exemple vu précédemment de la façon suivante:
# /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

va créer une interface AX.25 avec une adresse IP à 44.136.8.5 et un MTU de 512 octets. Vous devez
toujours utiliser la commande ifconfig pour configurer les autres paramètres si nécessaire.

Si vous avez un autre type d'interface alors utilisez le programme ifconfig pour configurer l'adresse IP et les
détails du masque de sous-réseau pour le port et ajoutez une route via le port, simplement comme vous le
feriez pour n'importe quelles autres interfaces TCP/IP.
L'exemple suivant est pour une carte PI, mais marchera également bien pour n'importe quelles autres unités
réseau AX.25:

# /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 de configuration ci-dessus sont sûrement familières pour beaucoup d'entre vous qui avez
utilisé NOS, ses nombreuses émules ou tout autres logiciels tcp/ip. Notez que la route par défaut n'est pas
forcément nécessaire dans votre configuration si vous avez d'autres unités réseau déjà configurées.

Pour tester l'interface, essayez de faire un ping ou un telnet vers la machine locale.

# ping -i 5 44.136.8.58

L'utilisation de l'option '-i 5' conditionne l'envoi d'une trame toutes les 5 secondes au lieu de 1 seconde
par défaut.

#### Table des matières

###

8. Configurer un port NetRom

Le protocole NetRom utilise et se base sur les ports AX.25 que vous avez crée. Le protocole
NetRom se place tout en haut du protocole AX.25.
Pour configurer NetRom sur une interface AX.25, vous devez configurer deux fichiers. Le premier
fichier décrit les interfaces AX.25 et l'autre fichier décrit lequel des ports AX.25 transportera NetRom.
Vous pouvez configurer plusieurs ports NetRom, chacun avec son propre indicatif et son alias, la
même procédure étant appliquée pour chacun d'entre eux.

#### Table des matières

###

8.1. Configurer le fichier /etc/ax25/nrports

Le premier est le fichier /etc/ax25/nrports. Ce fichier décrit les ports NetRom de la même façon que le
fichier /etc/ax25/axports décrit les ports AX.25. Normalement une machine Linux aura une seule unité
NetRom configurée qui utilisera un numéro défini par les ports AX.25.
Dans certaines situations, vous allez souhaiter un service spécial comme une BBS d'avoir un alias NetRom
distinct et alors vous allez devoir créer plus d'une unité.

Ce fichier est formaté de la façon suivante:
nom indicatif alias longueur du paquet description

Où:

nom
est le nom qui va référencer le port.

indicatif
est l'indicatif que le trafic NetRom va utiliser depuis ce port.
Remarquez que ce n'est pas l'adresse que les utilisateurs doivent connecter
afin d'accéder à l'interface du noeud. (Le programme du noeud est explicité
plus loin). Cet indicatif/ssid doit être unique et ne doit pas apparaître
ailleurs ni dans le fichier /etc/ax25/axports ni dans le fichier
/etc/ax25/nrports.
alias
est l'alias NetRom du port qui va lui être affecté.

longueur du paquet
est la taille maximale des trames NetRom transmises par ce port.

description
est une libre description de ce port.

L'exemple ci-dessous parle de lui-même:

netrom VK2KTJ-9 LINUX 236 Linux Switch Port

Cet exemple crée un port NetRom connu par le reste du réseau NetRom comme 'LINUX:VK2KTJ-9'.

Ce fichier est utilisé par d'autres programmes comme le programme call.

#### Table des matières

###

8.2. Configurer /etc/ax25/nrbroadcast

Le second fichier est /etc/ax25/nrbroadcast. Ce fichier peut contenir un certain nombre d'entrées.
Il y a normalement une entrée pour chaque port AX.25 sur lequel vous allez autoriser du trafic NetRom.

Ce fichier est formaté de la façon suivante:

axport min_obs def_qual worst_qual verbose

Où:

axport
est le nom du port obtenu par le fichier /etc/ax25/axports. Si vous
n'avez pas d'entrée dans le fichier /etc/ax25/nrbroadcasts pour un
port alors cela signifie qu'aucun routage NetRom n'aura lieu et
chaque diffusion NetRom reçue sera ignorée pour ce port.

min_obs
est la valeur minimale d'obsolescence pour ce port.

def_qual
est la qualité par défaut pour ce port.

worst_qual
est la pire qualité possible pour ce port, chaque route en dessous de cette
valeur sera ignorée.

verbose
est un drapeau déterminant si la diffusion de routage NetRom était
déclenchée depuis ce port ou depuis une émission de
routage externe qui informera le noeud lui-même.

Observez l'exemple ci-dessous:
radio 1 200 100 1

#### Table des matières

###

8.3. Création de l'unité réseau NetRom

Une fois que vous avez terminé la configuration des deux fichiers, vous devez créer l'unité NetRom
exactement de la même façon que vous l'avez fait pour les unités AX.25. Cette fois-ci, vous utiliserez
la commande nrattach.
Nrattach fonctionne exactement comme la commande axattach excepté qu'il crée des unités réseau
NetRom appelées 'nr[0-9]'.
Une fois de plus, la première fois que vous l'utilisez, la commande nrattach crée l'unité 'nr0', la seconde fois,
l'unité réseau 'nr1', etc.
Pour créer l'unité réseau pour le port NetRom que nous avons déjà défini, nous utiliserons:

# nrattach netrom

Cette commande va démarrer l'unité NetRom (nr0) appelée netrom configurée grâce aux paramètres
spécifiés dans le fichier /etc/ax25/nrports.

#### Table des matières

###

8.4. Démarrer le daemon NetRom

Le noyau Linux s'occupe de tout le protocole NetRom et de sa commutation mais ne prend pas en
charge certaines fonctions.
Le daemon NetRom gère les tables de routage NetRom et génère les émissions de routage NetRom.
Vous démarrez NetRom à l'aide de la commande:

# /usr/sbin/netromd -i

Très vite, vous allez voir le fichier /proc/net/nr_neigh se remplir avec les informations en provenance
des noeuds NetRom voisins.
N'oubliez pas d'insérer la commande /usr/sbin/netromd dans votre fichier rc de façon à ce qu'elle
démarre à chaque fois que vous démarrez votre système.

#### Table des matières

###

8.5. Configuration du routage NetRom

Vous souhaitez peut-être configurer des routes NetRom statiques pour des hôtes spécifiques.
La commande nrparms vous l'autorise. Une fois encore les pages du manuel vous offre une
description complète, mais un simple exemple pourrait être:

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

Cette commande activera une route NetRom vers #MINTO:VK2XLZ-10 via le voisin VK2SUT-9
sur mon port AX.25 appelé 'radio'.

Vous pouvez manuellement créer des entrées pour des nouveaux voisins au moyen de la commande
nrparms. Par exemple:

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

Cette commande créera VK2SUT-9 comme voisin NetRom avec une qualité de 120 et ceci sera
verrouillé et ne pourra pas être effacé automatiquement.

#### Table des matières

###

9. Configurer IP sur une interface NetRom

Configurer une interface NetRom pour tcp/ip est pratiquement identique à la configuration d'une
interface AX.25 pour tcp/ip.

Une fois encore, vous pouvez spécifier l'adresse IP et le MTU grâce à la commande en ligne nrattach;
vous pouvez également utiliser les commandes ifconfig et route, mais vous devez ajouter manuellement
les entrées arp pour accéder aux machines distantes car il n'existe pas de mécanisme permettant à votre
système d'apprendre par lui-même quelle adresse NetRom doit être utilisée afin d'accéder à un système
IP distant.

Pour créer une unité nr0 avec une adresse IP fixée à 44.136.8.5, un MTU à 512, configurée grâce aux
informations du fichier /etc/ax25/nrports pour un port NetRom appelé netrom, utilisez:

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

ou vous pouvez utiliser quelque chose de semblable à:
# /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

Donc pour atteindre chaque hôte IP via NetRom, vous devez entrer manuellement les entrées ARP ainsi
que les routes.
Afin d'accéder à une destination pourvue de l'adresse IP 44.136.80.4 à l'adresse NetRom BBS:VK3BBS
via un noeud voisin NetRom avec l'indicatif VK2SUT-0, utilisez les commandes suivantes:
# 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 paramètres '120' et '6' de la commande nrparms sont les valeurs de qualité et d'obsolescence pour la route.

#### Table des matières

###

10. Configurer un port Rose

La couche packet Rose est identique à la couche 3 des spécifications X.25. Le noyau supportant le protocole
Rose est une version modifiée de l'implémentation FPAC Rose <http://fpac.lmi.ecp.fr/f1oat/f1oat.html>.

Le protocole Rose utilise et se base sur les ports AX.25 que vous avez crée. Le protocole Rose se place tout en
haut du protocole AX.25.
Pour configurer Rose sur une interface AX.25, vous devez configurer un fichier de configuration décrivant vos ports
Rose. Vous pouvez créer plusieurs ports Rose si vous le souhaitez, la même procédure étant appliquée pour chacun
d'entre eux.

#### Table des matières

###

10.1. Configurer /etc/ax25/rsports

Le fichier où vous configurez vos interfaces Rose est le fichier /etc/ax25/rsports. Ce fichier décrit le port Rose
de la même manière que le fichier /etc/ax25/axports décrit les ports AX.25.

Ce fichier est formaté de la façon suivante:

nom adresse description

Où:

nom
est le nom du port par lequel vous souhaitez référencer votre port.

adresse
est l'adresse Rose sur 10 chiffres que vous souhaitez affecter à votre
port.

description
est une description libre du port.

Par exemple:

rose 5050294760 Rose Port

Notez que Rose utilisera par défaut l'indicatif/ssid configuré sur chaque port AX.25 à moins que vous
ne le spécifiiez.

Pour configurer un indicatif/ssid distinct pour Rose afin de l'utiliser sur chaque port, vous utilisez la commande
rsparms comme ci-dessous:

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

Cet exemple fera écouter Linux et utiliser l'indicatif/ssid VK2KTJ-10 sur tous les ports AX.25 configurés pour
les appels Rose.

#### Table des matières

###

10.2. Créer l'unité réseau Rose

Lorsque vous avez crée le fichier /etc/ax25/rsports, vous devez alors créer l'unité Rose de la même manière
que les unités AX.25.
Cette fois-ci, vous utiliserez la commande rsattach. La commande rsattach crée des unités réseau appelées
'rose[0-5]'. Une fois de plus, la première fois que vous l'utilisez, la commande rsattach crée l'unité 'rose0',
la seconde fois, l'unité réseau 'rose1', etc.
Par exemple:
# rsattach rose

Cette commande va démarrer l'unité Rose (rose0) appelée rose configurée grâce aux détails spécifies dans le
fichier /etc/ax25/rsports pour l'entrée 'rose'.

#### Table des matières

###

10.3. Configurer le routage Rose

Le protocole Rose supporte seulement le routage statique. L'utilitaire rsparms vous permet de configurer votre
table de routage Rose sous Linux.

Par exemple:

# rsparms -nodes add 5050295502 radio vk2xlz

ajoutera une route au noeud Rose 5050295502 via un port AX.25 appelé `radio' dans votre fichier
/etc/ax25/axports vers un voisin doté de l'indicatif VK2XLZ.

Vous pouvez spécifier une route avec un masque afin de capturer un nombre de destinations Rose dans une seule
entrée de routage.
La syntaxe est la suivante:

# rsparms -nodes add 5050295502/4 radio vk2xlz

qui sera identique à l'exemple précédent excepté qu'il correspondra à chaque adresse de destination correspondante
aux quatre premiers chiffres fournis, dans ce cas chaque adresse commençant par les chiffres 5050. Une autre forme
pour cette commande est:

# rsparms -nodes add 5050/4 radio vk2xlz

qui est probablement la forme la moins ambiguë.

#### Table des matières

###

11. Effectuer des appels AX.25/NetRom/Rose

Une fois que vous avez toutes vos interfaces AX.25, NetRom et Rose de configurées et actives, vous devriez
être capable de faire des tests d'appel.

Les utilitaires AX25 contiennent un programme appelé 'call' qui est un petit terminal orienté écran pour AX.25,
NetRom et Rose.

Un simple appel AX.25 se fait de la façon suivante:

/usr/bin/call radio VK2DAY via VK2SUT

Un simple appel NetRom vers un noeud avec un alias SUNBBS ressemblera à:

/usr/bin/call netrom SUNBBS

Un simple appel Rose vers HEARD sur le noeud 5050882960 ressemblera à:

/usr/bin/call rose HEARD 5050882960

Note: il faut indiquer à call le port AX.25 que vous souhaitez utiliser, car il peut être possible de connecter un
noeud AX.25 sur n'importe quel port que vous avez configuré.
Le programme call est un terminal orienté ligne de commande qui permet de faire des appels AX.25. Il reconnaît
ses propres commandes internes grâce aux lignes commençant par le caractère '~'. La commande '~' ferme la
connexion courante.
Veuillez consulter les pages du manuel dans /usr/man pour plus d'informations.

#### Table des matières

###

12. Configurer Linux afin qu'il accepte des connexions Packet

Linux est un système d'exploitation puissant qui offre un large éventail de flexibilité de par sa configuration.
Malheureusement cette flexibilité a un coût surtout au moment de la configuration. Durant le paramétrage des
connexions entrantes AX.25, NetRom ou Rose de Linux, il y a un certain nombre de questions qu'il faut vous
poser. La plus importante est "Qu'est-ce que je veux que les utilisateurs voient lorsqu'ils se connectent ?".
Des personnes développent des petites applications qui peuvent être utilisées afin de fournir des services aux
appelants, un simple exemple est le programme pms inclus dans les utilitaires AX.25, un exemple plus
complexe est le programme node également inclus dans les utilitaires AX.25.
Alternativement, il est possible que vous souhaitiez accorder à vos utilisateurs une invite de connexion de façon
à ce qu'ils puissent utiliser un compte shell; ou mieux, vous avez peut-être même écrit votre propre
programme, comme par exemple une base de données maison ou un jeu et vous avez envie que les gens
puissent en profiter.
Quel que soit ce que vous choisirez, vous devez le dire au logiciel AX.25 savoir quel doit être le programme
à exécuter lorsque celui ci accepte une connexion AX.25 entrante.

Le programme ax25d est similaire au programme inetd couramment utilisé pour accepter les connexions
TCP/IP entrantes sur des machines unix.
Il se dispose et écoute les connexions entrantes, lorsqu'il en détecte une, il vérifie un fichier de configuration
pour déterminer quel doit être le programme à exécuter et établit la connexion. Puisqu'il s'agit de l'outil standard
destiné à accepter les connexions AX.25, NetRom et Rose, je vais vous décrire comment le configurer.

#### Table des matières

###

12.1. Créer le fichier /etc/ax25/ax25d.conf

Ce fichier contient les paramètres de configuration pour le daemon AX.25 ax25d qui gère les connexions
AX.25, NetRom et Rose entrantes.

A première vue, le contenu de ce fichier semble difficile à comprendre mais vous découvrirez bien vite qu'il
est en fait très simple en pratique avec néanmoins un petit piège qu'il faut savoir éviter.

Le format du fichier ax25d.conf est le suivant:

# Ceci est un commentaire ignoré par le programme ax25d.
[port_name] || <port_name> || {port_name}
<peer1> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
<peer2> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
parameters window T1 T2 T3 idle N2 <mode>
<peer3> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
...
default window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>

Où:

# situé en début de ligne est un commentaire et complètement ignoré par le programme ax25d.

<port_name>
est le nom du port AX.25, NetRom ou spécifié dans les fichiers
/etc/ax25/axports, /etc/ax25/nrports et /etc/ax25/rsports.
Le nom du port est entouré par les crochets '[]' s'il s'agit
d'un port AX.25, par les signes '<>' pour un port NetRom, ou par
les accolades '{}' s'il s'agit d'un port Rose.
Il existe une autre forme pour ce champs, qui préfixe le nom
du port avec l'indicatif/ssid via' pour indiquer que vous souhaitez
accepter des appels vers l'indicatif/ssid via cette interface.
L'exemple devrait l'illustrer clairement.

<peer>
est l'indicatif du noeud en pair qui s'applique à cette configuration
particulière. Si vous ne spécifiez pas un SSID ici alors n'importe quel
SSID conviendra.
window
est le paramètre de fenêtre AX.25 (K) ou le paramètre MAXFRAME pour cette
configuration.
T1 est le minuteur de retransmission de trame exprimé en 1/50 seconde.

T2 est la quantité de temps durant lequel le logiciel AX.25 va attendre une
autre trame entrante avant de préparer la réponse.
L'unité est exprimée en seconde.

T3 est la quantité de temps d'inactivité avant que le logiciel AX.25 ne
déconnecte la session. Unité=1 seconde.

idle
est le compteur de temps mort en secondes.

N2 est le nombre de retransmissions consécutives qui va être réalisée avant
que la connexion ne se ferme.

<mode>
fournit un mécanisme pour déterminer certains types de permissions
générales. Les modes sont activés ou désactivés en fournissant une
combinaison de caractères, chacun représentant une permission.
Les caractères peuvent être en majuscules ou minuscules et doivent être
consolidés en un seul bloc sans espace.
u/U
UTMP - pas encore supporté.
v/V
Indicatif valide - pas encore supporté.

q/Q
Silencieux - Pas d'historique de connexion
n/N
Vérifie les voisins NetRom - pas encore supporté.
d/D
Interdit les relais
Les connexions doivent être directes et non pas relayées.
l/L
Fermée - N'autorise pas les connexions.
*/0
marque - place une marque, aucun mode fixe.

<uid>
est l'identificateur de l'utilisateur que le programme utilisera pour la
connexion.

<cmd>
est le chemin d'accès total de la commande à lancer, sans aucun paramètre.

<cmd-name>
est le texte qui doit apparaître dans un ps lorsque la commande marche
(normalement, le même que <cmd> sans le chemin d'accès).

<arguments>
sont les paramètres passés à la <:cmd> lorsqu'elle marche. Vous pouvez
passer certaines informations utiles dans ces paramètres grâce aux jetons
suivants:
%d Nom du port sur lequel la connexion a été établie

%U Indicatif AX.25 de la partie connectée sans le SSID, en majuscule.

%u Indicatif AX.25 de la partie connectée sans le SSID, en minuscule.

%S Indicatif AX.25 de la partie connectée avec le SSID, en majuscule.

%s Indicatif AX.25 de la partie connectée avec le SSID, en minuscule.

%P Indicatif AX.25 du noeud distant d'où venait la connexion sans
le SSID, en majuscules.

%p Indicatif AX.25 du noeud distant d'où venait la connexion sans
le SSID, en minuscules.

%R Indicatif AX.25 du noeud distant d'où venait la connexion avec
le SSID, en majuscules.

%r Indicatif AX.25 du noeud distant d'où venait la connexion avec
le SSID, en minuscules.

Il vous faut au moins un paragraphe formaté comme vu précédemment pour chaque interface AX.25,
NetRom ou Rose pour laquelle vous accepterez des connexions entrantes AX.25, NetRom ou Rose.

Il y a deux lignes spéciales dans le paragraphe, l'une commencant avec la chaîne de caractère 'parameters'
et l'autre commencant avec 'parameter' (Oui, il y a une différence). Ces lignes servent pour des fonctions spéciales.
La but des lignes 'default' est évident, cette ligne sert "d'attrape-tout", de façon à ce que n'importe quelle connexion
entrante sur l'interface <interface_call> non dotée de règle spécifique corresponde à la règle `default'.
Si vous n'avez pas de règle 'defaut', alors n'importe quelle connexion ne correspondant à aucune règle spécifique sera déconnectée immédiatement.
La ligne 'parameters' est un petit peu plus subtile, et c'est là qu'est le piège dont je vous avais parlé auparavant.
Dans chacun des champs pour n'importe quelle définition de noeud en pair, vous pouvez utiliser le caractère '*'
afin d'utiliser la valeur par défaut.
La ligne 'parameters' est ce qui définit ces valeurs par défaut. Le noyau lui-même a quelques valeurs par défaut
qui seront utilisées si vous n'en spécifiez pas. Le piège est que ces valeurs par défaut s'appliquent uniquement
aux règles en dessous de la ligne 'parameters' et non pas à celles du dessus. Vous pouvez avoir plus qu'une
règle 'parameters' par définition d'interface, et de cette manière vous pouvez créer des groupes de configuration
par défaut. Il est important de noter que la règle 'parameters' ne vous autorise pas à positionner les champs 'uid' ou
'command'.

#### Table des matières

###

12.2. Un simple exemple du fichier ax25d.conf

Ok, un exemple significatif:
# ax25d.conf for VK2KTJ - 02/03/97
# Cette configuration utilise le port AX.25 définit précédemment.
# <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

Cet exemple déclare que quiconque se connectant à l'interface sur ma machine au moyen de
l'indicatif VK2KTJ-0 entendu sur le port AX.25 appelé 'radio' se conformera aux règles suivantes:
Quiconque se connectant au moyen de 'NOCALL' sera mis à la porte, notez l'utilisation du mode 'L'.

La ligne 'parameters' change deux paramètres par défaut du noyau (Window et T1) et exécute le
programme /usr/sbin/axspawn. Chaque copie de ce programme lancée de cette façon apparaîtra sous
l'intitulé axspawn dans une sortie de la commande ps. Les deux lignes suivantes sont pour les deux stations
qui vont recevoir ces permissions.

La dernière ligne dans le paragraphe est "l'attrape-tout" que toutes les personnes restantes obtiendront
(Y compris VK2XLZ et VK2DAY utilisant d'autres SSID que -1). Cette définition déclare implicitement
tous les paramètres et exécutera le programme PMS avec un paramètre spécifiant qu'il s'agit d'une
connexion AX.25 et dont le propriétaire est VK2KTJ.
(Voir le chapitre 'Configurer la PMS' ci dessous pour plus de détails).

La configuration suivante accepte des appels vers VK2KTJ-1 via le port radio.
Il lance le programme node pour n'importe qui le connectant.

La configuration suivante est une configuration NetRom, notez l'utilisation des signes plus-petit-que et
plus-grand-que au lieu des crochets.
Ceci caractérise une configuration NetRom. Celle-ci est plus simple, elle déclare simplement que quiconque
se connectant sur notre port NetRom appelé 'netrom' aura une exécution du programme node, à moins qu'ils ne
disposent d'un indicatif 'NOCALL' et dans lequel cas, ils seront mis à la porte.

Les deux dernières configurations sont pour des connexions entrantes Rose. La première pour les gens qui ont
lancé des appels vers 'vk2ktj-0' et la seconde pour 'VK2KTJ-1 sur notre adresse de noeud Rose.
Ils fonctionnent de la même façon. Notez l'utilisation des accolades afin de l'identifier comme un port Rose.

Cet exemple est quelque peu ingénieux mais je pense qu'il illustrate bien les caractéristiques importantes de la
syntaxe du fichier de configuration.
Ce dernier est expliqué entièrement dans les pages du manuel de ax25d.conf
Un exemple plus détaillé est inclus dans la distribution ax25-utils qui vous sera bien utile.

#### Table des matières

###

12.3. Démarrage de ax25d

Lorsque vous avez terminé de configurer vos deux fichiers, alors démarrez ax25d avec la commande:

# /usr/sbin/ax25d

Lorsque ceci fonctionne, les gens devraient être capables d'établir des connexions AX.25 sur votre
machine Linux. Rappelez-vous de mettre la commande ax25d dans vos fichiers rc de façon à ce qu'il
démarre automatiquement à chaque fois que vous mettez sous tension votre système.

#### Table des matières

###

13. Configuration du noeud

Le noeud a été développé par Tomi Manninen <tomi.manninen@hut.fi> et se base sur le programme
original PMS. Il est ainsi possible de disposer d'une configuration à base de noeud, flexible et quasiment
complète, le tout étant facilement paramétrable. Il autorise les utilisateurs connectés à effectuer des sessions
Telnet, Netrom, Rose, et AX25 et à obtenir des informations diverses comme Finger, Nodes et Heard lists, etc...
Vous pouvez configurer le noeud de façon à ce qu'il exécute n'importe quelle commande Linux à souhait.

Le noeud est normalement appelé par le programme ax25d même s'il es également exécutable par le biais du
programme tcp/ip inetd de façon à autoriser les utilisateurs à effectuer un Telnet sur votre machine et ainsi
de pouvoir y accéder; il vous est également possible d'exécuter le noeud directement via une ligne de commande.

#### Table des matières

###

13.1. Création du fichier /etc/ax25/node.conf

Le fichier node.conf est l'endroit où vous stockerez la configuration principale du noeud. Il s'agit en fait d'un
simple fichier texte et son format est le suivant:

# /etc/ax25/node.conf
# Fichier de configuration pour le noeud.
#
# Les lignes commençant par '#' sont des commentaires et sont ignorées.

# Nom de la machine.
# Spécifie le nom de la machine du noeud.
hostname radio.gw.vk2ktj.ampr.org

# Réseau local
# vous autorise à spécifier ce qui est considéré comme 'local' dans
# le but d'utiliser la vérification des permissions inclue dans
# le fichier nodes.perms.
localnet 44.136.8.96/29
# Cache les ports
# Si spécifié, vous autorise à rendre certains ports invisibles aux
# yeux des utilisateurs. Les ports listés ne seront pas affichés
# par la commande (P)orts

# Identification du noeud
# ceci apparaîtra dans l'invite du noeud
NodeId LINUX:VK2KTJ-9

# Port NetRom
# Ceci est le nom du port netrom qui sera utilisé pour les connexions
# sortante NetRom depuis le noeud
NrPort netrom

# Compteur de dépassement de temps
# Spécifie le dépassement de temps des connexions à ce noeud en
# secondes.
idletimout 1800

# Dépassement de temps pour les connexions
# Spécifie le compteur de dépassement de temps pour les connexions
# établies via ce noeud en secondes.
conntimeout 1800

# Reconnexion
# Spécifie si les utilisateurs doivent être reconnectés au noeud
# lorsque les connexions à distance s'arrêtent, ou s'ils doivent être
# complètement déconnectés.
reconnect on

# Commande d'alias
# Rend plus simple les commandes complexes.
alias CONV "telnet vk1xwt.ampr.org 3600"
alias BBS "connect radio vk2xsb"

# Alias de commandes externes
# Fournit un moyen d'exécuter des commandes externes sous le noeud.
# extcmd <cmdname> <flag> <userid> <command>
# Flag == 1 s'il s'agit seulement d'une fonction implémentée
# <command> est formaté comme ax25d.conf
extcmd PMS 1 root /usr/sbin/pms pms -u %U -o VK2KTJ

# Journal
# Définit le niveau d'audit système. 3 est le plus complet, 0 le désactive
loglevel 3

# Le caractère de contrôle
# 20 = (Control-T)
EscapeChar 20

#### Table des matières

###

13.2. Créer le fichier /etc/ax25/node.perms

Le noeud vous autorise à assigner des permissions aux utilisateurs. Ces permissions vous permettent de
déterminer quels utilisateurs sont autorisés ou non à utiliser des options telles que les commandes (T)elnet
et (C)onnect par exemple. Le fichier node.perms est l'endroit où sont stockées ces informations, celui-ci
contient cinq champs clé.
Pour tous les champs, un astérisque '*' remplace n'importe quoi. Ceci est particulièrement utile pour
construire des directives par défaut.

user
Ce premier champs représente l'indicatif ou l'utilisateur pour lequel les
permissions s'appliquent. Toute valeur SSID est ignorée, alors placez-y
simplement l'indicatif de base.

method
Chaque protocole ou méthode d'accès reçoit également des permissions. Par
exemple, vous pourriez autoriser des personnes qui se sont connectées via
AX.25 ou NetRom à utiliser l'option (C)onnect mais en empêcher d'autres comme
ceux qui se sont connectés par Telnet via un noeud distant.
Le second champs vous autorise à sélectionner la méthode d'accès pour laquelle
la permission s'applique. Les méthodes sont les suivantes:

méthode description
ax25------> L'utilisateur se connecte via AX.25
netrom ---> L'utilisateur se connecte via NetRom
host ------> L'utilisateur a démarré le noeud depuis une commande en ligne
local -----> L'utilisateur s'est connecté grâce à telnet depuis une machine
'locale'
ampr -----> L'utilisateur s'est connecté grâce à telnet depuis une adresse
amprnet (44.0.0.0)
inet ------> L'utilisateur s'est connecté grâce à telnet depuis une adresse
en dehors du domaine ampr.
rose -----> L'utilisateur se connecte via rose
* -----> L'utilisateur s'est connecté par n'importe quel moyen
port
Pour les utilisateurs AX.25, vous pouvez contrôler les permissions sur un
port grâce aux bases du port si vous le choisissez.
Ceci vous autorise à déterminer ce que le AX.25 peut faire en se basant sur
les ports sur lesquels ils se sont connectés.
Le troisième champs contient le nom du port si vous utilisez cette
commodité. Ceci est utile pour les connexions AX.25.

password
Vous pouvez éventuellement configurer le noeud de telle sorte qu'il
invitera les utilisateurs à entrer un mot de passe au moment de leur
connexion. Ceci peut s'avérer utile pour protéger les utilisateurs dotés
de certains privilèges. Si le quatrième champs est présent alors sa valeur
sera le mot de passe.

permissions
Le champs permissions est le dernier champs à entrer dans le fichier. Le
fichier de permissions est codé comme un champs binaire, dans lequel
chaque option disposant d'une valeur binaire mise à un autorisera l'utilisateur
à activer cette option. Par contre, lorsque cette valeur sera mise à zéro,
alors l'utilisateur se verra interdire cette option. La liste des options contrôlables
ainsi que ces valeurs binaires correspondantes sont les suivantes:

valeur description
1 -----> Login autorisé.
2 -----> (C)onnexion AX25 autorisée.
4 -----> (C)onnexion NetRom autorisée.
8 -----> (T)elnet vers les machines locales autorisé.
16 ----> (T)elnet vers les machines amprnet (44.0.0.0) autorisé.
32 ----> (T)elnet vers les machines distantes et non amprnet autorisé.
64 ----> Ports cachés autorisés pour les (C)onnexions AX.25.
128 ---> (C)onnexion Rose autorisée.

Pour coder les valeurs de permissions, simplement prenez chacune des permissions que vous souhaitiez
assigner aux utilisateurs et ajouter leur valeur. Placez ensuite le nombre résultant dans le cinquième champs.

Ci-dessous un exemple de fichier nodes.perms:

# /etc/ax25/node.perms
#
# L'opérateur du noeud est VK2KTJ, il dispose du mot de passe
# 'secret' et est autorisé à n'importe quelle type de connexion.
vk2ktj * * secret 255

# Les utilisateurs suivants sont interdits de connexion
NOCALL * * * 0
PK232 * * * 0
PMS * * * 0

# Les utilisateurs INET sont interdits de connexion.
* inet * * 0

# Les utilisateurs AX.25, NetRom, Local, Host et AMPR peuvent
# se (C)onnecter et exécuter (T)elnet vers des machines
# local et ampr mais pas en direction d'autres adresses IP.
* ax25 * * 159
* netrom * * 159
* local * * 159
* host * * 159
* ampr * * 159

#### Table des matières

###

13.3. Configurer le noeud afin qu'il soit exécuté par ax25d

Le programme de noeud doit normalement être lancé par le programme ax25d.
Pour ceci, vous devez ajouter les directives appropriées au fichier /etc/ax25/ax25d.conf. Dans ma
configuration, je voulais que les utilisateurs aient le choix de se connecter soit sur le noeud, soit vers
d'autres services. ax25d vous autorise à faire ceci en créant intelligemment des alias pour les ports.
Par exemple, à partir de la configuration ax25d présentée ci-dessous, je souhaite configurer
le noeud de telle façon que tous les utilisateurs se connectant à VK2KTJ-1 puissent utiliser le noeud.
Afin de réaliser ceci, j'ajoute simplement les instructions suivantes à mon fichier /etc/ax25/ax25d:

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

Ceci indique simplement que le code du noyau de Linux répondra à n'importe quelle requête de
connexion pour l'indicatif 'VK2KTJ-1' entendu sur le port AX.25 nommé 'radio' et entraînera l'exécution
du noeud.

#### Table des matières

###

13.4. Configurer le noeud afin qu'il soit exécuté depuis inetd

Si vous voulez que les utilisateurs soient capables de lancer telnet sur un port de votre machine, il vous
est possible de le faire assez aisément. La première chose à décider est de choisir sur quel port les utilisateurs
vont se connecter. Dans cet exemple, j'ai choisi arbitrement le port 3694 bien que Tomi explique dans cette
documentation comment il est possible de remplacer le démon du telnet avec celui du noeud.

Vous devez modifier deux fichiers.

Ajouter ceci à /etc/services:

node 3694/tcp #OH2BNS's node software

ainsi qu'a /etc/inetd.conf:

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

Ceci terminé, et une fois que vous avez redémarré le programme inetd, n'importe quel utilisateur se connectant
via telnet sur le port 3694 de votre machine sera obligée d'effectuer un login ainsi qu'éventuellement entrer un mot
de passe; par la suite, ils se connecteront sur le noeud.

#### Table des matières

###

14. Configuration de axspawn

Le programme axspawn est un simple utilitaire qui autorise les stations AX.25 à se connecter directement sur votre
machine. Il est appelé par le daemon ax25d comme vu ci-dessus. Pour autoriser un utilisateur à se connecter sur votre
machine, ajoutez simplement une ligne similaire à celle qui suit dans votre fichier /etc/ax25/ax25d.conf :

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

Si la ligne se termine par le caractère + alors l'utilisateur en instance de connexion doit frapper la touche entrée avant
d'être autorisé à se connecter. Par défaut, il n'y a pas d'attente. Chaque configuration individuelle suivant cette ligne
verra le programme axspawn lors de la connexion. Lorsque axspawn a démarré, il contrôle d'abord que l'argument
fourni avec la ligne de commande est un indicatif légal, supprime le SSID, puis vérifie le fichier /etc/passwd afin de
voir que l'utilisateur ait bien un compte configuré. Si cela se vérifie et que le mot de passe est soit un "" (null) ou +
alors l'utilisateur est connecté. S'il n'y a rien dans le champs du mot de passe alors l'utilisateur est invité à entrer un
mot de passe. S'il y a un compte existant dans le fichier /etc/passwd alors axspawn devrait être configuré de façon
à en créer un automatiquement.

#### Table des matières

###

14.1. Création du fichier /etc/ax25/axspawn.conf

Vous pouvez modifier le comportement de axspawn de différentes façons grâce à l'utilisation du fichier
/etc/ax25/axspawn.conf.
Ce fichier est configuré de la manière suivante:

# /etc/ax25/axspawn.conf
#
# autorise la création automatique de comptes utilisateurs.
create yes
#
# utilisateur invité si le champ du dessus est égal a 'no' ou si
# n'importe quoi d'autre échoue. Hors fonction avec "no".
guest no
#
# identifiant du groupe ou nom pour l'autoaccount.
group ax25
#
# Premier identifiant utilisateur à utiliser
first_uid 2001
#
# Identifiant d'utilisateur maximal
max_uid 3000
#
# Où ajouter le répertoire par défaut pour les nouveaux utilisateurs.
home /home/ax25
#
# Shell utilisateur
shell /bin/bash
#
# Lie l'identifiant utilisateur à l'indicatif pour les connexions sortantes.
associate yes

Les huit caractéristiques configurables de axspaw sont les suivantes:

# indique un commentaire.

create
si ce champ est mis à yes alors axspawn tentera de créer automatiquement un
compte utilisateur pour chaque utilisateur se connectant et n'ayant pas d'entrée
existante dans le fichier /etc/passwd.

guest
ce champs nomme le nom de login de l'utilisateur qui sera utilisé pour les
gens se connectant et qui ont déjà un compte si create est mis à no.
D'habitude, on utilise ax25 ou guest.

group
ce champ nomme le nom du groupe qui sera utilisé pour chaque utilisateur se
connectant et qui n'a pas encore d'entrée dans le fichier /etc/passwd.

first_uid
ceci est le numéro du premier identifiant utilisateur qui sera
automatiquement crée pour les nouveaux utilisateurs.

max_uid
ceci est le nombre maximum qui sera utilisé pour l'identifiant utilisateur
des nouveaux utilisateurs.
home
ceci est le répertoire par défaut des nouveaux utilisateurs.

shell
ceci est le login shell de chacun des nouveaux utilisateurs.

associate
ce drapeau indique si les connexions AX.25 faites par l'utilisateur une
fois connecté utiliseront leur propre indicatif ou bien l'indicatif de vos stations.

#### Table des matières

###

15. Configuration de la pms

Le programme pms est une implémentation d'un très simple système de messagerie personnelle.
A l'origine, il fut écrit par Alan Cox. Dave Brown, N2RJT, <dcb@vectorbd.com> a repris son
développement. Pour le moment, le programme est toujours très simple, il dispose seulement des
fonctionnalités d'envoi de courrier vers le propriétaire du système et peut obtenir quelques informations
systèmes élémentaires mais Dave y travaille afin d'améliorer ces fonctionnalités et le rendre plus utile.

Ceci fait, il y a quelques fichiers simples que vous devez créer et qui renseignent les utilisateurs sur
votre système; et puis, vous devez également ajouter les entrées appropriées dans le fichier
ax25d.conf de façon à ce que les utilisateurs se connectant puissent activer la PMS.

#### Table des matières

###

15.1. Créer le fichier /etc/ax25/pms.motd

Le fichier /etc/ax25/pms.motd contient le 'message du jour' que les utilisateurs verront après la
connexion sur leur BBS habituelle et la réception de l'entête de l'identifiant de BBS. Ce fichier
est un simple fichier texte, et chaque chose que vous y inclurez sera envoyée aux utilisateurs.

#### Table des matières

###

15.2. Créer le fichier /etc/ax25/pms.info

Le fichier /etc/ax25/pms.info est également un simple fichier texte dans lequel vous mettrez plus
d'informations concernant votre station et votre configuration. Le contenu de ce fichier apparaît
aux utilisateurs lorsqu'ils entrent la commande Info depuis l'invite PMS>.

#### Table des matières

###

15.3. Associer des indicatifs AX.25 avec des utilisateurs du système

Lorsqu'un utilisateur connecté envoie du courrier vers un indicatif AX.25, la PMS s'attend à
ce que dernier soit connu, ou associé à un utilisateur défini sur votre machine. Ceci est décrit
dans un autre paragraphe.

#### Table des matières

###

15.4. Ajouter la PMS au fichier /etc/ax25/ax25d.conf

Ajouter la PMS à votre fichier ax25d.conf est très aisé. Il y a juste une petite chose à considérer.
Dave a ajouté des paramètres en ligne à la PMS de façon à ce qu'elle puisse gérer un certain nombre
de conventions pour les caractères de fin de ligne. Par convention, AX.25 et NetRom considèrent
le retour de chariot et le saut de ligne comme délimiteurs de ligne alors que sous Unix, il s'agit d'un
simple "Entrée". Par exemple, si vous souhaitez ajouter une entrée qui signifie que l'action par défaut
reçue sur un port AX.25 est de démarrer la PMS alors ajoutez simplement une ligne similaire à celle-ci:

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

Ceci lance le programme PMS, en lui spécifiant qu'il s'agit d'une connexion AX.25 et que son propriétaire
est vk2ktj. Vérifiez les pages du manuel (man) pour spécifier d'autres méthodes de connexion.

#### Table des matières

###

15.5. Tester la PMS

Pour tester la PMS, utilisez l'instruction suivante depuis une commande en ligne:
# /usr/sbin/pms -u vk2ktj -o vk2ktj

Remplacez mon indicatif par le vôtre et votre PMS sera exécutée, avec comme option la convention
de fin de ligne Unix, l'utilisateur connecté étant vk2ktj. Vous pouvez alors effectuer tout ce que les
utilisateurs connectés sont autorisés à faire.

Additionnellement, il vous est possible de solliciter la connexion à d'autres noeuds afin de vérifier si
votre configuration ax25d.conf fonctionne bien.

#### Table des matières

###

16. Configurer les programmes user_call

Les programmes 'user_call' sont en fait appelés 'ax25_call' et 'netrom_call'. Ce sont de très simples
programmes qui peuvent être appelés depuis ax25d afin d'automatiser les connexions vers des machines
distantes. Bien sûr, il est possible de les appeler depuis d'autres endroits comme depuis des scripts ou
des démons comme le noeud.

Ces programmes sont comme le simple utilitaire call. Ils ne gèrent nullement les données qu'ils reçoivent,
alors vous allez devoir vous préoccuper vous-même du problème du délimiteur de ligne.

Commençons avec un petit exemple afin de voir comment vous pourriez les utiliser. Imaginez que vous
ayiez un petit réseau chez vous et que vous disposiez d'une machine Linux fonctionnant comme une passerelle
radio reliée à une autre machine, disons un noeud BPQ connecté via une connexion Ethernet.

Normalement si vous souhaitez que les utilisateurs radio puissent connecter le noeud BPQ, ils devront le faire
grâce à un relais via le noeud linux, ou bien d'abord se connecter au noeud sur Linux et puis se connecter à
partir de ce même noeud. Le programme ax25_call peut simplifier tout cela s'il est appelé depuis
le programme ax25d.

Imaginez que le noeud BPQ ait l'indicatif VK2KTJ-9 et que la machine Linux ait un port AX.25/ethernet
appelé 'bpq'. Imaginons aussi que la passerelle Linux ait un port radio appelé 'radio'.

Une entrée dans le fichier /etc/ax25/ax25d.conf ressemblant à:

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

autorisera les utilisateurs à se connecter directement à 'VK2KTJ-1' qui est en fait le daemon Linux ax25d;
ces utilisateurs seront alors automatiquement aiguillés vers une connexion AX.25 vers `VK2KTJ-9'
via l'interface 'bpq'.

Il y a toute sorte d'autres configurations possibles que vous pourriez essayer. Les utilitaires 'netrom_call' et
'rose_call' fonctionnent d'une façon similaire. Un amateur a utilisé cette utilitaire afin d'effectuer des connexions
vers une BBS distante plus facilement. Normalement les utilisateurs auraient dû entrer manuellement une longue
chaîne de caractères afin de se connecter alors il a crée une entrée qui fait apparaître la BBS comme si elle
était sur le réseau local. Il a crée une sorte de procuration pour son ax25d afin de permettre la connexion vers
la machine distante.

#### Table des matières

###

17. Configuration des commandes de liens Rose entrants et sortants

Si vous êtes familiers avec les implémentations ROM à base de Rose alors vous allez vous familiariser avec
la méthode par laquelle les utilisateurs AX.25 effectuent des appels à travers un réseau Rose. Si un utilisateur
local de noeud Rose a l'indicatif VK2KTJ-5 et que l'utilisateur AX.25 souhaite se connecter vers VK5XXX
sur le noeud distant Rose 5050882960 alors il effectuera la commande:

c vk5xxx v vk2ktj-5 5050 882960

Sur le noeud distant, VK5XXX verra une connexion entrante avec un indicatif local AX.25 relayé via
l'indicatif du noeud distant Rose.

L'implémentation Linux Rose ne supporte pas cette fonctionnalité dans le noyau, mais il y a deux applications
appelées rsuplnk et rsdwnlnk qui permettent cette fonction.

#### Table des matières

###

17.1. Configuration d'un lien Rose sortant

Pour configurer votre machine Linux de façon à ce qu'elle accepte une connexion Rose et établir une connexion
AX.25 vers n'importe quelle destination non-entendue sur votre machine, vous devez ajouter une entrée dans
votre fichier /etc/ax25/ax25d.conf.
Normalement, vous allez configurer cette entrée comme étant une situation par défaut pour les connexions entrantes
Rose. Par exemple, vous pourriez avoir des utilisateurs Rose opérants pour des destinations comme NODE-0 ou
HEARD-0 que vous souhaitez contrôler localement, mais pour toutes les autres destinations, vous voudriez les
passer avec la commande rsdwnlink et considérer qu'il s'agit d'utilisateurs AX.25.

Une configuration typique ressemblerait à ceci:

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

Avec cette configuration, chaque utilisateur établissant une connexion Rose sur votre adresse de noeud Linux
avec une destination qui n'a jamais été entendue sera converti en une connexion AX.25 sur le port nommé 4800
avec le chemin de relais VK2KTJ-5.

#### Table des matières

###

17.2. Configuration d'un lien Rose entrant

Pour configurer votre machine Linux afin qu'elle accepte des connections AX.25 de la même manière qu'un noeud
ROM Rose, vous devez ajouter une entrée dans votre fichier /etc/ax25/ax25d.conf comme ceci:

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

Remarquez la syntaxe spéciale de l'indicatif local. Le caractère '*' indique que l'application doit être appelée si
l'indicatif est entendu sur le chemin de relais d'une connexion.

Cette configuration autorisera un utilisateur AX.25 d'établir des appels Rose par le biais de l'exemple de séquence
de connexion présentée dans l'introduction.
Quiconque tentant d'établir un relais via VK2KTJ-5 sur le port AX.25 nommé 4800 sera supporté par la commande
rsuplnk.

#### Table des matières

###

18. Associer des indicatifs AX.25 à des utilisateurs Linux

Il y a un certain nombre de situations où il est fortement conseillé d'associer un indicatif avec un compte
utilisateur Linux. Un exemple pourrait être le cas où un certain nombre d'opérateurs radio amateur partageant
la même machine Linux souhaiteraient utiliser leur propres indicatifs pour faire des connexions. Un autre cas
est celui des utilisateurs de PMS souhaitant parler à quelqu'un de particulier sur votre machine.

L'ensemble des outils AX.25 vous fournit un moyen de gérer cette association des comptes utilisateurs Linux
et des indicatifs radioamateurs.
Nous en avons déjà parlé dans le chapitre consacré au programme de PMS, mais j'y reviens ici afin que vous
ne l'oubliiez pas.

Vous effectuez l'association grâce à la commande axparms. Par exemple:

# axparms -assoc vk2ktj terry

Cette commande associe l'indicatif vk2ktj avec l'utilisateur terry de la machine. Ainsi, tout le courrier pour
vk2ktj sur la PMS sera envoyé au compte utilisateur terry.

N'oubliez pas de placer ces associations dans votre fichier rc de façon à ce que cela marche à chaque fois
que vous démarrez votre machine.

Notez qu'il ne vaut mieux pas associer un indicatif avec le compte root car cela risque de provoquer des
problèmes dans d'autres programmes.

#### Table des matières

###

19. Les entrées systèmes du fichier /proc/

Le répertoire /proc contient un certain nombre de fichiers prévus spécialement pour les composantes
AX25 et NetRom du noyau. Ces fichiers sont normalement utilisés par les utilitaires AX25 mais ils sont
aisément paramétrables, alors il est possible que vous trouviez un intérêt à les décortiquer.
Leur format est facilement compréhensible alors je ne pense pas que beaucoup d'explications seront
nécessaires.

/proc/net/arp
contient la liste des entrées du protocole de résolution d'adresse (ARP) et
qui permet de convertir une adresse IP en une adresse MAC. Ces entrées
peuvent être AX.25, Ethernet ou n'importe quelle autre couche MAC.

/proc/net/ax25
contient une liste des sockets AX.25 ouverts. Ils peuvent être à
l'écoute d'une connexion, ou bien de sessions actives.

/proc/net/ax25_bpqether
contient les mappages des indicatifs AX25 sur de l'Ethernet BPQ.

/proc/net/ax25_calls
contient le mappage numéro utilisateur Linux-indicatif déclaré par la
commande axparms -assoc.

/proc/net/ax25_route
contient les informations du routage du relais AX.25
/proc/net/nr
contient une liste des sockets NetRom ouverts. Ils peuvent être à
l'écoute d'une connexion, ou bien de sessions actives.

/proc/net/nr_neigh
contient les informations sur les voisins NetRom connus par le système
NetRom.
/proc/net/nr_nodes
contient les informations sur les noeuds NetRom connus par le système
NetRom.
/proc/net/rose
contient une liste des sockets Rose ouverts. Ils peuvent être à
l'écoute d'une connexion, ou bien de sessions actives.

/proc/net/rose_nodes
contient le mappage des destinations Rose vers les voisins Rose.

/proc/net/rose_neigh
contient une liste des voisins Rose connus.

/proc/net/rose_routes
contient une liste de toutes les connexions Rose établies.

#### Table des matières

###

20. Programmation AX.25, NetRom et Rose

Probablement le meilleur avantage d'utiliser les implémentations à base de noyau de protocoles amateurs
packet radio est la facilité avec laquelle on peut y développer des applications ainsi que des programmes.

Bien que la matière couvrant la programmation réseau sous Unix soit éloignée de la teneur du présent
document, je vais vous décrire les détails élémentaires concernant l'utilisation des protocoles AX.25, NetRom
et Rose au sein de vos propres applications.

#### Table des matières

###

20.1. Les familles d'adresse

Sous Linux, la programmation réseau de AX.25, NetRom et Rose est pratiquement la même que la
programmation TCP/IP. La majeure différence réside dans les familles d'adresses utilisées ainsi que les
structures d'adresses qui ont besoin d'être correctement placées aux bons endroits.

Les noms des familles d'adresse pour AX.25, NetRom et Rose sont respectivement AF_AX25,
AF_NETROM et AF_ROSE.

#### Table des matières

###

20.2. Les fichiers entêtes

Vous devez toujours inclure l'entête 'ax25.h', et aussi 'netrom.h' ou 'rose.h' si vous travaillez avec ces
protocoles. Un squelette de programme ressemblera à ceci:

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_AX25

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;

#### Table des matières

###

20.3. Adaptation des indicatifs et exemples

Il y a des routines dans la bibliothèque lib/ax25.a incluse dans la distribution des utilitaires AX25 qui effectue
la conversion des indicatifs pour vous. Vous pouvez l'écrire vous-même si vous le souhaitez.

Les utilitaires user_call sont des excellents exemples sur lesquels vous pouvez commencer à travailler. Leur code
source est inclus dans la distribution des utilitaires AX25. Si vous y consacrez un peu de temps, vous allez vite
vous rendre compte que 90 pour cent du travail consiste à se tenir prêt à l'ouverture du socket. Faire une
connexion est aisée, mais sa préparation prend du temps.

Les exemples sont suffisamment simples pour que vous vous y retrouviez. Si vous avez la moindre question,
vous devriez directement les poser à la liste de distributions linux-hams et quelqu'un pourra vous aider
sûrement.

#### Table des matières

###

21. Exemples de configurations

Vous trouvez ci-dessous des exemples type de configurations classiques. Il s'agit simplement de guides
car il y a beaucoup de façons de configurer son propre réseau, mais ces exemples représentent un bon début.

#### Table des matières

###

21.1. Petit réseau Ethernet avec Linux comme routeur vers le réseau radio

Beaucoup d'entre nous ont des petits réseaux locaux à domicile et souhaitent connecter leur machines sur
le réseau local radio. Ceci est le type même de configuration que j'utilise chez moi. Je me suis arrangé pour
avoir une suite correcte d'adresse de façon à ce que je puisse tout capturer aisément depuis une seule route
et tout rediriger vers mon réseau Ethernet. Votre coordinateur local IP vous assistera dans cette tâche si
vous souhaitez faire cette expérience. Les adresses de votre réseau Ethernet forme un sous-ensemble des
adresses du réseau radio. La configuration suivante est celle que j'utilise pour mon routeur Linux sur
mon réseau chez moi:

. . . . . . .
--- .
| Réseau /---------\ . Réseau
| 44.136.8.96/29| | . 44.136.8/24 \ | /
| | Routeur | . \|/
| | | . |
| eth0 | Linux | . /-----\ /----------\ |
---|---------------| |-----| TNC |----| Radio |---/
| 44.136.8.97 | et | . \-----/ \----------/
| | | sl0
| | serveur | 44.136.8.5
| | | .
| | | .
| \_________/ .
--- . . . . . .

#!/bin/sh
# /etc/rc.net
# Cette configuration fournit un port AX.25 KISS et une
# unité 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

· Vous devez avoir activé IP_FORWARDING dans votre noyau.

· Les fichiers de configuration AX.25 ressemblent beaucoup à ceux que
l'on a déjà utilisé auparavant, veuillez de nouveau consulter les anciens
chapitres si c'est nécessaire.

· J'ai choisi d'utiliser une adresse IP pour mon port radio qui n'est
pas dans la fourchette de mon réseau privé. Je n'avais pas forcément besoin
de le faire et j'aurai pu utiliser 44.136.8.97 pour ce port.

· 44.136.8.68 est ma passerelle d'encapsulation IPIP et il s'agit
également de l'endroit ou je pointe vers ma route par défaut.

· Chacune des machines sur mon réseau Ethernet dispose d'une route:

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

L'utilisation des paramètres mss et window signifie que je peux obtenir des
performances optimales pour mon réseau local Ethernet ainsi que pour le
réseau à base de connexions radio.

· Je lance aussi mes daemons smail, http, ftp et autres sur le routeur de
façon à qu'il soit le seul à fournir tous les services.

· La machine de routage est un 386DX20 tres lent avec un disque dur de
20Mb doté d'une configuration Linux minimale.

#### Table des matières

###

21.2. Configuration de la passerelle d'encapsulation IPIP

Linux est maintenant très utilisé pour créer des passerelles d'encapsulation tcp/ip dans le monde entier.
Le nouveau pilote de tunnel supporte les routes encapsulées multiples et rend donc l'ancien daemon ipip
complètement obsolète.

Ci dessous, une configuration typique.

. . . . . . .
--- .
| Réseau /---------\ . Réseau
| 154.27.3/24 | | . 44.136.16/24 \ | /
| | Passe- | . \|/
| | relle | . |
| eth0 | | . /-----\ /----------\ |
---|---------------| Linux |-----| TNC |----| Radio |---/
| 154.27.3.20 | | . \-----/ \----------/
| | IPIP | sl0
| | | 44.136.16.1
| | | .
| | | .
| \_________/ .
--- . . . . . .

Les fichiers de configuration sont les suivants:

# /etc/rc.net
# Ce fichier est une simple configuration qui fournit un port radio
# KISS AX.25, une unité Ethernet, et utilise le pilote tunnel
# pour effecter l'encapsulation/décapsulation IPIP
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
# Ce fichier est généré par le script munge
#
/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 remarques ici:

. Le nouveau pilote de tunnel utilise le champs gw dans la table de
routage au lieu du paramètre pointopoint afin de spécifier l'adresse de la
passerelle distante IPIP. Ceci explique pourquoi il supporte désormais les
routes multiples par interface.

. Vous pouvez configurer deux unités réseau avec la même adresse. Dans cet
exemple, les unités sl0 et tunl0 ont été configurées avec l'adresse IP du
port radio. Ceci est fait de façon à ce que la passerelle distante voit
l'adresse correcte depuis votre passerelle dans des datagrammes encapsulés.

. La commande route utilisée pour spécifier les routes encapsulées peut être
automatiquement générée par une version modifiée du script munge. Ceci est
inclus en dessous. La commande route sera alors écrite dans un fichier
séparé et lu grâce aux commandes du source bash /etc/ipip.routes (En
supposant que vous ayiez appelé le fichier avec les commandes de routage
/etc/ipip.routes). Le fichier source doit être dans le format de commande
de route NOS.

. Notez l'utilisation du paramètre window sur la commande route.
Le fait de mettre une bonne valeur window améliorera les performances
sur vos liens radio.
Le nouveau script tunnel-munge:

#!/bin/sh
#
# De: Ron Atkinson <n8fow@hamgate.cc.wayne.edu>
#
# Ce script est basiquement le script 'mung' écrit par Bdale N3EUA
# pour le démon IPIP et a été modifié par Ron Atkinson N8FOW. Son
# but est de convertir un fichier de routage au format KA9Q NOS
# (d'habitude appelé 'encap.txt') en une table de routage au format
# Linux pour le pilote de tunnel IP.
#
# Usage: Fichier passerelle sur stdin, Fichier de route Linux sur
# stdout.
# ex. tunnel-munge < encap.txt > ampr-routes
#
# NOTE: Avant d'utiliser ce script, soyez sûrs de vérifier et de changer
# les choses suivantes:
#
# 1) Changez les 'Local routes' et les 'Misc user routes' pour
# les routes qui s'appliquent localement chez vous (enlevez les
# miennes, svp!)
# 2) Sur la ligne fgrep, soyez sûrs de changer l'adresse IP pour votre
# propre passerelle Internet. Si vous ne le faites pas, cela va
# causer de sérieuses boucles de routage.
# 3) Le nom par défaut de l'interface est 'tunl0'. Soyez sûrs que ceci
# est correct pour votre système.

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"

#### Table des matières

###

21.3. Passerelle d'encapsulation AXIP

Beaucoup de passerelles radio-amateur-Internet encapsulent de l'AX.25, du NetRom et du Rose en plus
de tcp/ip. L'encapsulation des paquets AX.25 dans des segments IP est expliquée dans la RFC-1226 de
Brian Kantor. Mike Westerhof a écrit une implémentation d'un daemon d'encapsulation pour unix en 1991.
L'ensemble ax25-utils inclut une version légèrement améliorée de ce daemon pour Linux.

Un programme d'encapsulation AXIP accepte en bout de chemin des trames AX.25, examine leur adresse
AX.25 de destination pour déterminer vers quelle adresse IP ils doivent être acheminés, les encapsule dans
une trame tcp/ip et finalement les transmet vers la bonne destination. Un même programme accepte également
les segments tcp/ip contenant des trames AX.25, les extrait et les gère exactement comme s'ils avaient été
reçus directement depuis un port AX.25. Afin de distinguer les segments IP contenant des trames AX.25
avec d'autres segments IP, les segments AXIP sont codés avec un identifiant de protocole égal à 4 (Ou 94
mais qui est maintenant dépassé). Cette procédure est décrite dans la RFC-1226.

Le programme ax25ipd inclus dans la distribution ax25-utils se présente comme un programme supportant
une interface KISS au travers de laquelle vous passez des trames AX.25 ; de plus il comprend une interface
pour les protocoles tcp/ip. Il est configurable avec un seul fichier de configuration appelé /etc/ax25/ax25ipd.conf.

#### Table des matières

####

21.3.1. Les options de configuration AXIP

Le programme ax25ipd a deux modes majeurs d'opération. Le mode "digipeater" et le mode "tnc". Dans le
mode "tnc", le daemon est traité comme s'il était un simple TNC en mode KISS, vous y passez des trames
encapsulées en KISS, puis il les transmet, ceci est la configuration habituelle. En mode "digipeater", vous
considérez que le daemon agit comme s'il était un relais AX.25. Il existe une différence subtile entre ces
deux modes.

Dans le fichier de configuration, vous configurez les "routes" ou les mappages entre les indicatifs AX.25 de
destination et l'adresse IP des machines vers lesquelles vous souhaitez également envoyer des paquets AX.25.
Chaque route a des options qui seront expliquées plus tard.
Les autres options pouvant être configurées sont les suivantes:

. le tty qui sera ouvert par le daemon ax25ipd ainsi que sa vitesse (d'habitude une terminaison de pipe)

. l'indicatif que vous souhaitez utiliser en mode "digipeater"

. l'intervalle de déclenchement la balise ainsi que son texte

si vous choisissez d'encapsuler les trames dans des segments IP ou UDP/IP. La plupart des passerelles
AXIP utilise l'encapsulation IP, mais quelques passerelles sont derrière des firewalls qui n'autoriseront pas
que l'IP avec l'identifiant de protocole AXIP puisse passer, en conséquence ils seront obligés d'utiliser UDP/IP.
Suivant ce que vous choisissez, vous devez toujours vous assurer que la machine tcp/ip située à l'autre bout
du circuit a le même lien que le vôtre.

#### Table des matières

####

21.3.2. Un fichier /etc/ax25/ax25ipd.conf typique

#
# Fichier de configuration ax25ipd pour la station floyd.vk5xxx.ampr.org
#
# Choisissez le transport axip 'ip', il garantit le plus haut niveau de
# compatibilité avec la plupart des autres passerelles.
#
socket ip
#
# Détermine le mode d'opération ax25ipd. (digi ou tnc)
#
mode tnc
#
# Si vous avez choisi digi, vous devez définir un indicatif. Si avez choisi
# le mode tnc, l'indicatif est optionnel, mais ceci pourrait bien changer dans le
# futur! (2 indicatifs si vous utilisez un double port KISS)
#
#mycall vk5xxx-4
#mycall2 vk5xxx-5
#
# En mode digi, vous devez utiliser un alias. (2 pour un double port)
#
#myalias svwdns
#myalias2 svwdn2
#
# Envoyer une identification toutes les 540 secondes ...
#
#beacon after 540
#btext ax25ip -- tncmode rob/vk5xxx -- Experimental AXIP gateway
#
# Port série, ou pipe connecté à un kissattach dans mon cas
#
device /dev/ttyq0
#
# Fixe la vitesse de l'unité
#
speed 9600
#
# loglevel 0 - pas de sortie
# loglevel 1 - seulement les info de la config
# loglevel 2 - la plupart des événements et des erreurs
# loglevel 3 - la plupart des événements, erreurs et trace des trames AX25
# loglevel 4 - tous les événements
# log 0 pour le moment, syslog ne marche pas encore...
#
loglevel 2
#
# Si nous sommes en mode digi, nous pouvons avoir un vrai tnc ici, alors nous
# utilisons param pour indiquer les paramètres tnc ...
#
#param 1 20
#
# Définition de l'adresse de diffusion. Chacune des adresses listée sera expédiée
# sur chacune des routes indiquées comme route de diffusion.
#
broadcast QST-0 NODES-0
#
# définition de route ax.25, définissez en autant que vous le souhaitez.
# Le format est route (indicatif/joker) (machine IP de destination)
# tous les SSID de routes sont à 0
#
# route <indicatif de destination> <adresse de destination> [drapeaux]
#
# Les drapeaux sont:
# b - autorisent la transmission des émissions via cette route
# d - cette route est la route par défaut
#
route vk2sut-0 44.136.8.68 b
route vk5xxx 44.136.188.221 b
route vk2abc 44.1.1.1
#
#

#### Table des matières

####

21.3.3. Exécuter ax25ipd

Créer votre entrée /etc/ax25/axports:

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

Exécuter la commande kissattach pour créer ce port:

/usr/sbin/kissattach /dev/ptyq0 axip

Exécuter le programme ax25ipd:

/usr/sbin/ax25ipd &

Tester le lien AXIP:

call axip vk5xxx

#### Table des matières

####

21.3.4. Quelques remarques sur les routes et les drapeaux des routes

La commande "route" est l'endroit où vous voulez envoyer vos paquets encapsulés. Lorsque le daemon ax25ipd
reçoit un paquet depuis cette interface, il compare l'indicatif de destination avec chacun des indicatifs de sa table
de routage. S'il trouve une correspondance alors le paquet AX.25 est encapsulé dans un segment IP et ensuite
transmis vers la machine a l'adresse IP qui a été spécifiée.

Il y a deux drapeaux que vous pouvez ajouter à n'importe quelle commande route du fichier ax25ipd. Les
deux drapeaux sont:

b : le trafic avec une adresse de destination correspondant à
n'importe laquelle des entrées de la liste définie par le mot
clé "broadcast" devra être transmis via cette route.

d : chaque paquet ne correspondant à aucune des routes devra
être transmis via cette route.

Le drapeau de diffusion est très utile, car il diffuse des informations qui sont normalement destinées à toutes
les stations vers un certain nombre de destinations AXIP. Normalement les routes AXIP sont en point à point
et incapables de manipuler des paquets de diffusions.

#### Table des matières

###

21.4. Lier NOS et Linux grâce à un pipe

Beaucoup de gens aiment utiliser NOS sous Linux car il dispose de plein de choses intéressantes qu'ils ont déjà
utilisé. La plupart de ces personnes aimeraient voir le NOS fonctionnant sur leur machine, capable de dialoguer
avec le noyau Linux de façon à ce qu'ils puissent faire profiter de certaines des possibilités de Linux aux utilisateurs
via NOS.

Brandon S. Allbery, KF8NH, a contribué aux explications suivantes pour expliquer comment interconnecter
NOS sur Linux avec le noyau grâce à un pipe Linux.
Puisque Linux et NOS supportent tous les deux le protocole slip, il est possible de les lier ensemble en créant
un lien slip. Vous pouvez faire ceci en utilisant deux ports série avec un câble en boucle sur chacun d'eux,
toutefois cela va s'avérer à la fois coûteux et lent.
Linux fournit une spécificité que les autres systèmes Unix appellent 'pipe'. Il s'agit de pseudo unités qui
ressemblent à des unités standard tty mais qui en fait bouclent vers une autre unité 'pipe'. Afin d'utiliser ces pipes,
le premier programme doit d'abord ouvrir le pipe maître puis le second programme ouvrira le pipe esclave.
Lorsque les deux sont ouverts alors les programmes peuvent communiquer ensemble simplement en écrivant des
caractères vers les pipes exactement comme s'il s'agissait d'unités de terminal.

Afin d'utiliser cette facilité pour connecter le noyau Linux avec une copie de NOS ou un quelconque autre
programme, vous devez d'abord choisir un pipe. Vous pouvez en trouver un dans le répertoire /dev.
Les pipes maîtres sont nommés: ptyp[1-f] et les pipes esclaves sont connus comme: ttyp[1-f].
Rappelez-vous que ceux-ci travaillent par paire, alors si vous choisissez /dev/ptypf comme maître, vous devez
choisir /dev/ttypf comme esclave.

Une fois que vous avez choisi une paire de pipe, vous devez allouer le pipe maître au noyau Linux et le pipe
esclave au programme NOS, puisque le noyau Linux démarre d'abord, le pipe maître doit d'abord être ouvert.
Rappelez-vous aussi que votre noyau Linux doit avoir une adresse IP différente de celle du NOS, alors pensez
à lui allouer une adresse unique si ce n'est pas encore fait.

On configure le pipe exactement comme une unité série, donc pour créer un lien slip depuis votre noyau Linux,
utilisez les commandes suivantes:

# /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 s'est vu affecté l'adresse IP 44.70.4.88 et le programme NOS l'adresse
IP 44.70.248.67. La commande route sur la dernière ligne indique simplement au noyau de router toutes les
données pour le réseau amprnet via le lien slip qui a été crée par la commande slattach. Normalement vous
placez ces commandes dans votre fichier /etc/rc.d/rc.inet2 une fois que toute votre configuration réseau s'est
bien déroulée de façon à ce que le lien slip soit crée automatiquement une fois que vous avez rebooté.
Note: il n'y a aucun avantage à utiliser cslip plutot que slip car celui-ci réduit les performances puisque le
lien est complètement virtuel et est suffisamment rapide par rapport au temps que met cslip pour compresser
les entêtes.
Pour finaliser la configuration du lien NOS, utilisez ceci:
# Appelez l'interface comme vous le voulez, j'utilise "linux".
attach asy ttyqf - slip linux 1024 1024 38400
route addprivate 44.70.4.88 linux

Ces commandes vont créer un port slip nomme 'linux' via le pipe esclave vers le noyau Linux et une route vers
ce dernier. Une fois que vous avez démarré NOS, vous devriez être capable d'exécuter un ping ou un telnet
vers votre NOS directement depuis votre machine Linux et vice-versa.
Si ce n'est pas le cas, alors vérifiez que vous n'avez pas commis d'erreur et plus particulièrement que vous avez
bien configuré les adresses et que les pipes ont été montés dans le bon ordre.

#### Table des matières

###

22. Où puis-je trouver plus d'informations sur .... ?

Puisque ce document suppose que vous ayiez déjà des notions sur le packet radio et qu'il est tout à fait
envisageable que ce n'est pas le cas, je vous ai rassemblé tout un ensemble d'autres informations qui
pourront vous être utiles.

#### Table des matières

###

22.1. Packet Radio

Vous pouvez obtenir des informations généralistes sur le Packet Radio sur ces sites:

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

#### Table des matières

###

22.2. Documentation sur les protocoles

AX.25, NetRom - Jonathon Naylor a rassemblé une variété de documents expliquant les protocoles packet radio.
Cette documentation a été consolidée dans ax25-doc-1.0.tar.gz
<ftp://ftp.pspt.fi/pub/ham/linux/ax25/ax25-doc-1.0.tar.gz>

#### Table des matières

###

22.3. Documentation sur le matériel

De l'information sur les cartes PI2 est fournie par le Ottawa Packet Radio Group <http://hydra.carleton.ca/>.

De l'information sur les Baycom est disponible sur la page web Baycom <http://www.baycom.de/>.

#### Table des matières

###

23. Discussions en rapport avec les Radios Amateurs et Linux

Il y a beaucoup d'endroits où vous pouvez discuter du radio amateurisme et de Linux. Vous les trouverez
sur les forums comp.os.linux.* ainsi que sur les listes de distributions de vger.rutgers.edu. Il y a également
d'autres endroits comme la liste tcp-group mailing list chez ucsd.edu (La source des discussions radioamateurs
sur tcp/ip ), et vous pouvez aussi essayer le canal #linpeople sur le réseau irc.

Pour joindre le canal Linux linux-hams sur la liste de distribution, envoyer un courrier à:

Majordomo@vger.rutgers.edu

avec la ligne:

subscribe linux-hams

dans le corps du message. Le sujet est ignoré.

La liste de distribution linux-hams est archivée à:

zone.pspt.fi <http://zone.pspt.fi/archive/linux-hams/> et
zone.oh7rba.ampr.org <http://zone.oh7rba.ampr.org/archive/linux-hams/>.

Veuillez consulter d'abord les archives, car vous y trouverez réponses aux questions les plus fréquentes.

Pour joindre le groupe tcp-group envoyez un courrier à:

listserver@ucsd.edu

avec la ligne:

subscribe tcp-group

dans le corps du message.

Note: Rappelez-vous que le groupe tcp-group est à l'origine consacré à la discussion avancée des protocoles,
comme tcp/ip. Les questions plus courantes et spécifiques concernant Linux n'y sont habituellement pas
débattues.

#### Table des matières

###

24. Remerciements

Les personnes suivantes ont contribué à la réalisation de ce document d'une manière ou d'une autre, directement ou indirectement. Dans le désordre (lorsqu'ils me viennent à l'esprit):
Jonathon Naylor, Thomas Sailer, Joerg Reuter, Ron Atkinson, Alan Cox, Craig Small, John Tanner,
Brandon Allbery, Hans Alblas, Klaus Kudielka, Carl Makin.

#### Table des matières

###

25. Copyright

Le AX25-HOWTO, une information concernant l'installation et la configuration des distributions supportant
l'AX25 pour Linux est copyright (c) 1996 Terry Dawson.

Ce programme est libre et gratuit; vous pouvez le redistribuer et/ou le modifier en accordance avec les termes
de licence GNU promulgués par Free Software Foundation; que ce soit la version 2 de la licence, ou (suivant
votre option), une autre version plus récente.

Ce programme est distribué avec l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE; sans même la
garantie de MARCHANDABILITE ou de BON FONCTIONNEMENT POUR UNE UTILISATION
PARTICULIERE. Veuillez consulter la licence GNU pour plus de détails.

Vous devriez avoir une copie de la licence publique GNU avec le programme; si ce n'est pas le cas, alors
écrivez à:

Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

#### Table des matières