Se connecter à Infonie
sous Linux et en RNIS !

Dans le texte, vous trouverez deux symboles qui permettent d'accéder à des informations que j'ai déporté pour ne pas alourdir le texte :
: renvoi à une sorte de glossaire : envoi vers des précisions techniques

 

Introduction

Voici quelques informations en vrac, que j'ai glanées en voulant me connecter moi-même. J'ai trouvé peu d'informations sur le sujet quand j'ai cherché.

Bon, on trouve bien de quoi configurer Linux pour faire du PPP sous Linux, mais c'est en utilisant le réseau téléphonique normal, avec un modem.
PPP
J'ai même trouvé quelqu'un de bien qui donnait des informations pour se connecter sous Linux à Infonie, mon fournisseur d'accès, mais bien sûr, pas en Numéris. Par ailleurs, j'ai trouvé quelques anglophones qui savaient connecter Linux via ISDN (c'est à dire RNIS, Numéris quoi !). Mais je n'ai trouvé personne qui avait fait tout çà en même temps. Bref, je me suis dit que j'allais parler de mes quelques découvertes.

Si vous découvrez des bêtises, n'hésitez pas, je ne demande qu'à m'améliorer. Si je fais çà c'est pour aider.

Ma configuration précise est ci-dessous. Il doit y avoir des différences suivant la carte, la distribution Linux et le FAI, mais je pense qu'il y a quand même quelques trucs qui serviront
FAI

  • RedHat 5.2
  • Noyau 2.0.36*
  • isdn4k-utils-3.0b2**
  • carte USR ISDN TA
(*) Au moins un noyau 2.0.32 est nécessaire, ou un 2.0.31 patché
(**) voir plus loin


Avant de poursuivre

Notez quand même que tout ce qui suit ne s'applique qu'aux adaptateurs Numéris internes. Si vous possédez un adaptateur externe, laissez tomber tout çà. Ces adaptateurs se comportent généralement comme un simple modem, reportez-vous directement aux directives d'Infonie.


Plan de bataille

Je propose le plan suivant :
  1. comment préparer votre Linux (autant le faire au préalable !) : Linux et une carte RNIS
  2. quelles sont les 3 informations qu'il faut récupérer à partir de Windows 95 : les infos à connaître
  3. comment les reporter dans Linux : paramétrer Linux
  4. comment mettre en place quelque chose d'automatique : les scripts d'automatisation
  5. et si çà ne marche pas ... : comment investiguer...

Linux et une carte RNIS

Support de RNIS dans le noyau

RNIS est supporté par le noyau depuis la version 2.0.31. Si vous utilisez un noyau pré-généré, il est fort probable qu'il contient ce qu'il faut.

Si vous générez vous-ême votre noyau, vérifiez que les options suivantes sont cochées :

 [*] Isdn support
 [*] Support synchronous PPP
 [*] Support Generic MP RFC 1717
 [*] Support Audio for ISDN
 [*] HiSax Siemens Chipset driver support
 [*] HiSax support for EURO/DSS1
ainsi que la case correspondant à votre carte. J'ai supposé que vous aviez une carte reconnue par le driver HiSax. Si ce n'est pas le cas, je ne sais pas faire.

Ce n'est pas la peine de charger le driver en statique dans le noyau, le chargement par module fonctionne bien.

Chargement du module HiSax

Le driver HiSax est ce qui va permettre à Linux de contrôler votre carte RNIS. Il faut donc lui fournir des informations : La table suivante reprend les différents types de carte :

TypeCarteParamètres
1 Teles 16.0 irq, mem, io
2 Teles 8.0 irq, mem
3 Teles 16.3 (non PnP) irq, io
4 Creatix/Teles PnP irq, io0 (ISAC), io1 (HSCX)
5 AVM A1 (Fritz) irq, io
6 ELSA PCC/PCF io ou rien pour autodétection
(il faut préciser si vous avez plus
d'une carte EISA dans votre PC)
7 ELSA Quickstep 1000 irq, io (du setup isapnp)
8 Teles 16.3 PCMCIA irq, io
9 ITK ix1-micro Rev.2 irq, io
10 ELSA PCMCIA irq, io
11 Eicon.Diehl Diva ISA PnP irq, io
12 Eicon.Diehl Diva PCI rien
13 ASUS COM ISDNLink irq, io
14 cartes à HFC-2BS0irq, io
15 Sedlbauer Speed Card
(= Teledat 100)
irq, io
16 USR Sportster internalirq, io
17 MIC irq, io
18ELSA Quickstep 1000PCI rien

Il y a deux méthodes au moins pour passer ces arguments au driver HiSax :

J'ai lu que la deuxième méthode est recommandée car elle évite que le démon kerneld ne décharge le driver après quelques minutes d'inactivité. La commande est alors :
modprobe hisax type=16 protocol=2 irq=10 io=0x268
Les valeurs changeront sans doute pour vous. Ici, c'est ma carte USR ISDN TA, utilisant l'IRQ 10 et l'adresse d'entrée-sortie 0x268. Pour valider votre installation, vous pouvez lancer cette commande à la main. Vous devriez obtenir ceci :
ISDN subsystem Rev: 1.44.2.9/1.41.2.11/1.48.2.27/1.28.2.2/1.8.2.2 loaded
Vous savez maintenant que votre Linux reconnait votre carte. Le driver HiSax est en effet assez strict. Si quelque chose risque de ne pas marcher plus tard, HiSax râle tout de suite ! Bon, nous avons fini pour le noyau, voyons les utilitaires.

"ISDN for Linux" (i4l)

Ce n'est pas la peine de chercher à utiliser pppd en RNIS, car il est prévu pour des connexions modem, qui sont asynchrones. Pour faire du RNIS, il faut un démon qui fonctionne en asynchrone, c'est ipppd.

ipppd fait partie du "produit" isdn4linux. Il y a des liens en fin de document.

Au début, isdn4linux comprenait aussi les drivers qui font maintenant partie du noyau. Ce qui reste s'appelle isdn4k-utils. Ceci comprend :

Vous utilisez Linux, donc vous devez savoir récupérer ce produit et le compiler. Vous verrez, c'est bien fait.

Voila, c'est fini pour la première partie, nous passons sous Windows chercher quelques informations et on revient...


Les autres infos à connaître

Pour commencer, il faut récupérer les informations sur la connexion. Et pour cela, il faut passer sous Windows 95
Je fais un petit résumé ici. Si vraiment vous trouvez que je ne suis pas clair, allez jeter un oeil directement chez Infonie.


Entrer ces informations dans Linux

Sous le compte "root" sous Linux, appelez une xterm. Dans celle-ci, tapez "netcfg &". Une fenêtre va apparaître, c'est avec elle qu'on définit tout ce qui est propre au réseau.

Les DNS

Une fenêtre telle que celle-ci devrait apparaître :

Définissez-y les deux DNS précédemment notés (normalement, ce sont les mêmes que ci-dessus).

Le domaine infonie

Je ne sais pas si c'est indispensable, mais j'ai vu le faire. Dans la rubrique "Hosts", tapez sur "Add", puis saisissez les informations suivantes :

Le numéro de téléphone

On le mettra directement dans les scripts de lancement (section suivante)


Les scripts d'automatisation

Je ne fais pas confiance pour le moment à une configuration qui lancerait automatiquement la connexion quand un logiciel (ex: Netscape) en a besoin. Ce que je propose ici est donc :

A faire une fois pour toutes

  1. Vous installez le fichier chap-secrets dans /etc/ppp, avec un "chmod o-rwx ; chmod u+rwx" pour les droits
    si vous regardez le contenu du fichier : je sais que çà n'est pas optimal au niveau contrôle...

  2. Vous installez le script rnis dans /etc/rc.d/init.d

  3. Editez ce fichier pour mettre à jour votre numéro de téléphone, celui de votre point d'accès Infonie, et votre numéro d'abonné.

  4. Pour que Linux lance automatiquement ce script au démarrage, il faut maintenant créer un lien vers ce fichier.
    cd /etc/rc3.d
    ln -s ../init.d/rnis S92rnis

  5. Vérifiez que le fichier /etc/ioptions existe bien. S'il n'existe pas, créez le vide.

CHAP

Ce script charge le pilote RNIS, le configure et lance le démon ipppd. Tout est alors en place pour pouvoir lancer la connexion à la demande. La dernière opération a pour but de faire exécuter le script lorsque Linux passe en runlevel 3, c'est à dire à la fin d'un démarrage standard.
runlevel
Le routage vers l'Internet est mis en place automatiquement par ippd lors de l'activation de la connexion, il n'est donc pas nécessaire de s'en préoccuper.
routage

Activation / désactivation

Pour l'instant, ce que j'ai n'est pas très évolué ; il s'agit d'un petit script. Sous root, vous le placez dans /etc, puis vous faites un :
chmod +s /etc/isdnnet
chmod go+x /etc/isdnnet

ce qui vous permettra de le lancer sous un autre compte que root.

Voilà, c'est fini. Pour lancer la connexion, tapez : /etc/isdnnet start, et pour l'arrêter, tapez : /etc/isdnnet stop.

C'était compatible avec l'ancienne version de xmonisdn (qui composait automatiquement ces commandes lorqu'on cliquait dans sa fenêtre), mais çà ne marche plus. Il faut que je regarde.

Petits ajouts

ipppd lance automatiquement le script /etc/ppp/ip-up lorsque la connexion est établie. Il est possible d'y ajouter des actions "maison". Par exemple, si votre machine est sur un réseau local possédant un routeur (pour remodifier la route par défaut). Ce n'est pas encore trèe répandu chez les particuliers...

De même, ipppd lance automatiquement le script /etc/ppp/ip-down lorsque la connexion est coupée.


Comment investiguer

Test de la carte

Analyse des logs

En ajoutant l'option "debug" parmi les arguments du processus ipppd dans le script "rnis", vous aurez dans le fichier "var/log/messages" un certain nombre de messages pouvant indiquer la cause du problème de connexion.

Vous devriez trouver quelque chose de ce type là. Ne vous effrayez pas des messages d'erreur qui y figurent, la compression Stac utilisée par Infonie n'est pas reconnue par cette version de ipppd, et les autres compressions sont inhibées.


Liens utiles

Voici l'origine de tout mon savoir sur RNIS et Linux. Je remercie tous les auteurs !

Autres sources : Date de dernière mise à jour : 09/02/1999