Objet
Etudier la mutualisation ou au moins le rapprochement des drivers pour modems USB ADSL.
Les avantages induits sont les suivants :
- documentation
- changement de version de kernels : les mêmes soucis sont rencontrés
- code commun : soit pour l'USB, soit pour la gestion du firmware
- solutions communes : connaissance des problèmes liés à certains FAI, passage en GPL (en dépit des volontés des fabricants qui vont à l'encontre de l'interopérabilité des systèmes)
Audience
Développeurs des drivers de modems USB ADSL
Intégrateurs de distribution qui doivent gérer plusieurs paramétrages pour prendre en compte chaque type de modem
Utilisateurs qui voudraient voir se simplifier la configuration et l'utilisation
Toute personne intéressée par le fonctionnement des modems adsl
Approche utilisateur
D'un point de vue utilisateur, pour accéder à son FAI, il y a 2 sortes de modems USB ADSL, ceux interfacés en ATM, ceux interfacés en ethernet.
Certains modems ont 2 firmwares différents disponibles (un pour l'interfaçage ATM, l'autre pour ethernet, par exemple le driver officiel conexant pour Olitec V3 est ethernet, le driver libre cxacru est ATM (et dérivé étroitement du speedtch kernel mode, l'utilisation du driver ATM, plus petit en mémoire fait perdre l'accès au modem par l'interface web).
Quand un modem est interfaçé ATM, il n'y a pas besoin de passer au module un paramétrage sur le protocole utilisé alors qu'avec un modem ethernet, il faut nécessairement passer ce paramêtre, pour permettre de supporter le PPPoA par exemple.
Voir
DocumentationFonctionnalites pour se mettre d'accord sur tout ce qui est pris en compte
See
http://www.hystedjp.pwp.blueyonder.co.uk/ for informations about Speedtouch 330
Mutualisation
- code
- documentation
- autre ?
Comparaison de la structure des drivers
Utilisation de
http://openweb.eu.org/articles/tableaux_css/ et
http://www.la-grange.net/2003/06/04.html#css pour la mise en forme
Comparaison technique et organisationnelle des pilotes de modems ADSL USB
critère/pilote | eagle-usb | ueagle | eciadsl | speedtouch | unicorn |
objet | Driver linux eagle-usb modem usb puces Eagle I & II | driver BSD puce Eagle I & II | 2 drivers différents Programme usermode Linux EciAdsl, pour les modems USB ADSL équipés de puce Globespan Module encore assez experimental | 2 drivers différents Programme user mode : mature Module : intégré au kernel depuis 2.4.22 | 2 modules différents |
démarré le | 2002-11-03 | 2003-07-20 | 2001-06-15 | 2001-03-01 | |
licence | GPL | BSD | GPL | GPL | propriétaire |
fabricant | chipset eagle-usb - Analog | chipset eagle-usb - Analog | Globespan | Thomson (anciennement Alcatel) | STmicro |
versions | stable 2.0.0 dév cvs | stable 1.4 dév cvs | stable 0.10 dév 0.11 | user mode 1.3.1 Module V1.8 | 0.8.7 |
fonctionnement | module kernel + usermode | module kernel + usermode | usermode + binaire issu sniffing USB | usermode ou module + firmware propriétaire | 2 modules, un eth, l'autre ATM |
interface | eth | ? | TUN et TAP | usermode :bridged en PPPoE module : ATM | ATM ou eth |
modems supportés | http://faq.eagle-usb.org/wakka.php?wiki=ModemSupport : sagem fast800 / PE / E2 / fast908 / Comtrend CT-350 / CT-361 / AT AR 210 / 215 | sagem fast800 / PE / E2 / fast908 / Comtrend CT-350 / CT-361 / AT AR 210 / 215 | Modems USB ADSL avec chipset Globespan GS7070 ou GS7470 | Speedtouch USB / Speedtouch 330 / Octal A360 | Bewan |
FAI fournissant ces modems | Free, Tiscali, 9 telecom, Cegetel | Free, Tiscali, 9 telecom | 9 telecom, Arachnet, Bell Canada, Bezeq International, Bharti telenet Ltd, Bluewin, British Telecom, China Telecom, Club Internet, Deutsche Telekom, Dishnet DSL, Easynet, Etisalat, Freedom2surf, IdecNET, Libero, Openweb, Pacific Internet, Pipex UK, Planet Internet, Sapo Adsl, Singnet, Skynet, Spray, Sunrise, Telecom Italia, Tiscali, Telstra, Telkom, Wanadoo, World online | Wanadoo, AOL, ... | Tele 2 |
site(s) | utilisateur : doc forum faq dev : ML/archives cvs/cvsweb wiki | utilisateur : doc forum faq
| utilisateur : doc forum faq
| usermode driver website / kernel mode website | |
langues(s) site(s) | doc/faq/forum : http://www.eagle-usb.org Anglais Espagnol Allemand | http://bsd.eagle-usb.org | doc/faq : Français, Anglais, Italien, Espagnol, Portugais | Anglais, Français | |
distribs intégrant le driver | Mandrakelinux, Debian | ? FreeBSD voire NetBSD ? | ? | Mandrakelinux, Debian, Fedora, KLA | |
=> faire un tableau : licence, modems, distributions, type de FAI (pppoa, dégroupé), commandes principales (start, stop), script reconnexion, fonctionnalités spécifiques....
Intéressant :
FlashTux? a recensé tous les modems (ou presque) qu'il supporte ou non :
http://eciadsl.flashtux.org/modems.php
Notamment, pour USR 9000 : c'est de l'adiusbadsl donc ils doivent être plantés maintenant avec le 2.6 ;-)) c'est l'occasion de les relancer...
Couverture des fonctionnalités par pilote
Tableau croisé fonctionnalité / driver
Comparaison des fonctionnalités des drivers de modems ADSL USB
fonctionnalité / pilote | eagle-usb | ueagle | eciadsl | speedtouch |
Types de connexions ADSL gérées | PPPoA VCMux / PPPoA LLC / PPPoE Routed IP ... bah j'y comprends rien (identifie les ISP possibles, est-ce dépendant des fonctionnalités du modem ?), tout ce qui est possible est géré, les 6 modes "connus" | PPPoA VCMux, Routed IP, Bridged IP | pppoeci (usermode) | ? |
Modes de connexions gérés | pppd/pppoa pppoe (avec pppd ?) rp-pppoe (bientôt) dhclient / dhcpcd (bientôt pump) / static | pppoa (user ppp) | VCM_RFC2364, LLC_RFC2364, LLC_SNAP_RFC1483_BRIDGED_ETH_NO_FCS, VCM_RFC_1483_BRIDGED_ETH, LLC_RFC1483_ROUTED_IP, VCM_RFC1483_ROUTED_IP | ? |
commandes lancement / arrêt + config / statut | startadsl stopadsl eagleconfig eaglestat eaglediag | adsl-up eaglectl eagleflash eagle_ipoa eagle_pppoa | v0.1 > 0.9: startmodem / - / - v0.10 et +: eciadsl-start / eciadsl-stop / - | ? |
interface graphique / fonctionnalités | EagleConnect connexion / infos | KEagle infos | eciadsl-config-tk installation | ? |
langues(s) installation | doc/faq/forum : Français Anglais Espagnol Allemand Polonais Grec Italien | Français, Anglais | Anglais | ? |
Problématique de licences
Je retiens qu'on a le droit de "pomper" son code si on le signale mais qu'il ne peut pas "pomper" le nôtre ? même si c'est l'eaglediag par exemple ou le
ModemConnect? ? ça resterait un truc à part.
=> mais si on prend des parties de son code, il restera sous licence BSD ou on peut passer en GPL?
Alors sans rentrer dans le détail mais en restant précis : la GPL a la particularité d'être un peu "gluante", c'est-à-dire que tout ce qu'elle touche a tendance à se GPLiser. D'où la réserve à intégrer du GPL dans du code sous licence BSD (qui est un peu moins contraignante).
Concrètement : partout où on "pompe" une partie substantielle, il faut l'encadrer par "licence BSD". Rien n'empêche de faire pareil pour du code sous licence GPL à intégrer à un prog' sous licence BSD (c'est du libre tout ça), simplement ça a tendance à étendre la GPLisation ;-) J'espère avoir été clair. C'est pour ça que ça va être un peu plus facile pour la doc', même s'il faut préserver le droit d'auteur. --
BenoitAudouard
mais ensuite quand tu fais un paquet, il tombe en dual-licence, c'est un peu dommage :-/ --
OlivierBorowski
Il y a une bonne discussion sur wikini.net du même sujet (voir les commentaires)
http://www.wikini.net/wakka.php?wiki=LicenceWikiNi&show_comments=1
Donc l'important c'est de préserver les headers, il n'y a pas de souci à tout distribuer dans un même paquet (va falloir que je mette à jour mes headers moi...). Pour préciser ce que je disais : ce qui est GPL reste avec du code source disponible, ce qui est BSD risque d'être intégré à du logiciel propriétaire et tu risques de perdre la visibilité sur le code source (arg, mais pas forcément...)
Autres pilotes USB ADSL
voir
http://sourceforge.net/users/jcomas/
http://linuxdrivers.foundries.sourceforge.net/ linux drivers foundry