
                            SpeedTouchUSB-HOWTO
             avec les drivers Open Source de Benoit Papillault

                                                                Auteurs :
                                    Sylvain Trias [1]bozo_fr@caramail.com
                                     Edouard Gomez [2]ed.gomez@wanadoo.fr
                                   Bernard Brandl [3]brandl@tuxfamily.org
                                                                        [
                                Dernieres Modifications : 7 Octobre 2001]

Sommaire

    1. [4]Introduction
    2. [5]Requis
         1. [6]Installation/Configuration
         2. [7]Le noyau
         3. [8]Les drivers de Benoit
         4. [9]Pppd
    3. [10]Lancement de la connexion
    4. [11]Trouver de l'aide (supplmentaire)
   ______________________________________________________________________

Introduction

   Ce document est un guide dcrivant la procdure d'installation des
   drivers du Speedtouch Alcatel sous GNU/Linux.
   ______________________________________________________________________

  Requis:

     * Les drivers de Benoit
     * Le microcode du modem fourni par Alcatel
     * Un noyau assez recent (2.4.x de prfrence mais les 2.2.x
       fonctionnent aussi)
     * Une version de pppd rcente (>= 2.3.11)

      Tlcharger les drivers de benoit

   Rcuprez la version la plus rcente des drivers sur le [12] Site 
   de Benot
   Le fichier se nomme speedtouch-2001xxxx.tar.gz (format de la date
   aaaammjj)

      Tlcharger le microcode du modem Alcatel

   Ce que vous voulez rcuprer, c'est le microcode qui est fourni avec
   les drivers d'Alcatel. Vous avez deux possibilits :

   Il se prsente sous la forme :
     * D'un fichier mgmt.o dans le package GNU/Linux
     * D'un fichier alcaudsl.sys dans le package WindowsTM

   (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 :
    [13]http://www.alcatel.com/consumer/dsl/dvrreg_lx.htm

   Attention:

   Contentez vous de tlcharger les drivers Alcatel et de les
   dcompresser. Ne suivez surtout pas la procdure d'installation de ces
   drivers. En effet ces drivers nous sont uniquement ncessaires pour
   rcuprer 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 srie 2.4.x du noyau linux, il
   est possible d'utiliser les drivers avec les 2.2.18 et suprieurs car
   le code USB provient de la serie 2.4.x.

   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 oprationnel (c'est le cas du noyau
   distribu avec la Linux Mandrake 8.x, RH 7.x, Debian
   Potato/Woody/Sid). Il est toutefois conseill de compiler son propre
   noyau pour des raisons que je ne peux expliquer dans ce guide, donc
   ds que vous vous sentez suffisament  l'aise avec votre systme
   GNU/Linux n'hsitez  compiler un noyau personalis. De plus cette
   compilation permettra de rparer un bug dans un module du noyau Linux
   qui empche une reconnection automatique en cas de coupure.

   Pour Resumer :

     Si vous installez un nouveau noyau, prenez de prfrence le plus
     rcent. En effet, le support usb va en s'ameliorant.


    Url pour recuprer les sources du noyau Linux :
    [14]http://www.kernel.org

   NB : essayez d'viter le noyau 2.4.5 qui a une fcheuse tendance 
   swapper continuellement

      Version de pppd

     Les drivers fonctionnent a partir de la version 2.3.11 de pppd (la
     version la plus vieille a notre disposition pour les tests)
   ______________________________________________________________________

Installation/Configuration :

   Vous procederez en 2 temps :
     * Votre noyau
     * Pppd

  Configuration du noyau

   Pour faire fonctionner les drivers , votre noyau doit avoir au moins
   un certain nombre de modules. Procdez 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 dtails techniques trop pousss, 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 mre, 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 matriel 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 intgrer 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 dlicate, en effet pour permettre la
   reconnection, il faut patcher ce module.
   Pas d'inquitude 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 trs simple. Dcompressez l'archive
   des drivers grce  la commande :

   # tar xvzf speedtouch-xxx.tar.gz

   Placez vous dans le repertoire nouvellement cre et tapez les
   commandes suivantes :

   # ./configure && make

   Si tout s'est bien pass, logguez vous sous root et procdez a
   l'installation en tapant :

   # make install

   Flicitations les drivers doivent maintenant tre installs sur votre
   systeme.

  Cration des devices PPP

   Placez vous dans le repertoire /dev :

   # cd /dev

   Vrifiez la prsence 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 --version.

   Les drivers ont t test avec pppd 2.4.0 et 2.4.1. Les drivers
   fonctionnent aussi avec des versions plus anciennes, par exemple la
   2.3.11 fournie avec la Debian Potato GNU/Linux.

   Pour configurer pppd, vous devez diter 4 fichiers.

    1er fichier

   Vous possdez 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 :

   Crez un fichier /etc/ppp/peers/adsl :

   # mkdir /etc/ppp/peers
   # touch /etc/ppp/peers/adsl

   Copier/coller ce qui suit sans les marquages de dbut et de fin de
   fichier

   -------------------Debut du fichier /etc/ppp/peers/adsl--------------
   #
   #
   # 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------------------

   Notez bien que depuis quelques temps deja, une nouvelle version de
   pppoa nomme pppoa3 est fonctionnelle. Vous pouvez donc changer la
   ligne pty "/usr/local/bin/pppoa2 -vpi 8 -vci 35" par pty
   "/usr/local/bin/pppoa3 -c -m 1 -vpi 8 -vci 35"
   Pour plus d'informations sur pppoa3, tapez "man pppoa3".

   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 :

     * le VPI : Virtual Path ID
     * le VCI : Virtual Circuit ID

   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 utiliss par les fournisseurs d'accs
   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 systme
   /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 entres sont inutiles mais mieux vaut les avoir au
   cas o ...
   ______________________________________________________________________

  Lancement de la connection

   Pour lancer la connection, il faut:
     * Charger le microcode du modem
     * lancer pppd

   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
   chargs (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 :

   # modprobe usbcore
   # mount -t usbdevfs none /proc/bus/usb
   # modprobe usb-uhci ou usb-ohci ou uhci

      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 vrifions en
   tapant :

   # ifconfig ppp0

   Si ifconfig vous dtaille la l'interface rseau ppp0, bravo vous venez
   de vous connecter pour la premire fois au net grce  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 ?

  Les MAN pages

   N'hesitez pas a vous servir des man pages, les developpeurs ne les
   ecrivent pas pour rien :-)
   man pppoa2, man pppoa3, man modem_run peuvent vous apporter les
   informations qui vous manquent.

  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 Franais et en
   Anglais sont accepts, mais pas en HTML.

   Tout d'abord, lisez [15]l'archive de cette liste de diffusion avant de
   vous inscrire. Votre problme a peut-tre dj une solution. Pour vous
   inscrire  la liste de diffusion, envoyez un message 
   [16]speedtouch-request@ml.free.fr avec subscribe comme sujet.

  IRC

   Si vous prfrez une aide directe ou souhaitez discuter du design du
   driver, il y a un channel pour vous. Les discussions sont parfois trs
   actives ou parfois tout le monde dort. Attention, le franais et
   l'anglais sont mlangs.

   Serveur : irc.openprojects.net
   Channel : #speedtouch
   Les nicks connus:
   benoit : Benoit PAPILLAULT
   francoiss : Franois ROGLER
   GomGom : Edouard GOMEZ

   [17]La page de Benoit PAPILLAUT

Rfrences

   1. mailto:bozo_fr@caramail.com
   2. mailto:ed.gomez@wanadoo.fr
   3. mailto:brandl@tuxfamily.org
   4. SpeedTouch-HOWTO-fr.html#intro
   5. SpeedTouch-HOWTO-fr.html#requis
   6. SpeedTouch-HOWTO-fr.html#install
   7. SpeedTouch-HOWTO-fr.html#noyau
   8. SpeedTouch-HOWTO-fr.html#drivers
   9. SpeedTouch-HOWTO-fr.html#pppd
  10. SpeedTouch-HOWTO-fr.html#connec
  11. SpeedTouch-HOWTO-fr.html#aide
  12. http://benoit.papillault.free.fr/speedtouch/user.html
  13. http://www.alcatel.com/consumer/dsl/dvrreg_lx.htm
  14. http://www.kernel.org/
  15. http://www.mail-archive.com/speedtouch@ml.free.fr
  16. mailto:speedtouch-request@ml.free.fr
  17. http://benoit.papillault.free.fr/speedtouch/
