Ce document va vous guider dans l'installation des drivers GPL de Benoît Papillault pour les modems SpeedTouch USB et SpeedTouch 330 fabriqués par Thomson (précédemment Alcatel) sur un système GNU/Linux.
Récupérez la version la plus récente
    des drivers sur le site du projet »»
    SourceForge ««
    
Ce que vous voulez récupérer, c'est le microcode qui est fourni avec les drivers de Thomson. Vous avez deux possibilités :
Il se présente sous la forme :
Attention:
Contentez vous de télécharger les drivers Thomson 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)
Les drivers de Benoît 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 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 opérationnel (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 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
Les drivers fonctionnent a partir de la version 2.3.11 de pppd (la version la plus vieille a notre disposition pour les tests)
NB : Si vous utilisez un noyau 2.4.x vous devez utiliser un pppd 2.4.x. Les noyaux 2.2.x quant à eux fonctionnent avec des pppd 2.3.x et pppd 2.4.x sans problemes connus.
Vous procederez en 2 temps :
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.
    
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
    !
      
      <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)
    
      
      <M> PPP (point-to-point protocol) support
      (CONFIG_PPP)
       <M> PPP support for sync tty ports
      (CONFIG_PPP_SYNC_TTY)
    # 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
NB : Ce patch a été intégré dans le noyau 2.4.18, il n'est donc pas nécessaire de patcher un noyau dont la version est supérieure (ou egale).
Voila, compilez ensuite ces modules pour votre kernel :
      Character devices --->
       [*] Non-standard serial port support
       <M> HDLC line discipline support
       [*]Unix98 PTY support
    
    # 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.
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
# 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.
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-------------------
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--------------
     #
     #
     # This file could be rename but its place is under
    /etc/ppp/peers
     # To connect to Internet using this configuration file
     # pppd call adsl updetach, where "adsl" stands for the name of this
    file
     #
    
     debug
     kdebug 1
     noipdefault
     defaultroute
     pty "/usr/local/sbin/pppoa3 -m 1 -c -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------------------
Si pour des raisons inconnues, pppoa3 echouait, vous pouvez toujours
    vous rabattre sur l'ancienne version du daemon pppoa2.
    Il suffit de changer la ligne pty "/usr/local/sbin/pppoa3 -m 1 -c -vpi
    8 -vci 35" par pty "/usr/local/sbin/pppoa2 -vpi 8
    -vci 35"
    Pour plus d'informations sur pppoa3/2, tapez "man
    pppoa3/2".
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/sbin/pppoa3 -m 1 -c -vpi 8 -vci 35"
- 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--------|----|-------------|----|--------
    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.
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ù ...
    Sachez que pour lancer la connection il faut être
    loggué sous le user "root", c'est obligatoire (enfin
    presque).
    # 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
# modem_run -f /le_bon_chemin/vers/mgmt.o
     ou
     # modem_run -f /le_bon_chemin/vers/alcaudsl.sys
# pppd call adsl updetach
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.
    
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.
Serveur : irc.freenode.net
     Channel : #speedtouch
    
     Les nicks connus:
    
     benoit : Benoît PAPILLAULT
     francois : François ROGLER
     GomGom : Edouard GOMEZ
|  |