La documentation la plus à jour - en anglais - se trouve ici :
UeagleAtmDoc [en]
Désactivation de eagle-usb
Assurez-vous que le module eagle-usb ne se charge pas lorsque vous branchez le modem : cela se voit par un
tail -f /var/log/messages lancé dans une fenêtre terminal en root par
su - et en débranchant / rebranchant le modem.
eagle-usb est désactivé ajoutant la ligne suivante dans
/etc/modprobe.conf :
blacklist eagle-usb
une autre méthode plus radicale est d'effacer le module du noyau (à revérifier à chaque changement de noyau) :
rmmod eagle-usb # pour le décharger de la mémoire
find /lib/modules/`uname -r` -name "eagle-usb.ko*" -exec rm {} \; # pour l'effacer du disque
puis débrancher / rebrancher le modem pour vider sa mémoire
Téléchargement et installation du driver de noyau
Ces étapes dépendent de la version de ueagle-atm, voir
UeagleATMVersionsFr.
Voir
http://eagleedgy.c-webhosting.org/installationSagem.html pour Debian GNU/Linux et dérivés comme Ubuntu Linux
Installation du firmware
Il vous faut installer un firmware et un fichier CMV.
Dans le doute, contentez-vous de télécharger
ueagle-data-1.1.tar.gz.
Pour les utilisateurs de gentoo, un ebuild est disponible :
http://www.gentoo-portage.com/net-dialup/ueagle-atm
puis le décompresser :
$ tar xzf ueagle-data-1.1.tar.gz
$ cd ueagle-data-1.1
Vous devez trouver le chemin utilisé par votre distribution pour le firmwares (le dossier existe probablement déjà) :
-
/lib/firmware pour celles qui utilisent udev
-
/usr/lib/hotplug/firmware pour celles qui utilisent hotplug (essayer
$grep "FIRMWARE_DIR=" /etc/hotplug/firmware.agent pour trouver le chemin).
Créer un dossier ueagle-atm dans le dossier des firmwares.
Par exemple sous debian:
$ mkdir -p /usr/lib/hotplug/firmware/ueagle-atm
et copiez-y tous les fichiers du dossier
ueagle-data-1.1 :
$ cp -a * /usr/lib/hotplug/firmware/ueagle-atm
Dans la plupart des cas, l'installation de firmware est effectuée. Malgré tout, selon votre FAI (surtout en Allemagne, Suède, Tchéquie, Italie, Espagne et Suisse) vous pouvez avoir besoin de fichiers de firmware spéciaux.
Les symptômes d'un problème de firmware DSP ou CMV sont que le modem n'arrive pas à se synchroniser sur la ligne, et que des diodes du modem clignotent sans qu'il y ait de connexion pour autant. Si cela vous arrive après avoir chargé le driver, revenez voir ici.
Dans le répertoire de firmware vous devez avoir:
- le firmware USB : EagleI.fw, EagleII.fw et EagleIII.fw
- le firmware DSP : DSPxy.bin
- le fichier CMV : CMVxy.bin
-
remarques pour des réglages avancés
Il y a aussi des CMV paramétrés pour certains FAI (par exemple CMVepES.bin)
Voir
http://faq.eagle-usb.org/wakka.php?wiki=InfoCMVEn [en] pour plus de détails.
Les indices xy dans les noms de fichiers correspondent à:
x - le type de chipset :
e - EAGLE
9 - ADI930
y - le type de ligne téléphonique :
p - POTS : ligne analogique (c'est à dire une ligne téléphonique 'normale')
i - ISDN : ligne numérique (ce qu'en France on nomme aussi ligne Numéris)
Par exemple DSPei.bin est le firmware du DSP d'un modem qui utilise un chipset eagle, et qui est branché sur une ligne Numéris.
Le driver choisit automatiquement le fichier approprié au chipset et à la ligne téléphonique.
Mais il peut vous arriver d'avoir besoin de fichiers spéciaux. Des fichiers d'exemples peuvent être téléchargés depuis le site de
Sagem
Des utilitaires de manipulation de firmware sont disponibles
http://svn.gna.org/viewcvs/ueagleatm/trunk/firmware-utils/.
Ils sont également fournis dans le tarball ueagle-data-src-1.1.tar.gz
Pour extraire des fichiers du driver Windows de Sagem, utiliser le script
extract_win32_firmware
Si vous avez besoin d'un CMV personnalisé vous pouvez éditer le CMV*.txt fourni dans le driver eagle-usb ou dans le driver Windows de Sagem
et générer un fichier CMV.bin en faisant:
buildcmv MON_CMV_A_MOI.txt MON_CMV_A_MOI.bin
Vous pouvez forcer le driver à envoyer les commandes CMV personnalisées au modem si vous utilisez
MON_FICHIER_A_MOI en paramètre du module.
Par exemple:
$ cp MON_CMV_A_MOI.bin /usr/lib/hotplug/firmware/ueagle-atm
$ modprobe ueagle-atm cmv_file=MON_CMV_A_MOI.bin
De même, si vous avez besoin de code spécial pour le DSP, vous pouvez fabriquer un fichier DSP.bin en partant d'un bnm fourni par ADI/sagem grâce à
bnm2dsp.
Exemple:
$ bnm2dsp isdn/rt*bnm DSPei.bin
En revanche, il n'est pas possible de charger un tel fichier DSP par le biais d'un paramètre de module. Pour l'utiliser, il faut donner à ce fichier le nom de celui utilisé par le driver,
en fonction de votre chipset et de votre ligne téléphonique. Pour obtenir cette information, faites:
$ cat /sys/bus/usb/drivers/ueagle-atm/*0/*
ou en utilisant le programme stats disponible à
http://svn.gna.org/viewcvs/ueagleatm/trunk/ueagle-utils/debug/
....
Driver version: ueagle-svn $Id: ueagle.c 141 2005-09-03 20:12:24Z matc $ Chipset:
Eagle II
Vendor ID : 0x1110 Product ID : 0x9021 Rev: 0x500b(
pots)
....
Vous devrez alors copier ce fichier DSP dans le répertoire de firmware:
$ cp DSPei.bin /usr/lib/hotplug/firmware/ueagle-atm
Test du driver
Essayez de charger le module ueagle-atm pour voir :
$ modprobe ueagle-atm
Si dans dmesg apparaît quelque chose comme ça:
usb 1-2: [ueagle-atm] modem operational
usb 1-2: [ueagle-atm] ATU-R firmware version : 43e2ead7
... c'est que ça marche :)
Vous pouvez aller directement à la section "Paramétrage de la connexion internet".
Si vous obtenez une erreur:
- "FATAL: module ueagle-atm not found"
ça signifie que l'installation du driver ueagle-atm a échoué, vous devez alors vérifier que le driver est bien présent dans l'arborescence du votre noyau.
$ find /lib/modules/`uname -r` | grep ueagle-atm
- "FATAL: Error inserting usbatm (/lib/modules/2.6.14-rc1-mm1/extra/usbatm.ko): Unknown symbol in module, or unknown parameter (see dmesg)"
il se peut que vous ayez à recompiler votre noyau (ou du moins, recompiler des modules de noyau) parce qu'il vous manque certains modules (voir plus bas).
Une autre cause possible de ce type d'échec est une incompatibilité de sous-version de module:
- ueagle-atm et usbatm ne sont pas de la même version
Vérifier si ueagle-atm.ko and usbatm.ko sont de la même version.
$ dmesg
...
ueagle_atm: disagrees about version of symbol usbatm_usb_probe
ueagle_atm: Unknown symbol usbatm_usb_probe
ueagle_atm: no version magic, tainting kernel.
Dans ce cas, essayez de forcer le chargement du module au moyen de l'option -f
$ modprobe -f ueagle-atm
Si cela échoue également, vous avez vraiment besoin de recompiler votre noyau.
Nous vous conseillons de ne pas utiliser "Module versioning support (EXPERIMENTAL)".
Pour que le driver ueagle-atm fonctionne correctement, vous avez besoin des modules atm.ko and firmware_class.ko, qui correspondent à "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)" et "Hotplug firmware loading support" dans la configuration de compilation du noyau.
Bien entendu, la prise en charge de l'USB et de TCP/IP dans les fonctions réseau doivent être compilées également (et beaucoup d'autre choses).
Des modules supplémentaires seront indispensables pour une connexion réussie alors ne lancez pas la compilation tout de suite et lisez tout d'abord le paragraphe "Paramétrage de la connexion internet".
Vous aurez des indications supplémentaires sur la manière de configurer le noyau avec prise en charge du driver ueagle-atm en allant voir ici: [
UealgeAtmOtherModules];
-
Affichage de statistiques
$ cat /sys/bus/usb/drivers/ueagle-atm/*0/*
ou utiliser le script
stats disponible à :
http://svn.gna.org/viewcvs/ueagleatm/trunk/ueagle-utils/debug/
installer ueaglediag dans le même répertoire (/root par exemple), au besoin rendre ces fichiers exécutables par
cd /root ; chmod +x ueaglediag stats
Lancer ./ueaglediag il affichera toutes les informations aidant au diagnostic (version de kernel, modules chargés, stats, ...)
Si vous avez un modem connecté, vous pouvez obtenir son adresse MAC en tapant
cat /proc/net/atm/ueagle-atm\:0 (1 pour un deuxième modem)
ADSL-USB Modem (usb-0000:00:1d.0-1)
MAC: 00:60:4c:3b:2b:21
AAL5: tx 0 ( 0 err ), rx 0 ( 0 err, 0 drop )
Line state unknown
Paramétrage de la connexion internet
Cette étape vous permet de configurer votre accès à internet.
Le type de connexion dépend de votre FAI, et il existe trois méthodes différentes:
- PPP over ATM (PPPoA)
- PPP over Ethernet (PPPoE)
- Routed IP (ou encore Classical IP over ATM, clip, ipoatm)
Les valeurs pour VPI / VCI sont donnée par votre fournisseur d'accès Internet. Certaines valeurs de chacun des FAI sont listées ici :
http://faq.eagle-usb.org/wakka.php?wiki=ListConfigADSL.
Votre noyau doit avoir été compilé avec les prises en charge suivantes:
- PPP (point-to-point protocol) support
- PPP support for async serial ports
- PPP support for sync tty ports
- PPP Deflate compression
- PPP BSD-Compress compression
- PPP over ATM
Il vous faut le paquet ppp avec le plugin pppoatm.
Le modem étant branché, il s'agit ensuite de configurer ppp. Créez un fichier ueagle-atm dans /etc/ppp/peers, en prenant pour exemple le modèle suivant:
# exemple de configuration pour un driver PPP over ATM en espace noyau
#
# Voir la man page pppd(8) pour avoir le détail sur toutes les options.
# A MODIFIER: remplacer mon_nom_utilisateur@bidon par le nom de login PPP que vous a communiqué votre fournisseur d'accès.
# Il doit y avoir une entrée correspondante avec le mot de passe dans /etc/ppp/pap-secrets et/ou dans /etc/ppp/chap-secrets.
user "mon_nom_utilisateur@bidon"
# Charger le plugin PPPoA avec le couple VP.VC communiqué par votre FAI.
# VP et VC doivent être en décimal et non pas en hexa comme dans le cas du driver eagle-usb !
plugin pppoatm.so 8.35
# Activez cette option si votre FAI utilise PPPoA avec une encapsulation LLC.
#llc-encaps
# Suppose que le FAI attribuera une adresse IP dynamiquement.
noipdefault
# Tenter de récupérer les adresses de DNS chez le FAI
usepeerdns
# Utiliser cette connexion comme route par défaut
defaultroute
# Forcer pppd à "renuméroter" en cas de déconnexion
persist
# Ne pas demander une authentification distante
noauth
N'oubliez pas de modifier /etc/ppp/pap-secrets et /etc/ppp/chap-secrets.
Une fois que la configuration est correcte, il faut lancer:
$ modprobe pppoatm
$ pppd call ueagle-atm
Pour vérifier que la connexion est établie:
$ ifconfig
... doit afficher quelque chose du genre:
ppp0 Link encap:Point-to-Point Protocol
inet addr:83.30.157.107 P-t-P:213.25.2.202 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:2019 errors:0 dropped:0 overruns:0 frame:0
TX packets:2025 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:724078 (707.1
KiB?) TX bytes:184065 (179.7
KiB?)
Vous aurez besoin du paquet br2684ctl pour debian.
Dans votre noyau vous avez besoin de la prise en charge des protocoles RFC 1483/2684 Bridged
Le modem étant branché, chargez le module br2684:
# modprobe br2684
il vous faut créer une interface ethernet avec br2684ctl. Dans la plupart des cas (interface atm unique) il suffit de faire:
# br2684ctl -c 0 -e x vpi.vci
Où:
- x=0 quand l'encapsulation est du type LLC
- x=1 quand elle est du type VC mux
Les valeurs de vpi et vci vous sont communiquées par votre FAI.
Par exemple en France
# br2684ctl -c 0 -b -a 8.35
br2684ctl[18144]: Interface "nas0" created sucessfully
br2684ctl[18144]: Communicating over ATM 0.8.35, encapsulation: LLC
br2684ctl[18144]: Interface configured
Il faut ensuite configurer cette interface: affecter une adresse IP et un masque de sous-réseau (vous pouvez aussi affecter une adresse Ethernet MAC au besoin)
# ifconfig nas0 up
L'interface ethernet "nas0" est alors prête à être utilisée. Vous pouvez par exemple lancer adsl-start pour faire démarrer rp-pppoe.
Une autre possibilité consiste à adapter le script suivant pour le faire coller à ce qu'attend votre FAI (changer le nom et le mot de passe):
# exemple de configuration pour un driver PPP over Ethernet en espace noyau
#
# Voir la man page pppd(8) pour avoir le détail sur toutes les options.
# A MODIFIER: remplacer mon_nom_utilisateur@bidon par le nom de login PPP que vous a communiqué votre fournisseur d'accès.
# Il doit y avoir une entrée correspondante avec le mot de passe dans /etc/ppp/pap-secrets et/ou dans /etc/ppp/chap-secrets.
user "mon_nom_utilisateur@bidon"
# Chargement du plugin PPPoE
plugin rp-pppoe.so
# Interface Ethernet à laquelle le modem est raccordé
nas0
# Suppose que le FAI attribuera une adresse IP dynamiquement.
noipdefault
# Tenter de récupérer les adresses de DNS chez le FAI
usepeerdns
# Utiliser cette connexion comme route par défaut
defaultroute
# Forcer pppd à "renuméroter" en cas de déconnexion
persist
# Ne pas demander une authentification distante
noauth
Après avoir renommé ce script /etc/pppoe.conf, une simple invocation de:
# pppd file /etc/pppoe.conf
devrait établir la connexion.
Votre noyau doit avoir été compilé avec l'option "Classical IP over ATM"
Le modem étant branché, commencez par vérifier que le démon atmarpd est actif. Si ce n'est pas le cas, lancez atm à la main avec:
/etc/init.d/atm start
Si ça ne marche toujours pas, faites:
atmarpd -b
Créez l'interface IP appropriée en faisant:
# atmarp -c 0
# ifconfig atm0
atm0 Lien encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
[PAS INDICATEURS] MTU:9180 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Il faut ensuite configurer l'interface atm en utilisant ifconfig. Vous devez faire figurer l'adresse IP que votre FAI vous a attribuée. Par exemple:
# ifconfig atm0 $MON_ADRESSE_IP netmask 255.255.255.0 mtu 1500
Ensuite il faut configurer le démon atm arp, et pour cela vous devez faire figurer l'adresse IP de votre passerelle.
S'il s'agit d'une encapsulation LLC alors faites:
# sudo atmarp -s $ADRESSE_IP_DE_LA_PASSERELLE vpi.vci
S'il s'agit d'une encapsulation VC mux, faites:
# sudo atmarp -s $ADRESSE_IP_DE_LA_PASSERELLE vpi.vci null
Les valeurs de vpi et vci vous sont communiquées par votre FAI.
Pour terminer, vous devez établir une route par défaut à votre passerelle:
# sudo route add default gw $ADRESSE_IP_DE_LA_PASSERELLE
Et tout doit fonctionner (pensez à entrer les DNS dans votre /etc/resolv.conf).
Prise en charge du DHCP
Vous pouvez essayer CECI
Des modifications seront probablement nécessaires pour que ça marche avec un noyau récent (2.6.9 et ultérieur). Si vous y arrivez par cette méthode, faites-le nous savoir.
C'est très similaire au patch qui fonctionnait avec le noyau 2.6.8:
Hi,
I made this patch in order to use dhcp with routed ip.
I work with the br2684ctl utility and could not be load as the same time
than br2684 (they use the same proc file!!!)
I have to make an ugly hack in order to support dhcp version from isc
than send raw frame in ethernet format. This could be very buggy...
I have only tested VC mux mode.
Have you got some comments ?
Matthieu CASTET
[NDT]
Je comprends rien 8( mais je propose ceci:
Salut,
J'ai fait ce patch pour pouvoir utiliser dhcp en "Routed IP". Je travaille avec l'utilitaire br2684ctl et on ne peut pas le charger en même temps que br2684 (ils utilisent tous les deux le même fichier proc!!!)
J'ai dû faire un hack immonde pour fournir la version dhcp d'isc et ensuite envoyer des trames brutes en format ethernet. Ce sera probablement très buggé...
J'ai seulement testé le mode VC mux.
Des commentaires ?
Matthieu CASTET
[/NDT]
LE SUIVANT NE MARCHE PAS VU QUE LE PATCH EST FAIT POUR UN NOYAU 2.4
Si vous voulez utiliser dhcp, vous devrez patcher votre noyau. Cette méthode est sûrement moins efficace que la précédente vu que dans ce cas le noyau doit fabriquer une fausse interface ethernet (ajout et suppression d'un en-tête).
Issu d'une doc pulsar pci (http://sourceforge.net/projects/openadsl)
Si vous envisagez d'utiliser du "Routed IP", vous devrez patcher votre noyau et utiliser une version différente de br2684ctl disponible ICI
Pour patcher le noyau, remplacez les fichiers suivants par ceux du lien précédent...
/usr/src/linux/include/linux/atmbr2684.h
/usr/src/linux/net/br2684.c
Notes :
(1) N'oubliez pas de recompiler votre noyau.
(2) Utilisez '-p 0' en ligne de commande de br2684ctl pour obtenir la fonction "routed" ou bien '-p 1' pour obtenir la fonction "bridged".
A la suite de quoi il devrait suffire d'utiliser dhcp sur l'interface ethernet créée en s'inspirant de la démarche du paragraphe PPPoE.
Pour plus d'information, vous pouvez jeter un oeil à la description de sk_buff
Suite obsolète/redondante? A voir plus tard après avis
ATTENTION: Document en construction, à ne pas suivre; destiné uniquement pour l'édition.
Installation du pilote ueagle-atm
Ueagle-atm est un nouveau pilote pour les modems a base d'un chipset Eagle, déstiné aux noyaux récents de Linux, c'est à dire à partir de la versions 2.6.10. Il permet de remplacer le pilote eagle-usb qui dans sa version stable n'est plus compatible avec les versions 2.6.13 et supérieures du noyau Linux. Il convient pour http://faq.eagle-usb.org/wakka.php?wiki=ModemSupport que eagle-usb.
Ce document a pour but de vous guider pas à pas pour installer ce pilote.
Prérequis
Avant de vous y lancer, vous devez peut-être effectuer quelques réglages de votre système et télécharger tout ce qui vous sera utile.
Le noyau
Commenceons par là, c'est une étape importante à ne pas sauter. Vous avez deux coix: soit installer Ueagle-atm en dur dans votre noyau, soit de le compiler en tant que module. Dans ce document nous n'allons traiter que la deuxième solution, n'hésitez pas à modifier ce texte pour proposer d'autres chemins. Toutefois la configuration du noyau reste la même.
Les choix des modules dans la configuration du noyau dépend de votre type de connexion internet:
- PPP over ATM (PPPoA)
- PPP over Ethernet (PPPoE)
- IP over ATM (IPoA)
Pour configurer votre noyau, en tant que root, placez-vous dans /usr/src/linux et exécutez menuconfig:
# cd /usr/src/linux
# make menuconfig
Si vous savez ce que vous faites, vous pouvez dériver de la configuration ci-dessous, ici un choix « universel » est proposé.
Dans tous les cas
Vérifiez que les modules suivants sont séléctionnés:
Networking
>
Networking options
>
[M] Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
[M] Classical IP over ATM (EXPERIMENTAL)
[ ] LAN Emulation (LANE) support (EXPERIMENTAL)
[M] RFC1483/2684 Bridged protocols
Device Drivers
>
Generic Driver Options
>
[*] Select only drivers that don't need compile-time external firmware
[*] Prevent firmware from being built
[M] Userspace firmware loading support
Device Drivers
>
USB support
>
[M] Support for Host-side USB
[M] EHCI HCD (USB 2.0) support
[M] ISP116X HCD support
[M] OHCI HCD support
[M] UHCI HCD (most Intel and VIA) support
Maintenant rééditez la configuration en fonction de votre type de connexion.
Pour PPPoA
Device Drivers
>
Network device support
>
[M] PPP (point-to-point protocol) support
[ ] PPP multilink support (EXPERIMENTAL)
[ ] PPP filtering
[ ] PPP support for async serial ports
[ ] PPP support for sync tty ports
[M] PPP Deflate compression
[M] PPP BSD-Compress compression
[ ] PPP MPPE compression (encryption) (EXPERIMENTAL) (NEW)
[ ] PPP over Ethernet (EXPERIMENTAL)
[M] PPP over ATM
Pour PPPoE
Networking
>
Networking options
>
[M] Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
[ ] Classical IP over ATM (EXPERIMENTAL)
[ ] LAN Emulation (LANE) support (EXPERIMENTAL)
[M] RFC1483/2684 Bridged protocols
Pour IPoA
Networking
>
Networking options
>
[M] Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
[M] Classical IP over ATM (EXPERIMENTAL)
[ ] LAN Emulation (LANE) support (EXPERIMENTAL)
[ ] RFC1483/2684 Bridged protocols
Recompiler le noyau
Une fois la configuration términée, enregistrez-la et recompilez votre noyau. Referrez-vous à la documentation de votre distribution si vous n'êtes pas sûr de la procédure à suivre.
# make && make modules_install
# cp arch/i386/boot/bzImage /boot/nom_du_noyau
# cp System.map /boot/nom_image_map_du_noyau
Téléchargement des fichiers nécessaires
Maintenant que votre système est prêt, il vous faudra télécharger le pilote lui-même ainsi que les fichiers de configuration. Il existe des versions différentes, nous en choisirons une tout à l'heure.
Il est peut-être également intéressant d'avoir la documentation sous la main, si paradoxalement vous n'aurez pas de connexion Internet lors de l'installation de ce pilote. Alors imprimez-la ou enregistrez-la quelque part.
Choix de la version du pilote
Voir uEagleATMVersionsFr pour connaître les versions actuellement disponibles, leur description et eventuellement les télécharger.
Compiler et installer