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