SpeedTouchUSB-HOWTO
avec les drivers Open Source de Benoit Papillault

Auteurs :
Sylvain Trias bozo_fr@caramail.com
Edouard Gomez ed.gomez@wanadoo.fr
Bernard Brandl brandl@tuxfamily.org


Dernieres Modifications : 7 Aout 2001

Sommaire

  1. Introduction
  1. Requis
  1. Installation/Configuration
    1. Le noyau
    2. Les drivers de Benoit
    3. Pppd
  2. Lancement de la connexion
  3. Trouver de l'aide (supplémentaire)

Introduction

Ce document est un guide décrivant la procédure d'installation des drivers du Speedtouch Alcatel sous GNU/Linux.


Requis:

Télécharger les drivers de benoit

Récupérez la version la plus récente des drivers sur le »» Site «« de Benoît
Le fichier se nomme speedtouch-xxxx2001.tar.gz

Télécharger le microcode du modem Alcatel

Ce que vous voulez récupérer, c'est le microcode qui est fourni avec les drivers d'Alcatel. Vous avez deux possibilités :

Il se présente sous la forme :

(si votre modem marche sous windows, pas besoin d'aller chercher l'archive linux, prenez le dans c:\windows\system).

Les pilotes GNU/Linux sur le site d'Alcatel : http://www.alcatel.com/consumer/dsl/dvrreg_lx.htm

Attention:

Contentez vous de télécharger les drivers Alcatel et de les décompresser. Ne suivez surtout pas la procédure d'installation de ces drivers. En effet ces drivers nous sont uniquement nécessaires pour récupérer le microcode du modem (cad un programme qui est chargé dans le modem lors de son initialisation, et qui est responsable de son fonctionnement)

Note sur les versions des noyaux

Les drivers de Benoit marchent avec la série 2.4.x du noyau linux, il est possible d'utiliser les drivers avec les 2.2.18 et supérieurs mais il faut alors les patcher plus sévérement. Ce qui pour les moins expérimentés d'entre vous peut représenter un problème.

Si vous n'êtes pas familier avec la compilation d'un noyau Linux, ne vous inquietez pas trop il est fort probable que votre distribution soit installé avec un kernel opérationnel (c'est le cas du noyau distribué avec la Linux Mandrake 8.0 et peut être d'autres). Il est toutefois conseillé de compiler son propre noyau pour des raisons que je ne peux expliquer dans ce guide, donc dès que vous vous sentez suffisament à l'aise avec votre système GNU/Linux n'hésitez à compiler un noyau personalisé. De plus cette compilation permettra de réparer un bug dans un module du noyau Linux qui empêche une reconnection automatique en cas de coupure.

Pour Resumer :

Si vous installez un nouveau noyau, prenez de préférence le plus récent. En effet, le support usb va en s'ameliorant.

Url pour recupérer les sources du noyau Linux : http://www.kernel.org

NB : essayez d'éviter le noyau 2.4.5 qui a une fâcheuse tendance à swapper continuellement

Version de pppd
Les drivers fonctionnent a partir de la version 2.4.0 de pppd


Installation/Configuration :

Vous procederez en 2 temps :

Configuration du noyau

Pour faire fonctionner les drivers , votre noyau doit avoir au moins un certain nombre de modules. Procédez donc à sa configuration en faisant attention de respecter ce qui est indiqué ci dessous en plus de vos propres besoins habituels.

Support de l'usb

Il faut que votre kernel supporte bien evidemment l'USB pour pouvoir profiter du modem Alcatel Speedtouch USB.

Selon votre controlleur USB, il faudra choisir entre 2 types de modules: UHCI ou OHCI.
Sans rentrer dans des détails techniques trop poussés, sachez qu'il s'agit de 2 normes USB incompatibles entre elles.
C'est pourquoi il est obligatoire de savoir quel type de bus USB vous utilisez.

Pour connaitre le chipset USB sur votre carte mère, tapez :

# lspci -v | grep USB

Vous obtiendrez une ligne du genre :

usb-ohci : CMD technologies Inc|USB0670
usb-uhci : USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])

Si votre controleur utilise le norme OHCI, Linux ne vous permettra d'utiliser votre matériel USB qu'à travers le module usb-ohci.
Par contre s'il utilise la norme UHCI, Linux vous propose 2 choix, à savoir : usb-uhci ou uhci. Si par un malheureux hasard votre controleur USB fonctionne mal avec l'un des modules UHCI, tentez d'utiliser le second ; on ne sait jamais !

Options a valider pour intégrer le support USB dans le noyau :

<M>/<*> Support for USB (CONFIG_USB)
<*> Preliminary USB device filesystem (CONFIG_USB_DEVICEFS)
<M> UHCI (Intel PIIX4, VIA, ...) support (CONFIG_USB_UHCI)
<M> UHCI Alternate Driver (JE) support (CONFIG_USB_UHCI_ALT)
<M> OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support (CONFIG_USB_OHCI)

Support ppp

Vous avez besoin du support ppp au sein de votre kernel. Si besoin, compiler ces drivers:

<M> PPP (point-to-point protocol) support (CONFIG_PPP)
<M> PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY)

Support HDLC

Cette partie est un peu plus délicate, en effet pour permettre la reconnection, il faut patcher ce module.
Pas d'inquiètude cependant. Au sein de l'archive des drivers, vous trouverez de quoi appliquer le patch, faites :

# 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 le programme patch, tapez cette commande pour effectuer le patch du source :

#patch -p1 < /repertoire des drivers/n_hdlc.c.diff

Voila, compilez ensuite ces modules pour votre kernel :

Character devices --->

[*] Non-standard serial port support
<M> HDLC line discipline support [*]Unix98 PTY support

Mise en place des drivers

La mise en place des drivers est très simple. Décompressez l'archive des drivers grâce à la commande :
# tar xvzf speedtouch-xxx.tar.gz

Placez vous dans le repertoire nouvellement crée et tapez les commandes suivantes :
# ./configure && make

Si tout s'est bien passé, logguez vous sous root et procédez a l'installation en tapant :
# make install

Félicitations les drivers doivent maintenant être installés sur votre systeme.

Création des devices PPP

Placez vous dans le repertoire /dev :
# cd /dev

Vérifiez la présence des devices ppp :
# ls *ppp*

Si vous avez une liste de fichiers passez a la suite, sinon tapez cette commande :
# ./MAKEDEV ppp

Configuration de pppd

Verifiez la version de pppd installé sur votre systeme en tapant :

# pppd -v.

Les drivers ont été testé avec pppd 2.4.0 et 2.4.1. Si vous possédez une version plus ancienne et que vous observez des disfonctionnements, n'hésitez pas a upgradez votre pppd.

Pour configurer pppd, vous devez éditer 4 fichiers.

1er fichier

Vous possédez normalement un fichier /etc/ppp/options, ouvrez le pour l'éditer et ne gardez que ces 4 lignes dans ce fichier (commentez avec un # les lignes superflues).

-----------------Debut du fichier /etc/ppp/options------------------
usepeerdns
noauth
lock
noipdefault
-----------------Fin du fichier /etc/ppp/options-------------------

2eme fichier :

Créez un fichier /etc/ppp/peers/adsl :
# mkdir /etc/ppp/peers

# touch /etc/ppp/peers/adsl

Copier/coller ce qui suit sans les marquages de début et de fin de fichier

-------------------Debut du fichier /etc/ppp/peers/adsl--------------
# 12/04/2001 Benoit PAPILLAULT
# 08/05/2001 Updated. Added "novj" & removed "kdebug 7"
#
# This file could be rename but its place is under /etc/ppp/peers
# To connect to Internet using this configuration file
# pppd call adsl, where "adsl" stands for the name of this file

debug
kdebug 1
noipdefault
defaultroute
pty "/usr/local/bin/pppoa2 -vpi 8 -vci 35"
sync
user "votre_login_ici"
noauth
noaccomp
nopcomp
noccp
novj
holdoff 4
persist
maxfail 25
usepeerdns
------------------Fin du fichier /etc/ppp/peers/adsl------------------

En france, nous disposons du VCI 35 et duVPI 8 mais il se peut que vous deviez changer leur valeur, c'est dans ce fichier que vous devez le faire.
Pour cela, modifiez les parametres dans la ligne pty "/usr/local/bin/pppoa2 -vpi 8 -vci 35"

Notes sur le VCI/VPI [juste pour info, passez a la suite si vous etes presses ;^) ] :
Vu que la connexion passe par ATM, 2 parametres de connexions nouveaux apparaissent :

A quoi ca sert ?
Bonne question; ca sert a identifier votre connexion de chemin virtuel (VP)et votre connexion de circuit virtuel (VC). C'est pour la commutation des cellules que ces parametres servent a l'operateur.
Cela permet (entre autre) de simplifier la gestion du reseau, de minimiser les delais d'ouverture des connexions et les topologies.
En Gros, on peut voir ca comme cela:

VC--------|----|-------------|----|--------
VC--------| VP |             | VP |--------
VC--------|----| Transmition |----|--------
               |    Path     |
VC--------|----|             |----|--------
VC--------| VP |             | VP |--------
VC--------|----|-------------|----|--------

3eme fichier :

Sur internet 2 protocoles sont utilisés par les fournisseurs d'accès pour identifier ses utilisateurs : CHAP ou PAP.
Selon le protocole utilisé par votre fournisseur, éditez /etc/ppp/chap-secrets ou /etc/ppp/pap-secrets.

Le fichier se presente comme suit :

-------------------Debut du fichier /etc/ppp/chap-secrets-------------------
# client server secret IP addresses
"votre_login_ici" "*" "votre_password_ici" "*"
-------------------Fin du fichier /etc/ppp/chap-secrets-------------------

Sachez que Wanadoo utilises le protocole CHAP.

4eme fichier :

Ouvrez /etc/modules.conf (ou selon l'ancienneté de votre système /etc/conf.modules) et rajouter les lignes suivantes :

alias char-major-108  ppp_generic
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-13 n_hdlc
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate

Certaines de ces entrées sont inutiles mais mieux vaut les avoir au cas où ...


Lancement de la connection

Pour lancer la connection, il faut:
Sachez que pour lancer la connection il faut être loggué sous le user "root", c'est obligatoire (enfin presque).

Verifications

Assurez vous que tous les modules prenant en compte l'usb soient chargés (s'ils ne sont pas en dur dans le noyau) :

# modprobe ppp_generic
# modprobe ppp_synctty
# modprobe n_hdlc

Ensuite, verifier que le usbdevfs soit monté : # mount /proc/bus/usb

Charger le microcode
Pour charger le microcode il suffit de taper :

# modem_run -m -f /le_bon_chemin/vers/mgmt.o
ou
# modem_run -m -f /le_bon_chemin/vers/alcaudsl.sys

Lancer pppd
Ccommande avant d'être connecté :

# pppd call adsl

Attendez quelques secondes (~ 20 secondes maximum) et vérifions en tapant :

# ifconfig ppp0

Si ifconfig vous détaille la l'interface réseau ppp0, bravo vous venez de vous connecter pour la première fois au net grâce à ces drivers. Si vous n'êtes vraiment pas chanceux et que ifconfig vous donne un message d'erreur, consultez donc la section suivante pour trouver une aide suplementaire.


Ou trouver de l'aide ?

Mailing-list

Si vous cherchez de l'aide de la part d'autres utilisateurs comme vous (l'auteur des drivers est aussi inscrit sur cette liste). Cette liste de difussion est pour vous, vous pouvez discuter de tous les sujets autour du modem SpeedTouch USB (hors sujet : Windows, partage de la connexion, configuration du DNS, ...). Les messages en Français et en Anglais sont acceptés, mais pas en HTML.

Tout d'abord, lisez l'archive de cette liste de diffusion avant de vous inscrire. Votre probléme a peut-être déjà une solution. Pour vous inscrire à la liste de diffusion, envoyez un message à speedtouch-request@ml.free.fr avec subscribe comme sujet.

IRC

Si vous préférez une aide directe ou souhaitez discuter du design du driver, il y a un channel pour vous. Les discussions sont parfois trés actives ou parfois tout le monde dort. Attention, le français et l'anglais sont mélangés.

Serveur : irc.openprojects.net
Channel : #speedtouch

Les nicks connus:

benoit : Benoit PAPILLAULT
francoiss : François ROGLER
GomGom : Edouard GOMEZ

La page de Benoit PAPILLAUT