Modem USB
Un article de Projet de documentation fug-fr .
Se connecter via un modem USB n'est pas toujours très facile sous FreeBSD. Une même méthode ne donne pas toujours les mêmes résultats selon les versions des drivers utilisés et / ou les versions de FreeBSD. Cette page propose une méthode pour le modem SAGEM Fast 800 ainsi que pour le modem ALCATEL Speedtouch USB 300 (raie verte) testés sous FreeBSD 6.X.
Sommaire |
[modifier] SAGEM Fast 800 E3 WA FR
[modifier] Configuration du noyau
Le driver uEagle de ce modem utilise le protocole NATM qui n'est pas inclus par défaut dans le noyau GENERIC. Afin de l'y inclure, vous devez donc éditer le fichier de configuration de votre noyau pour y ajouter les lignes suivantes :
options ATM_CORE # ATM core protocol options ATM_UNI # UNI signalling manager options ATM_IP # IPoA options NATM # native ATM sockets used by PPPoA device atm
Ceci fait vous devez bien sûr recompiler et installer votre nouveau noyau puis redémarrer votre système sur ce noyau.
[modifier] Driver et patch
Commencez par télécharger le driver uEagle 1.5 ainsi que le patch qui est nécessaire pour son utilisation sous FreeBSD 6.X:
driver ueagle-1.5.tgz: [[1]] patch eagleIII.diff.bz2: [[2]]
Admettons que vous ayez placé ces fichiers dans un répertoire tmp de votre répertoire personnel (~/tmp), rendez-vous maintenant dans ce répertoire pour décompresser ces fichiers et désarchiver le driver:
# cd ~/tmp # tar xzvf ueagle-1.5.tgz # bunzip2 eagleIII.diff.bz2
Toujours dans ce répertoire ~/tmp, vous pouvez maintenant patcher le driver:
# patch -u -p0 < eagleIII.diff
Ceci fait, vous pouvez vous rendre dans le répertoire ueagle afin de compiler puis d'installer le driver. Notez qu'ici la commande sudo est utilisée pour les opérations qui doivent nécessairement être faites en tant qu'administrateur (root). Si vous ne possédez pas cette commande sudo, faites donc ces opérations directement en tant que root.
# cd ueagle # make && sudo make install
Si tout s'est bien passé, vous pouvez normalement maintenant charger votre nouveau module ueagle.ko puis vérifier sa présence en mémoire:
# sudo kldload ueagle.ko # sudo kldstat
[modifier] Configuration
Afin que votre modem puisse fonctionner, il vous faut aussi éditer en tant que root votre fichier /etc/ppp/ppp.conf. Voici ce que doit contenir ce fichier:
default: set log Phase Chat LCP IPCP CCP tun command add! default HISADDR # Add a (sticky) default route set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 set login adsl: set log local CCP Command DNS IPCP LCP TCP/IP Warning set device PPPoA:ueagle0:8.35 # The VPI and VCI values provided by your ISP (in this example VPI=8 and VCI=35). set authname "votre login FAI" set authkey "votre mot de passe FAI" enable lqr enable dns disable ipv6cp set reconnect 10 100
Notez qu'ici VPI.VCI est égal à 8.35 ce qui convient par exemple pour la France. Bien sûr vous devez remplacer "votre login FAI" et "votre mot de passe FAI" par... ce que vous savez!
[modifier] Synchronisation
Si vous êtes en mode graphique, il est recommandé d'ouvrir une xconsole afin de pouvoir lire les message de débugage envoyés au système, ou de basculer sur les consoles texte afin de consulter ceux-ci.
Pour synchroniser votre modem vous devez simplement lancer le script adsl-up (en root ou avec sudo):
# sudo /usr/local/sbin/adsl-up
S'il s'affiche alors un message similaire à celui-ci eagleflash: Sorry, no pre-firmware modem found! débranchez puis rebranchez votre modem du port USB et relancez le script adsl-up comme précédemment. Après un court délai, vous devez voir s'afficher des messages proches de ceux-ci dans la console:
ueagle0: vendor 0x1110 ADSL-USB Modem, rev 1.00/50.0b, addr 2 ueagle0: End System Identifier: xx:xx:xx:xx:xx:xx
Le script adsl-up attend maintenant que le modem se synchronise. Cela peut demander un peu de temps et les diodes de votre modem doivent commencer à clignoter. Une fois la synchronisation terminée, le script adsl-up va afficher les propriétés de votre connexion sur la sortie standard, par exemple:
DSL Delineation : GOOD DSL DownRate : 6368Kb/s DSL UpRate : 640Kb/s
Vérifiez que les valeurs Downrate et Uprate sont correctes.
[modifier] Connexion et déconnexion
Maintenant que votre modem est synchronisé, vous pouvez utiliser la commande suivante (avec sudo ou en root) afin d'établir la connexion PPP avec votre fournisseur d'accès:
# sudo ppp -dedicated adsl
Si vous rencontrez des problèmes pour établir cette connexion, pensez à consulter les messages de ppp du fichier /var/log/ppp.log. Pour vous déconnecter vous pouvez simplement tuer le processus ppp en entrant:
# sudo killall ppp
[modifier] ALCATEL Speedtouch USB 300
En théorie l'utilisation de ce modem, la raie verte, ne devrait pas poser de problème sous FreeBSD puisqu'il existe le port net/pppoa dont voici la description:
% cat /usr/ports/net/pppoa/pkg-descr Unofficial support for Alcatel's Speedtouch USB devices. This driver is licensed under the GPL except for one restricted file: http://www.speedtouchdsl.com/disclaimer_lx.htm WWW: http://speedtouch.sourceforge.net/
Mais en pratique ce n'est malheureusement pas toujours le cas selon les versions de FreeBSD et du driver utilisées . Voici donc une méthode (qui admettrait diverses variantes) qui pourra vous dépanner si vous êtes confrontés à des difficultés. Cette méthode devrait aussi bien fonctionner avec le Speedtouch USB 330.
[modifier] Driver et firmware
Dans un répertoire créé pour l'occasion, commencez par récupérer une ancienne version du driver, speedtouch-1.1b.tar.gz. Vous la trouverez à partir de cette page http://www.xsproject.org/speedtouch/ ou plus simplement:
Driver 1.1b: http://www.xsproject.org/speedtouch/files/speedtouch-1.1b.tar.gz
Téléchargez aussi maintenant le firmware SpeedTouch330_firmware_3012.zip grâce au lien download Firmware situé au bas de cette page:
Firmware: http://www.speedtouch.com/driver_upgrade_lx_3.0.1.2.htm
Ceci fait désarchivez, compilez et installez les drivers (en root, au moins pour ce qui est de l'installation):
# tar -zxf speedtouch-1.1b.tar.gz # cd speedtouch-1.1b # ./configure && make && make install
Les fichiers modem_run ; pppoa2 ; pppoa3 devraient maintenant se trouver en /usr/local/sbin, il ne nous reste plus qu'à compléter avec le firmware:
# unzip SpeedTouch330_firmware_3012.zip # cp KQD6_3.012 /usr/local/libdata/
Si vous utilisez un modem Speedtouch USB 330, remplacez le firmware KQD6_3.012 par le ZZZL_3.012.
[modifier] Configuration
Celle-ci se fait par le fichier /etc/ppp/ppp.conf ; voici ce qu'il doit contenir:
default: ident user-ppp VERSION (built COMPILATIONDATE) set log Phase Chat IPCP CCP tun command adsl: set authname "votre login FAI" set authkey "votre mot de passe FAI" set device !"pppoa2 -vpi 8 -vci 35 -v 1 -d /dev/ugen0" accept chap set speed sync set timeout 0 enable lqr set lqrperiod 5 set redial 15 10000 set dial "" set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR enable dns
Notez qu'ici VPI est égal à 8 et VCI à 35 ce qui convient par exemple pour la France. Bien sûr vous devez remplacer "votre login FAI" et "votre mot de passe FAI" par... ce que vous savez!
[modifier] Synchronisation
Pour synchroniser votre modem, utilisez la commande:
# modem_run -v 1 -m -d /dev/ugen0 -f /usr/local/libdata/KQD6_3.012
Encore une fois, remplacez KQD6_3.012 par ZZZL_3.012 si vous avez un modem 330. Les diodes du modem devraient clignoter ; patientez un peu, un message proche de celui-ci devrait s'afficher:
Gotcha, I found your ADSL ALCATEL SpeedTouch USB modem! BLOCK1 : 991 bytes uploaded : OK BLOCK2 : 511 bytes downloaded : OK BLOCK3 : 762650 bytes uploaded : OK BLOCK4 : 511 bytes downloaded : OK Reference : 3EC 18607EAAB 01(see under your modem box) ADSL line is blocked? ADSL line is synchronising Received interrupts, len = 6 ADSL line is up, downstream at 1216 kbit/s, upstream at 160 kbit/s ADSL link goes UP
Ici vérifiez notamment que les valeurs downstream et upstream correspondent bien à votre connexion.
[modifier] Connexion et déconnexion
L'heure de vérité approche ; il ne vous reste plus qu'à vous connecter avec:
# ppp -ddial adsl
Un message similaire à celui-ci devrait s'afficher:
Working in ddial mode Using interface: tun0
Cela fonctionne ? Pour vous déconnecter, utilisez la commande:
# killall ppp
En cas de problèmes, tuez les processus, débranchez puis rebranchez le modem et recommencez...
[modifier] Note OpenBSD
Sous OpenBSD vous pouvez procéder de la même façon que sous FreeBSD, notez cependant les deux points suivants:
1. Vous pouvez utiliser une version plus récente (ou moins ancienne devrait-on dire) des drivers comme par exemple: speedtouch-1.3.1.tar.gz
2. Si vous utilisez make la compilation se terminera ("échouera") par des messages d'erreurs mais les deux binaires modem_run et pppoa2 seront tout de même correctement compilés et donc utilisables. Si vous le pouvez utilisez donc de préférence gmake avec lequel la compilation devrait se terminer sans message d'erreur.

