BxLUG groupe des utilisateurs de GNU/Linux de Bruxelles

Espace membres

Modem adsl-USB SAGEM F@st 800 en mode PPPoE

Corrections pour la distribution officielle, testées sur Mandrake 9.0
Un autre article concerne la Debian Sarge 3.1, qui est censé convenir à la Woody 3.0.

En espérant que cela aide, chacun est responsable de ses actes

Le mode choisi est le RFC1483 ponté LLC. Il s'agit, plus simplement dit, d'une connexion "PPPoE" (PPP over Ethernet), c'est-à-dire en émulation Ethernet, alors qu'il n'utilise pas cette interface. Il existe également le mode PPPoA, documenté dans le paquetage officiel, mais non testé pour ces notes.

1. Installation du pilote
  1.1. Prérequis
  1.2. Installation du pilote principal du modem
  1.3. Configuration du mode de connexion

2. Connexion en mode PPPoE
  2.1 Installer la version 3.31 de pppoe
  2.2 Configuration du compte utilisateur
  2.3 Connexion à Internet
  2.4 Déconnexion à Internet

3. Notes
  3.1 L'application graphique
  3.2 Les fichiers de configuration
  3.3 À faire, à éclaircir…

1. Installation du pilote

Ne branchez pas encore le modem, ou du moins pas le connecteur USB.

1.1 Prérequis

On travaillera en mode super-utilisateur: su et mot de passe.

Il faut pouvoir compiler, ce qui veut dire avoir les sources du noyau installées dans le répertoire /usr/src, par exemple /usr/src/linux-2.4.19-16mdk, et disposer du compilateur gcc. Pour s'en assurer: rpm -q gcc devrait donner (ce qui dépend aussi de votre distribution) quelque chose comme gcc-3.2-1mdk.

Il est indispensable d'avoir les sources et le compilateur installés. Votre distribution linux doit vous permettre de les installer (cherchez la section "développement").

Il peut être intéressant de créer un lien symbolique /usr/src/linux qui pointe vers le répertoire réel des sources du noyau:
ln -s /usr/src/<sources> /usr/src/linux
en remplaçant <sources> par le nom précis du répertoire des sources (allez voir en /usr/src).

1.2. Installation du pilote principal du modem

Décompressez les sources du paquet en vous étant placé dans son répertoire:
tar -xvfz Fast800.2.0.3.tgz

Il est possible, dans mc (Midnight Commander), de rentrer dans une archive avec [Enter] et de copier les fichiers avec [F5], à condition que le fichier ne soit pas exécutable. Pour le rendre non-exécutable: chmod 644 nom-du-fichier

Le logiciel d'installation du modem est composé des deux sous-répertoires suivants, le seul nous intéressant étant le ADI_DRIVER, contenant le pilote du modem.

Rentrez dans le répertoire ADI_DRIVER: cd ADI_DRIVER et lancez le script d'installation ./Install_All linux, script qui, notamment, /usr/ADI_USB/ADI_LINUX, Lorsque la compilation est terminée, vérifiez dans les traces affichées dans la fenêtre "shell" que celle-ci s'est déroulée sans erreur (attention: gcc 2.95 ne suffit pas; sous mandrake 9.0, il s'agit de la version 3.2).

En cas d'erreurs de compilation, vérifiez que le répertoire /usr/src/linux contient bien les fichiers sources du kernel (ou un lien vers les sources).

Brancher le modem, la connexion RJ-11 de la ligne téléphonique puis la fiche USB vers l'ordinateur). Le voyant "PWR" s'allume d'abord, le voyant "ADSL" clignote (il charge le firmware) avant de s'allumer définitivement.

ifconfig -a permet de vérifier que l'interface réseau "ADIModem" est reconnue par le système:

ADIModem  Lien encap:Ethernet  HWaddr 00:60:4C:28:E4:1B
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Vous pouvez également essayer cat /proc/adimodem.

Sinon, c'est qu'il s'est passé quelque chose d'anormal. Il se peut que ce soit le service hotplug qui manque. Dans ce cas, il suffit de rebooter le système et guetter que la procédure d'allumage du modem se déroule lors du démarrage du "loopback").

1.3. Configuration du mode de connexion

Vous avez installé le pilote principal de votre modem. Vous devez maintenant choisir le mode de connexion à Internet, information que votre fournisseur d'accès à Internet vous a peut-être donnée, en éditant le fichier de configuration /etc/analog/adiusbadsl.conf.

1. Les paramètres ATM:

    VPI=00000008
    VCI=00000023

Attention: ces valeurs sont 8 et 35, mais codées en hexadécimal et sur 8 chiffres.

2. Pour le mode PPPoE LLC, il s'agit du paramètre décrit par la ligne

#MPOA_MODE_RFC1483 BRIDGED_ETH_LLC ----> 1

Il faut donc changer cette ligne (les sept zéros ont leur importance):

Encapsulation=00000001

Il semblerait qu'il faille ensuite utiliser ifup (je ne suis pas parvenu à trouver de doc qui me soit suffisante) avant de continuer. Un reboot a semble-t-il le même effet. Faites-le.

2. Connexion en mode PPPoE

Si vous voulez vous connecter à partir de l'interface graphique, voyez la note 3.1, à condition de pouvoir installer le paquet PPPPOEGUI.RPM .

2.1 Installer une version plus neuve de pppoe

Le paquet Sagem Fast 800 contient un paquet pppoe331.rpm facile à installer sous Mandrake, RedHat ou SuSE :
rpm -i pppoe331.rpm

Il installe notamment les fichiers de script adsl-connect - adsl-setup - adsl-start - adsl-status - adsl-stop

En cas de problème, les sources et les scripts existent sous les formes pppoesrc.rpm et pppoesrc.tar.

Les fichiers adsl-connect, adsl-setup et adsl-start utilisent la commande /usr/bin/id, qui se trouve normalement en /bin/id. Soit vous corrigez ces fichiers en enlevant /usr chaque fois après la ligne "# Must be root" dans adsl-connect (ligne 40), adsl-setup (ligne 48) et adsl-start (ligne 42), soit vous éditez un lien symbolique
ln -s /bin/id /usr/bin/id

2.2. Configuration du compte utilisateur

C'est le fichier de script /usr/sbin/adsl-setup qui permet de configurer la connexion:

USERNAME
    nom@fournisseur, ou tout nom attribué par votre fournisseur

INTERFACE
    ADIModem (attention aux majuscules/minuscules: l'orthographe compte)

"activated on demand …"
    10 par exemple, nombre de secondes maximal pour la connexion
    no si la connexion est permanente

DNS
    server si la "résolution" de DNS se fait automatiquement
    xxx.xx.xx.x si le fournisseur d'accès fourni un (ou deux) numéro(s)

PASSWORD
    mot de passe fourni par votre fournisseur d'accès à Internet
    répétition du mot de passe pour être bien sûr

FIREWALL
    1 (=standalone) s'il s'agit d'un PC connecté directement au modem

** Summary of what you entered **
  …

    y si vous êtes satisfait du résumé, ou n pour l'améliorer.

2.3 Connexion à Internet

Le fichier de script /usr/sbin/adsl-start (utilisant le script /usr/sbin/adsl-connect) permet de lancer la connexion.

/usr/sbin/adsl-status permet de vérifier que la connexion a bien eu lieu, à condition de corriger la ligne 36:

PPPOE_PIDFILE="$PIDFILE.pppoe" doit être corrigé comme suit:
PPPOE_PIDFILE="$PIDFILE.start"

2.4 Déconnexion à Internet

Le script /usr/sbin/adsl-stop permet la déconnexion.

Lors des chipotages de la mise au point, plusieurs sessions pppd peuvent avoir été lancées, et une dernière bonne sera bloquée par les mauvaises précédentes. Quelques /usr/sbin/adsl-stop peuvent mettre de l'ordre.

3. Notes

3.1 L'application graphique

PPPOEGUI.RPM permet l'installation de l'application graphique tkpppoe (obligatoirement sous root?).
rpm -i PPPOEGUI.RPM

Le paramétrage se fait dans cette application, mais ne vous fiez pas à leur conseil de ne jamais indiquer indiquer le nom du fournisseur d'accès après votre login. Si votre login est toto@qqch.be, vous devez l'indiquer complet. "Ethernet Interface" sera ici également ADIModem (voir le point 2.2

3.2 Les fichiers de configuration

La configuration /usr/sbin/adsl-setup est contenue dans le fichier /etc/ppp/pppoe.conf, celle de tkpppoe dans le fichier /etc/ppp/rp-pppoe-gui/conf.xxx (xxx pour le nom de la connexion)

Les fichiers /etc/ppp/chap-secrets et /etc/ppp/pap-secrets contiennent les mots de passe de la connexion, avec ou sans guillemets. Il est parfois bon d'y faire le ménage, les chipotages pouvant alourdir ce fichier. La forme est:
nom_de_connexion  *  mot_de_passe_en_clair

/etc/ppp/resolv.conf contient les DNS de la connexion.

3.3 Mandrake 10.0 en 3 CD

N'espérez pas compiler le pilote usbadiadsl avec la version en trois CD de la Mandrake 10.0 distribuées par voie de presse au printemps 2004: les sources sont incompatibles avec celles du noyau 2.6.3 ; d'autre part, les sources du noyau 2.4.25 de la Mdk10.0 ne sont pas fournies sur lesdits CD.

D'autre part, si Harddrake a reconnu le modem, il n'a pas été capable de configurer la connexion (en essayant avec module CDCEther). Il semblerait que ce soit néanmoins à faire avant d'installer le nouveau pilote 1.96, disponible à http://eagle-usb.ath.cx/pub/article.php3?id_article=33.

3.4 À faire, à éclaircir...

1. La connexion se fait en mode super-utilisateur, est-ce vraiment nécessaire?

2. ifup suivi d'un descripteur d'interface m'a systématiquement retourné:
/sbin/ifup: configuration for <decripteur> not found.
usage: ifup <device name>

Bienvenue dans le monde du libre