How-to pour le driver Linux du modem ECI USB

Bertrand Rougier, Thierry De Baere, Florent Manens, Benoît Papillault


Table des matières

1 Introduction

1.1 A qui s'adresse ce document ?

Ce document s'adresse à tous les possesseurs du modem ADSL ECI USB voulant l'utiliser sous Linux. Vous trouverez la dernière version de ce documents sur le site : http://eciadsl.sourceforge.net/.

1.2 Conventions

Lors des exemples de commandes à taper au niveau du shell, les commandes à exécuter en tant qu'utilisateur normal sont précédées de $ et les commandes à exécuter en root sont précédées de #.

2 Configuration requise

Assurez vous d'abord que vous possédez un noyau Linux de version supérieure ou égale à 2.4.7-10

Distributions où le driver fonctionne :

Distributions où le driver ne fonctionne pas :

Cette liste n'est pas exhaustive. Si vous parvenez à vous connecter avec une autre distribution ou avec un noyau plus ancien, n'hésitez pas à nous contacter.

3 Procédure d'installation (à ne faire qu'une seule fois)

Référence : archive usermode-X.Y.tgz présente sur http://eciadsl.sourceforge.net/, section Downloads.

3.1 Préparation du driver

Connectez vous en tant que root puis tapez :

$ cd usermode
$ make
$ make install

Il arrive parfois que le modem soit allumé quand vous démarrez votre ordinateur, cela est du au module dabusb, il faut l'enlever pour pouvoir installer le driver et faire fonctionner le modem.

Tapez les commandes suivantes en remplaçant VERSION par la version de votre noyau Linux : 1

rm -f /lib/modules/VERSION/kernel/drivers/usb/dabusb.o.gz 2
depmod -a

Si vous voulez éviter un redémarrage :

3.2 Configuration de votre noyau (optionnel)

Si vous voulez utiliser l'option 'persist' de pppd afin que votre connexion se reconnecte automatiquement, alors, il faut patcher votre noyau ou utiliser un noyau >= 2.4.18-pre3. Vous trouverez le patch n_hdlc.c.diff au sein de l'archive des drivers speedtouch : http://speedtouch.sourceforge.net/. Voici les instructions pour l'utiliser :

$ cd /usr/src/linux
$ patch -p1 --dry-run < /repertoire des drivers/n_hdlc.c.diff  ( il y a 2 tirets avant dry-run )

Si aucun message d'erreur n'est renvoyé par la commande patch, tapez ceci pour effectuer le patch du source :

$ cd /usr/src/linux
$ patch -p1 < /repertoire des drivers/n_hdlc.c.diff

Voila, compilez ensuite ces modules pour votre noyau :

$ cd /usr/src/linux
$ make menuconfig
     Character devices --->
     [*] Non-standard serial port support
     <M> HDLC line discipline support
     [*]Unix98 PTY support
$ make clean dep modules
$ make modules_install (as root)

3.3 Configuration de pppd pour l'ouverture de la connexion

   
3.3.1 Script /etc/ppp/peers/adsl :

Il vient avec l'archive usermode.tgz et se place avec le make install Il doit ressembler à ça :

# 12/04/2001 Benoit PAPILLAULT <benoit.papillault@free.fr>
# 08/05/2001 Updated. Added "novj" & removed "kdebug 7"
# 07/02/2002 Replace "maxfail 0" by "maxfail 10"
#
# This file could be rename but its place is under /etc/ppp/peers
# To connect to Internet using this configuration file, type
# pppd call adsl, where "adsl" stands for the name of this file

debug
kdebug 1
noipdefault
defaultroute
pty "/usr/local/bin/pppoeci -v 1 -vpi 8 -vci 35"
sync
user "adsl@adsl"
noaccomp
nopcomp
noccp
novj
holdoff 10

# maxfail is the number of times pppd retries to execute pppoeci after
# an error. If you put 0, pppd retries forever, filling up the process table
# and thus, making the computer unusable.
maxfail 10

usepeerdns
noauth
# You may need lcp-echo feature. But that's optionnal.
# lcp-echo-interval 600
# lcp-echo-failure 10

# You may need the following. But only as a workaround
# mtu 1432

   
3.3.2 A FAIRE :

- si vous êtes abonné wanadoo : remplacer :
  user "adsl@adsl"
  par :
  user " fti/votre_login@fti"
- si vous êtes abonné club-internet : remplacer :
  user "adsl@adsl"
  par :
  user "votre_login@clubadsl1"

ASTUCE sur certaines machines Linux :

Si vos premières connexions échouent, voyez dans /var/log/messages Si pppd s'arrête sur un message contenant LCP, alors faites cela :
dans /etc/ppp/peers/adsl : DE-commentez les 2 dernières lignes parlant de LCP.

3.3.3 Script d'authentification pppd

Votre mot de passe sera stocké dans un script d'authentification qui dépend de l'opérateur internet que vous utilisez :

Pour wanadoo : /etc/ppp/chap-secrets
Pour club-internet : /etc/ppp/pap-secrets

Les 2 scripts ont exactement la même syntaxe. Vous devez créer un ligne comme suit :

Pour wanadoo : fti/votre_login@fti * votre_password *
Pour club-internet : votre_login@clubadsl1 * votre_password *

ATTENTION :
- les "*" sont importants.
- le premier champ de la ligne DOIT être égal au contenu de la ligne user du fichier /etc/ppp/peers/adsl

4 Procédure de connexion

4.1 Manuelle (à reproduire à chaque connexion Internet)

C'est très simple, le script startmodem s'occupe de tout ou presque:

$ startmodem | tee log

ÇA NE MARCHE PAS : Si vous ne surfez pas après l'une de ces 3 procédures, voir chapitre [*].

4.2 Automatique au démarrage de Linux

A venir avec les futures versions du driver. Inutile tant que le driver est en Bêta.

4.3 Reprise automatique sur coupure

Le driver étant pour l'instant en version bêta, cette partie ne fonctionne pas de manière stable. Néanmoins, voici la procédure à suivre. Tout d'abord, assurez vous que le module HDLC n'est pas buggé, vous pouvez aisément faire cette vérification avec eci-doctor.sh. Ensuite, ajouter l'option persist au fichier /etc/ppp/peers/adsl. Relancer pppd et normalement, votre connexion devrait être opérationnelle 24h/24.

   
5 Problèmes connus et solutions

Le driver est livré avec un utilitaire de diagnostic des erreurs de configuration les plus courantes. Pour l'utiliser, allez dans le répertoire usermode de l'archive des drivers et lancez ./eci-doctor.sh.

# cd usermode
# ./eci-doctor.sh

Si tout est correct, vous aurez les messages suivants:

Support for USB is OK
Preliminary USB device filesystem is OK
UHCI support is OK
/dev/ppp is OK
HDLC support is OK
HDLC support is OK (no bug)
/etc/ppp/chap-secrets is OK
PPP connection is OK
Default route over ppp0 is OK
Everything is OK

Avant de contacter la liste de diffusion ou qui que ce soit, lisez ce qui suit. Sinon, n'oubliez pas de joindre le fichier log obtenu lors du lancement de startmodem.

A remplir : cela dépend de tout le monde : décrivez vos problèmes et les solutions que vous avez trouve sur la liste de diffusion eci@ml.free.fr Nous les incorporerons ICI.

5.1 La connexion PPP se fait bien, je vois ppp0 dans ifconfig, mais je ne vais pas sur Internet

5.1.1 Action 1 :

vérifier que vos DNS sont reconnus : dans /etc/resolv.conf 2 lignes sont présentes commençant par nameserver

A ce jour :

Chez wanadoo :

nameserver 193.252.19.3
nameserver 193.252.19.4

Chez club-internet :

nameserver 194.117.200.15
nameserver 194.117.200.10

Si ce n'est pas le cas, créer ces 2 lignes dans le fichier.

5.1.2 Action 2 :

faire : nslookup www.wanadoo.fr

si pas de réponse et que ppp0 est toujours la dans ifconfig :
Vous avez sûrement un problème de routage :
faire route -n, cela devrait donner une sortie du genre :

Destination Passerelle Genmask Indic Metric Ref Use Iface
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 212.194.0.1 0.0.0.0 UG 0 0 0 ppp0

La dernière ligne est importante, c'est la GATEWAY par défaut qui vous fais sortir sur Internet...

Si elle n'y est pas, pas de net, donc vous faite sur le shell:

# route add default dev ppp0

Et ça devrait marcher.

5.2 pppd s'arrête sur erreur : LCP timeout

Cas 1 : vous avez un problème de timeout sur la connexion PPP :

Éditez etc/ppp/peers/adsl

DE-Commentez les 2 dernières lignes :

lcp-echo-interval 600
lcp-echo-failure 10

Cas 2 : vous avez un problème d'authentification (PPP ne le dit pas toujours explicitement)

Corrigez vos scripts :

/etc/ppp/peers/adsl
et
/etc/ppp/chap-secrets (wanadoo) ou /etc/ppp/pap-secrets (club-internet)

=> retour aux chapitres : [*] et [*]

5.3 Vous avez ce message d'erreur : Can't find your ECI Telecom USB ADSL Loader

5.3.1 Message d'erreur

    [root@hwi usermode]# ./startmodem
    /proc/bus/usb: No such file or directory
    Can't find your ECI Telecom USB ADSL Loader
    ECI Load 1 : failed!
    /proc/bus/usb: No such file or directory
    Can't find your ECI Telecom USB ADSL WAN Modem
    ECI Load 2 : failed!

Si vois avez un message qui ressemble a ça, c'est que vous n'avez pas monté le système de fichier pour l'usb.

5.3.2 Solution

# mount -t usbdevfs none /proc/bus/usb

5.4 eci-load2 n'arrive pas a avoir la synchronisation // blocage au paquet 259

5.4.1 Problème

Le driver n'arrive pas a avoir la synchronisation, il faut alors le relancer.

5.4.2 Solution

Pour relancer le driver, nous vous conseillons de repartir du début en débranchant et en rebranchant le modem, il faut ensuite refaire : ./startmodem

5.5 Passer la patate (Debian patato) en noyau 2.4

C'est vrai que c'est un peu hors sujet mais ça peut aider ceux qui veulent tester le driver. Vous trouverez la documentation pour faire ceci a ces adresses :

http://www.fs.tum.de/~bunk/kernel-24.html

Bonne mise à jour!

6 Contacts

6.1 Liste de diffusion

Pour toute question, abonnez vous à la liste de diffusion de ce projet en envoyant un mail vide à eci-request@ml.free.fr avec comme sujet subscribe et postez ensuite vos remarques ou suggestions à eci@ml.free.fr.

6.2 IRC

Vous pouvez vous connecter sur le réseau OpenProjects.Net sur le channel #eci en utilisant le serveur irc.openprojects.net par exemple.

À propos de ce document...

How-to pour le driver Linux du modem ECI USB

This document was generated using the LaTeX2HTML translator Version 99.2beta8 (1.42)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -dir /home/papillau/c/eciadsl/sf-release-0-4/doc -nonavigation -noauto_link -ascii_mode -show_section_numbers -split 0 howto.tex

The translation was initiated by Benoit PAPILLAULT on 2002-02-08


Notes

... :1
(pour connaître la version du noyau tapez : uname -r)
... /lib/modules/VERSION/kernel/drivers/usb/dabusb.o.gz2
( ou rm -f /lib/modules/VERSION/kernel/drivers/usb/dabusb.o selon les distributions)


Benoit PAPILLAULT 2002-02-08