<!doctype linuxdoc system>

<!--

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Changelog:
081600 - created first version, including lucent info
081700 - change to mini-howto, reorganize somewhat
081900 - ESScom
082200 - Point to modem howto, add troubleshooting
082300 - Finally got info on PCTel.  The installation recipes
section can be combined for all of them, methinks.
082400 - Reorganization, refined combined installation recipes
082500 - ppp2214.o link, post-install and pctel, module alignment is discretionary
082800 - MarvS patches, cleanup, some FAQ entries
083100 - Werner Heuser's/Mobilix suggestions: 3Com MiniPCI RFC, older kernels, setserial, 
       - MarvS's fixscript cleanup
090300 - Pavel says open source lucent driver is no longer under development.
         Small other fixes.
092200 - Back to work:  add in fixed fixscript
                        fix up FAQ quite a bit
092800 - Added conexant section
       - added link to homepage for recent version
       - fixed second ESS link
       - fixscript fixed for esscom.  Not pretty; hope to have a cleaner version
         from Mark soon.
102000 - MarvS version with Mark ppp fix info 
110400 - fix info about tty.h patch
111500 - small fixes
112100 - MarvS version
113000 - Intel is Ambient is Cirrus: HaM; new Lucent package; big overhaul
120500 - overhaul nearly complete
022401 - updates
040101 - remove fixscript link to Mark's password-protected site
 -->


<article>


<title>Linmodem-HOWTO   <!-- insert your title here -->
<author>Sean Walbran <tt/sean(at)walbran.org/ and Marvin Stodolsky <tt/stodolsk(at)erols.com/
<date>v0.46, 1 April 2001           <!-- always have a version number
and a date -->
<abstract>                          <!-- the abstract: a short and precise description -->
<nidx>template</nidx>    <!-- add indexing keywords as you go along -->
                         <!-- nidx means the indexed word is not in output of main text, only in the index -->

Ce document décrit le support Linmodem (composant winmodem) sous
Linux. While such support is limited (almost exclusively
in the form of manufacturer-created, but unsupported, binary kernel modules),
the number of chipsets with some form of support is growing rapidly.

</abstract>

<!-- Table of contents -->
<toc>

<!-- Début du document -->


<sect>Introduction

<p>
<nidx>template!introduction</nidx>   <!-- here introduction is a sub entry of template, exclamationamrk is separator -->
Ceci est le Linux Linmodem HOWTO. Il a été écrit dans le but de
forunir une référence rapide pour vous aider à savoir s'il y a moyen
de faire fonctionner votre winmodem sous Linux, et dans ce cas de
quelle manière. You should understand
from the outset that there may well be <em>no</em> support for your winmodem:
there is limited support for such modems, often in the form of vendor-created
but vendor-unsupported, binary-only kernel modules (though a small number of open-source
projects exist).  
<p>
To emphasize: le meilleur paris sous Linux est <em>certainement</em>
de trouver la meilleure
configuration pour votre modem.
Dans le cas où vous seriez bloqué avec un winmodem, ce document pourrait vous être utile.
<p>
Pour la plupart des mises à jour des drivers des linmodems disponibles, 
allez sur  
<url url="http://www.idir.net/~gromitkc/winmodem.html#drivers" name="Rob Clark's site">,
<url url="http://walbran.org/sean/linux/stodolsk" name="our small resources page">,
et sur Linmodems.org
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi/1"  name="mailing list archives">.
General modem issues, such as IRQ settings and dialup scripts, are
dealt with much more thoroughly in the more general 
<url url="http://www.linuxdoc.org/HOWTO/Modem-HOWTO.html" name="Modem-HOWTO">,
<url url="http://www.linuxdoc.org/HOWTO/Serial-HOWTO.html" name="Serial-HOWTO">,
<url url="http://www.linuxdoc.org/HOWTO/PPP-HOWTO/index.html" name="PPP-HOWTO">,
and other related HOWTOs available at the <url url="http://www.linuxdoc.org/" 
name="Linux Documentation Project"> site and elsewhere.

<sect1>Copyright

<!--
This HOWTO is copyrighted 2000,2001 Sean Walbran, Marvin Stodolsky

Unless otherwise stated, Linux HOWTO documents are copyrighted by their
respective authors. Linux HOWTO documents may be reproduced and distributed
in whole or in part, in any medium physical or electronic, as long as
this copyright notice is retained on all copies. Commercial redistribution
is allowed and encouraged; however, the author would like to be notified of
any such distributions.

All translations, derivative works, or aggregate works incorporating
any Linux HOWTO documents must be covered under this copyright notice.
That is, you may not produce a derivative work from a HOWTO and impose
additional restrictions on its distribution. Exceptions to these rules
may be granted under certain conditions; please contact the Linux HOWTO
coordinator at the address given below.

The ideal situation would be that code for Linmodem drivers would be open-sourced,  
making this particular HOWTO completely unnecessary.  
This ideal being currently far from reality, we wish to promote dissemination 
of this information through as many channels as possible. 
However, we do wish to retain copyright on the
HOWTO documents, and would like to be notified of any plans to redistribute
the HOWTOs.

If you have questions, please contact
at linux-howto(at)metalab.unc.edu via email.

-->
<p>
Copyright (c) 2000,2001 by Sean Walbran, Marvin Stodolsky
<P>
Please freely copy and distribute (sell or give away) this document in
any format.  It's requested that corrections and/or comments be fowarded
to the document maintainer. You may create a derivative work and distribute
it provided that you:

<itemize>
<item>
Send your derivative work (in the most suitable format such as
sgml) to the LDP (Linux Documentation Project) or the like for posting
on the Internet.  If not the LDP, then let the LDP know where it is
available.
<item>
License the derivative work with this same license or use GPL.
Include a copyright notice and at least a pointer to the license used.
<item>
Give due credit to previous authors and major contributors.
</itemize>

  <P>
If you're considering making a derived work other than a translation,
it's requested that you discuss your plans with the current maintainer.



<sect1>Disclaimer
<p>

Use the information in this document at your own risk. We disavow any
potential liability for the contents of this document. Use of the
concepts, examples, and/or other content of this document is entirely
at your own risk.

All copyrights are owned by their owners, unless specifically noted
otherwise.  Use of a term in this document should not be regarded as
affecting the validity of any trademark or service mark.
In particular, since the term "Winmodem" is a trademark of US Robotics/3Com, 
we use the term "winmodem" here as does Rob Clark: to be read as "Winmodems(tm),
host-based modems, HCF-modems, HSP-modems, and all similar
modem-like hardware."  Linux is a trademark of Linus Torvalds.

Naming of particular products or brands should not be seen as endorsements.

It are strongly recommended to make a backup of important and/or
relevant files before any installation procedure.

<sect1>Credits
<p>
Most individual credits are given in the body of the text where appropriate.
<p>
A large amount of information contained in this document comes a variety
of great sources such as
<url url="http://www.idir.net/~gromitkc/winmodem.html" name="Rob Clark's site">,
the <url url="http://www.linmodems.org/" name="Linmodems.org">, 
mailing lists, and
Werner Heuser's <url url="http://mobilix.org" name="Mobilix"> pages.
<p>
Special thanks to Mark Spieth (mark(at)digivation.com.au) for
discussions, advice, and multiple and ongoing contributions.
<p>
This document itself was created using the SGML HOWTO template
created by Stein Gojen, as described in the 
<url url="http://www.linuxdoc.org/LDP/LDP-Author-Guide/index.html" name="HOWTO-HOWTO">.
site.
<p>
<sect1> Updates and Corrections
<p>
The most recent HTML version of this document is available at
<url url="http://walbran.org/sean/linux/linmodem-howto.html">,
as a single HTML file at
<url url="http://walbran.org/sean/linux/linmodem-howto-all.html">,
with source SGML at <url url="http://walbran.org/sean/linux/linmodem-howto.sgml">.
<p>
The old version of this document was getting huge and unwieldy, so this
rewrite seemed necessary.  To avoid the total loss of that information,
a copy of the old version is maintained at
<url url="http://walbran.org/sean/linux/linmodem-howto-old.html">.
<p>
Do you have a Linmodem which works, but is not described here?  Are you
developing a driver?  Do you think something in this document is incorrect
or misleading?  Do you think that your or someone else's work has been
used here but not appropriately credited?  Please don't hesitate to
email me at <tt/sean(at)walbran.org/ with corrections and suggestions. 
<p>
<!--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 -->


<sect>Linmodems
<p>
<sect1> Qu'est-ce qu'un Linmodem?
<p>
Un Linmodem c'est l'implémentation Linux d'un "winmodem" (voir le disclaimer).
Ces périphériques ne sont en quelque sorte pas des modems dans le sens où ils dépendent 
du logiciel à faire fonctionner, et dans une mesure plus ou moins large, 
des fonctions traditionnelles qu'accomplit un modem. Le raisonnement pour ceci est  
qu'un logiciel est moins cher qu'un nouveau matériel, et peut être
mis à jour/développé/amélioré sans utiliser un tournevis(//screwdrivers) 
(habituellement); cependant, pour que le modem 
fonctionne parfaitement, besoin est d'un logiciel qui fonctionne
sous son système d'exploitation préféré.
<p>
<sect1> Quels Linmodems sont supportés?
<p>
Un nombre croissant de winmodems fonctionne sous Linux.
Chaque chipset pour lequel un driver existe, a son installation
détaiilée dans une section spécifique, ci-dessous.
Tout autre chipset <em>n'a pas de support connu</em> sous Linux
(du moins, il ne nous est pas connu).
<p>

<sect1> Comment puis-je savoir si mon modem GeeWhiz 9.8.7 / Laptop possède un de ces chipsets?
<p>
<sect2> Obtenir des informations à partir du système
<p>

Pour trouver des renseignements sur le matériel installé, 
utilisez les commandes qui suivent:
<itemize>
<item> PCI: <tt> cat /proc/pci </tt> et <tt> lspci </tt>
<item> ISA: <tt> pnpdump </tt> et <tt> isapnp </tt>
<item> Internal PCMCIA: <tt> cardctl ident </tt>
<item> Général: <tt> dmesg | more </tt> et <tt> cat /proc/interrupts </tt>
</itemize>
<p>
MarvS fait remarquer que le Gestionnaire de Périphériques sous Windows peut fournir
des informatins similaires, mais on constate que, souvent, les fabricants mettent
uniquement leur marque sur un modem incorporé, ce qui n'est pas aussi utile
qu'on aurait pu l'epérer (e.g., Quel chipset un modem "Compaq Internal 56k" possède-t-il?).
Cependant, des informations supplémentaires peuvent parfois être obtenues en conservant
un fichier journal du modem, option disponible dans les Dial Up Networking menus en 
activant une case à cocher. Le fichier créé se trouve dans
<tt>C:\WINDOWS\MODEM.LOG</tt>. Il contiendra les données d'initialisation,
et avec un peut de chance le nom du fichier de configuration du modem, lequel pourrait aussi 
contenir d'autres informations utiles.
<p>
<sect2> Nom de modems et numéros d'indentification
<p>
Si vous connaissez le nom précis de votre modem, vous pouvez rechercher
le grand nombre de modems compatibles Linux(//the large Linux Modem Compatibility)
<url url="http://www.idir.net/~gromitkc/winmodem.html#Database" name="Database">
sur
<url url="http://www.idir.net/~gromitkc/winmodem.html" name="Rob Clark's site">.
La couleur ou la lettre sur le côté gauche du tableau indique si votre modem
est reconnu commme fonctionnant ou pas sous Linux. Les caractères "LM" désignent
un Linmodem, et les indications sur le modem vous renseigneront sur les driver
dont vous aurez besoin. Les caractères "WM" indiquent que vous avez à faire
avec un winmodem, et qu'il n'y a pas de support connu pour Linux.
N'allez pas croire que des modems avec le même nom contiennent forcément
le même chipset, ou qu'ils se comporteront de la même manière!
Votre WhizBang LX56 et son dérivé WhizBang GT56 peuvent être construit
tout à fait différemment. 
<p>
Si vous ne connaissez pas le nom précis de votre modem, vous pouvez le rechercher
à partir du numéro d'identification du modem (sur chaque modem doit être écrit
le numéro de régistation , sinon il doit y être 
écrit un numéro de production, ou, dans le dernier des cas, an FCC
registration number
Vous trouverez un exemple de photo d'un modem avec son numéro d'identification
sur
<url url="http://www.idir.net/~gromitkc/fcc1.jpg"> à partir de 
<url url="http://www.idir.net/~gromitkc/winmodem.html" name="Rob Clark's site">.)
Utilisez votre naviguateur et la fonction "Rechercher dans la page" ??to search his??
<url url="http://www.idir.net/~gromitkc/winmodem.html#Database" name="table">
de modems et d'identification FCC pour obtenir des informations sur chipset/driver.
Autrement vous pouvez directement rechercher dans la base de données de la Comission
américaine des communications fédérales à l'addresse suivante
<url url="http://www.fcc.gov/oet/fccid/">.
Lisez scrupuleusement les directives, et faîtes attention de ne pas confondre
O (la lettre) avec 0 (le chiffre), et ou d'autres caractères.
<p>
<sect2> Ordinateurs portables avec modem intégrés
<p>
Vous ne pourrez pas obtenir l'ID FCC si vous possédez un portable que vous préférez 
ne pas ouvrir, ou si vous comptez acheter un PC sur mesure
et que le vendeur ne vous en a pas fourni les informations ni une simple boîte que vous prenez à part.
Dans ces cas allez sur: 
<itemize>
<item>
Kenneth Harker's <url url="http://www.cs.utexas.edu/users/kharker/linux-laptop/"
name="Linux on Laptops"> 
site référençant un bon nombres de sites personnels parlant de leur expériences
avec Linux sur un PC portable sur mesure.
<item>
Werner Heuser's <url url="http://mobilix.org/modem_linux.html" 
name="Mobilix: Linux Modems"> and <url url="http://mobilix.org/minipci_linux.html"
name="Mobilix: Linux Mini-PCI">
pages contenant des de caractéristiques pour les portables avec modem interne and modem NIC, 
et également des trucs pour obtenir des informations au cas où le modem n'y serait pas repris.

<item> Le manuel et le site web du vendeur d'ordinateur, le support technique (quelle horreur!).
<item> <url url="http://www.google.com">
<p>
</itemize>
<p>
<!--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 -->
<sect> Configuration générale et lancement du module.
<p>

<sect1> Support du noyau pour les modules.
<p>
Tous les pilotes du noyau repris ici sont implémentés directement au noyau; par conséquent
vous devez être sûr d'avoir un noyau qui supporte les modules.

In addition, 
"module version" support should be enabled to aid the use of 
kernels and modules which are not version matched, as described further below.
Si vous utilisez un noyau d'une distribution Linux assez récente, les modules
sont vraissemblablement en état d'être supportés.
Si vous compilez votre noyau vous-même, vous devriez être capable d'activer 
le support des modules à l'aide du howto suivant: 
<url url="http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html" name="Kernel HOWTO">.  
Dans tous les cas, vous pouvez vérifier que les paramètres suivants figurent dans
le fichier de configuration de votre noyau
(qui se trouve généralement dans <tt>/usr/src/linux</tt>):
<verb>
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
</verb>
<p>

<sect1> ISA Plug-n-Play
<p>
Si vous possédez un modem ISA  compatible Plug-n-Play, vous utiliserez sûrement les outils
isapnptools pour assigner les ressources au modem.
Pour cela, isapnptools doit être installé et le fichier <tt>/etc/isapnp.conf</tt> doit
être configuré pour le modem. Vous pouvez lire les pages de manuel et ce howto 
<url url="http://www.linuxdoc.org/HOWTO/Plug-and-Play-HOWTO.html"
 name="Plug-and-Play-HOWTO">, 
 but if you have no other 
ISA devices you're concerned about, au fond tout ce que vous avez à faire c'est:
<enum>
<item> Si possible, configurez votre BIOS sur "Non-PNP OS."
<item> En root, lancez <tt>pnpdump</tt> pour générer le fichier isapnp.conf basé
sur la carte trouvée et sur la configuration actuelle de votre système
<item> Rechercher votre modem dans les messages, et enlevez les caractères
de commentaire au lignes qui correspondent port IRQ que vous voulez utilisez pour
le modem. Par exemple, le fichier <tt>isapnp.conf</tt> pour un Thinkpad i1411
Lucent LT modem contient:
<p>
<verb>
(CONFIGURE ACRd119/1 (LD 0                   
  (INT 0 (IRQ 11 (MODE +E)))                   
  (IO 1 (SIZE 8) (BASE 0x0100) (CHECK))       
  (NAME "ACRd119/1[0]{LT Win Modem        }") 
# (ACT Y)                                    
))                                           
</verb>
Curieusement, dans ce cas, il est nécessaire d'enlever le commentaire de 
<tt>#(ACT Y)</tt>. Si cela ne fonctionne pas dans un sens, essayez dans l'autre.
<item> Copiez le fichier vers <tt>/etc/isapnp.conf</tt>
<item> Redémarrez l'ordinateur. Vous devriez voir une ligne pendant le chargement
semblable à 'Initializing ISA PNP devices...OK'. Si cela échoue, vous avez probablement
sélectionner un canal IRQ/DMA qui est déjà en utilisation; essayez une autre option donnée
dans le message <tt>pnpdump</tt>.
(Notez que vous pourriez simplement lancer <tt>isapnp</tt> avec les bons drapeaux
(//with the right flags), au lieu de redémarrer.  Mais, à ce stade, il est plus facile pour un débutant
de redémarrer.)
</enum>
<p>

<sect1> Modems PCI
<p>   
Pour récolter des informations sur votre modem faites <tt>cat /proc/pci</tt>.
Les utilitaires comme <tt>pciutils</tt>, <tt>scanpci</tt> et <tt>lspci</tt>, fournis
dans les paquetages, sont interrssants aussi.
En particulier, <tt>lspci -vv</tt> donne des informations très utiles.
<p>

<sect1> Outils du module
<p>
Les commande suivantes sont utiles pour travailler avec les modules.
Beaucoup nécessitent les privilèges super-utilisateur. Consultez le
manuel
(e.g, <tt>man insmod</tt>) pour plus de détails sur ces commandes.
<p>
<sect2> insmod, insmod -f, et modprobe
<p>
Une module compatible avec le noyau peut généralement être inséré avec la commande
<tt>modprobe</tt> <em>module_name</em>; <tt>modprobe</tt> essayera
d'ajouter tous les modules dont votre module dépend (comme vous le 
montre la commande <tt>depmod</tt>, décrite ci-après). 
<p>
Un module peut être ajouté (sans inclure ceux dont il dépend) en
utilisant la commmande <tt>insmod</tt> <em>module_name</em>.
Si les modules ont été compilés sous une version du noyau différente
de la version courante, <tt>insmod</tt> vous fera savoir que la
version ne correspond pas et ne chargera pas le module. Dans ce cas,
<tt>insmod -f</tt> <em>module_name</em>, peut forcer le chargement du
module, sans tenir compte de la version du noyau. If the kernel interface the
module uses did not actually change with the kernel version, the
module will be inserted and could be to some degree functional.  
<p>
C'est le cas avec, par exemple, avec le module <tt>esscom.o</tt> du modem ESS qui quand 
il est compilé avec sous le noyau 2.2.12, peut être inséré en le forçant sur des noyau
ultérieurset fonctionnera plus ou moins sous le 2.2.14 sans changements; au-delà de 2.2.15,
le patch pour <tt>tty.h</tt>, décris plus bas, est requis. Toutefois, même en forçant 
l'insertion échoue pour les noyau 2.4.
<p>

<sect2> rmmod
<p>
Un module peut être retiré du noyau avec la commande <tt>rmmod</tt>.
<p>

<sect2> depmod
<p>
La commande <tt>depmod</tt> analyse les dépendences du module.
Pour contrôler les compatibilités avec un module précompilé, utilisez:
<verb>
   depmod -e ltmodem.o
</verb>
Par exemple pour le module ltmodem.o compilé sous un noyau 2.2.12 et utilisant
un 2.2.17 les informations retournées contiennent:
<itemize>
<item> depmod: *** Unresolved symbols in ltmodem.o
<item> depmod:  bh_mask
<item> depmod:  schedule_timeout
<item> depmod:  request_region
<item> depmod:  pcibios_read_co
<item>  et beaucoup d'autres.
</itemize>
Utiliser un module avec des symboles non résolus peut être dangereux, comme décris
ci-après.
<p>

<sect> Trucs et astuces pour des modules précompilés utilisant différentes versions du noyau. 
<p>
Beaucoup de pilotes de linmodem sont seulement disponible précompilés, modules en binaires.
Généralement, modules/binaires fonctionnent uniquement avec les versions du noyau sous lequel
ils ont été compilés. C'est pourquoi, faire fonctionner votre pilote précompilé sous un noyau 
particulier peut être un véritable challenge.
<p>
Comme le noyau Linux est en évolution perpétuelle, il est dommage que beaucoup de vendeurs de
modem/chipset n'ont pas encore choisi de rendre public les sources de leurs pilotes, 
pour nous permettre de les adaptées en même temps que le noyau évolue. Certains des modules binaires
ont été modifiés pour fonctionner sur des noyau ultérieurs en utilisant quelques astuces, comme décris
ci-après; toutefois, même si un module peut être rendu fonctionnel, il est conseillé de les utiliser le
moins possible. 
Quoting an email from Mark Spieth, 
<p>
"Un pilote ne fonctionnera pas correctement s'il y a des symbols non
résolus, étant donné qu'il y a quelquechose qui  ne fonctionne pas.thermore, it means that that something
that would have been called will call something else in the kernel 
and this could be anything. This is <em>very</em> bad."
<p>
Donc, soyez prudent en utilisant des modules binaires avec un noyau d'une version différente;
utilisez les à vos risques et périls.  Si vous voulez faire fonctionner votre modem absolument,
mettez votre noyau à jour avec une version antérieur convenant au module - ce n'est en aucun cas
une perspective riducule. Malgré ces avertissements, cependant, beaucoup ont su utiliserdes 
modules (normalement) non compatibles avec le noyau avec très peu d'ennuis ( de temps en temps un
"kernel panic" ) en utilisant des trucs et des outils comme ceux décris ci-après.

<sect1> Fixscripting
<p>
Mark Speith a contribué au développement d'une série de "fixscripts" pour éditer les
modules binaires et donc pour que les avertissements d'incompatibilité disparaissent.
On insère le module "édité" (fixed) et ensuite on continue sans forcer, par exemple
<tt>insmod</tt> <em>nom_du_module</em>.  Les versions ultérieures renomment également
les symboles pour qu'ils correspondent à ceux exportés par le noyau, ainsi les erreurs 
de symboles non résolus ("Unresolved symbols") ne sont pas renvoyés par le test <tt>depmod -e</tt>.
On doit souligner que ces changements sont seulement superficiels - il est encore recommandé
d'utiliser ces modules le moins possible. 
<p>
Pour utiliser le "fixscript" sur le module binaire Lucent, ltmodem.o, par exemple faites 
un working directory$$$ comme <tt>/root/modem</tt>. Procurez-vous le dernier "fixscript"
de <url url="http://www.test.dclabs.com.au/linmodem/fixscript">. Suveragrdez le fichier
en tant que <tt>fixscript</tt>.
Ouvrez le avec votre édteur de texte favoris pour vérifier que des "Dos hard stops" n'ont pas
été omis accidentellement. Ils sont en caractère gras (bold M), soulignés (underlined M), ou ^M
en fontion de votre éditeur de texte.
NOTE: le visualiseur <tt>more</tt> n'affiche pas ces lignes DOS.
<p>
Rendez le fichier éxécutable avec <tt>chmod +x fixscript</tt>.
Générez un module édité ("fixed") avec, par exemple,
<verb>
    ./fixscript ltmodem.o ltmodem2217.o
</verb>
<p>
Aucune erreur ne devrait survenir en testant les dépendances du module par
<verb>
    depmod -e ltmodem2217.o
</verb>
<p>
et l'insertion devrait se réaliser sans forcer (-f),
<verb>
    insmod ltmodem2217.o
</verb>
<p>
Le "code source" fourni avec certains modules PCTel (un petit fichier en C) accomplit les même
genre de camouflages(modifications) quand il est compilé et lié avec les bibliothèques binaires
dans ces paquetages; unlike the partially-open-source Lucent driver, it
does <em>not</em> compensate for any actual changes to the kernel interface.  
<p>

<p>
<sect1> Patching <tt>tty.h</tt>
<p>
Dans son travaille pour faire fonctionner le pilote du modem Lucent LT (version 5.68)
avec les noyaux ultérieurs au 2.2.14, Mark Spieth remarqua qu'un simple changement
dans le code source du noyau annulait la plupart des icompatibilités pour les versions
entre 2.2.14 et 2.2.16. Ce patch n'est pas vraiment nécessaire quand on utilise le pilote
LUcent LT (source et binaire, version 5.78), mais il reste utile pour ceux qui ont d'autres
modems dont les pilotes sont compilés sous les noyaux pre-2.2.15.  
<p>
Le 2.2.17 patché <tt>tty.h</tt> et quelques paquetages du noyau 2.2.17 compilés avec ce patch
sont disponible à partir de <url url="http://walbran.org/sean/linux/stodolsk/">. Si vous voulez 
l'éditer vous même, la ligne à enlever est dans la structure <tt>tty_struct</tt> du fichier
<tt>include/linux/tty.h</tt>; it has an extra member <tt>poll_wait</tt> in later kernels.
Déplacez cette partie en bas de la structure, ainsi les offsets restant seront les mêmes que
ceux des versins antérieures à 2.2.15, et seront donc compatibles avec modules noyau 
précompilés. Vous aurez besoin de recompiler votre noyau et vos modules après avoir fait ces
changement dans les sources.  
<p>

<sect1> Utilisant <tt>ppp.o</tt> from Kernel 2.2.14
<p>
Il existe un truc pour utiliser les modules binaires aves les noyaus ultérieurs à 2.2.15 sans 
devoir recompiler ces derniers;cependant, après la découverte du patch <tt>tty.h</tt> décris ci-dessus,
ce truc n'est plus vraiment nécessaire ni recommandé. Le truc est de remplacer le module 
<tt>/lib/modules/net/ppp.o</tt> avec un celui du noyau 2.2.14. Christoph Hebeisen (cth(at)sfu.ca) a
rapporté que l'utilisation du ppp.o version 2.2.14 au-lieu de 2.2.16 avec le module Lucent fournit une
fonctionnalité sous les noyaux 2.2.16. Willie Green (willjr(at)lcc.net) a confirmé wue ce truc fonctionne
avec les modules ESS. Après une simple insertion d'un module compatible avec la version du noyau:
<verb>
    insmod slhc
</verb>
le ppp.o du noayu 2.2.14 est inséré
<verb>
    insmod -f ppp.o 
</verb>
Nous voudrions encore souligner que ce truc est moins stable en le forçant pour l'insérer que
faire ces simples changements dans le fichier source <tt>tty.h</tt>, commme décris ci-dessous.
<p>

<sect> Chipsets spécifiques et leurs pilotes.
<p>

<sect1>IBM Mwave (Thinkpad 600E)
<p>
IBM a un pilote complètement open-source (license GPL) pour le software de leur Thinkpad 600E
disponible 
<url url="http://oss.software.ibm.com/developer/opensource/linux/projects/mwave/" name="ici">.
<p>

<sect1>Lucent LT
<p>
<sect2> Overview
<p>
Ce modem procure le meilleur support sous Linux, 
This modem enjoys the most support under Linux, in that there exist three different
driver packages:
<itemize>
<item>
There exists a manufacturer-unsupported, half-binary/half-open-sourced
kernel module, originally designed for Red Hat 6.2's 2.2.14-5 kernel,
but substantially reworked by Mark Spieth and others to function
with 2.2.x and 2.4.x kernels.  This is driver version 5.78(c,d,e,...), and 
is the driver you are most likely to have success using.
<item>
There exists a manufacturer-unsupported, binary-only
kernel module, compiled under Red Hat 6.0's 2.2.12-20 kernel.
This is driver version 5.68.
<item>
Some open source tools for use with Lucent modems are
available at <url url="http://www.close.u-net.com/ltmodem.html">.
Pavel Machek writes that "It is not too useful,
however: it is a hardware driver, and without a v.34 protocol stack, you
can't connect to your ISP. It is enough to turn your Lucent winmodem
into an answering machine, however." 
</itemize>
It should be noted that the binary-only driver module (from "linux568.zip") 
contains code from the  GPL'ed Linux <tt>serial.c</tt> driver, so, since 
the source code for the
modem driver is not available, trafficking in this driver is apparently
in violation of the GPL.  Distributing the partially open source driver
("i56lvp578.zip") may or may not be technically legal, since the GPL'ed 
code, though not yet linked with the closed-source code, is certainly intended
to be so.  See
<url url="http://kt.linuxcare.com/kernel-traffic/kt20000717_76_print.epl#1" 
name="this Kernel Traffic issue"> 
and a Linux-Kernel mailing list archive for the week including Dec. 3rd, 2000, 
for more details. 
<p>

<sect2> Pilote v5.78(c,d,e,...) - Installation
<p>
Vous obtiendriez le plus récent paquetage pour votre noyau à 
<url url="http://walbran.org/sean/linux/stodolsk/"> 
et suivez les instructions de mise à jour qui y sont données.
<p>
<sect2> Manufacturer's driver version 5.68 - Installation
<p>
Ce pilote a été remplcé par la version 5.78, décrite ci-dessous; cependant,
il peut encore être d'une certaine utilité.
<enum>
  <item> Procurez-vous les paquetages pour votre noyau:
     <enum>
       <item> 2.2.12 à 2.2.15 <url url="http://linmodems.org/linux568.zip">
       <item> 2.2.15 et ultérieur : même URL, mais le patch "tty.h" est requis; voir "Tips and Tricks...", plus haut.
     </enum>
  <item> <tt>dézipppez linux568.zip</tt>
  <item> <tt>su</tt> (entrez le mot de passe root quand vous y êtes invité)
  <item> <tt>./ltinst</tt> (une erreur 'file not found' vous sera affichée due à un défaut dans
 le script d'installation; ignorez cette erreur.)
</enum>
Votre modem devrait maintenant être accessible ainsi que <tt>/dev/modem</tt> ou <tt>/dev/ttyS14</tt>.
<p>

<sect2> Outils open source - Installation
<p>
Lisez la documentation avec les sources pour les instructions.
<p>

<sect1>ESS
<p>
<sect2>Overview
<p>
Les pilotes disponibles sont en binaires, seulement, pour les ES56T-PI (PCI) et ES56V-I (ISA), compilés sous RedHat 6.0 avec
un noyau 2.2.12-20. Le pilote a été utilisé en forçant (insmod -f)  dans le noyau 2.2.15, et dans le 2.2.17 en utilisant le
patch "tty.h" décris dans la section "Trucs et astuces...", plus haut.
<p>

<sect2> Installation
<p>
<enum>
  <item> Procurez vous les paquetages pour votre modem (Notez qu'ils ont l'air d'avoir été supprimer; j'essayerai
de faire un mirroir à <url url="http://walbran.org/sean/linux/stodolsk/">)
     <itemize>
       <item> ISA: <url url="ftp://ftp.esstech.com/pub/modem/isa/unsupported/56v-i/linux/kernel61/linux111.zip"> ou
       <item> PCI: <url url="ftp://ftp.esstech.com/pub/modem/pci/unsupported/56t-pi/linux/Kernel61/111.zip">.
     </itemize>
  <item> Pour les noyaux 2.2.15 et ultérieurs, appliquez le patch tty.h (Voir "Trucs et astuces...," ci-dessus); recompilez le noyau et les modules. 
  <item> Désarchivez le paquetage avec: <tt>unzip</tt> <em>nom_du_paquetage</em>
  <item> Identifiez-vous en root: <tt>su</tt> (Entrez le mot de passe root quand spécifié)
  <item> Créez le fichier du périphérique("device"): <tt>mknod /dev/esscom c 127 1 </tt>
  <item> Make convenience device: <tt>ln -s /dev/esscom /dev/modem</tt>
  <item> Make convenience device: <tt>ln -s /dev/esscom /dev/ttyS15</tt>
  <item> Changez le propriétaire du périhérique: <tt>chgrp uucp /dev/esscom </tt>
  <item> Changez les droits d'accès au périphériques: <tt>chmod 666 /dev/esscom </tt>
  <item> Camouflez la version du module (Voir "Trucs et astuces...," ci-dessus): <tt>./fixscript essmodem.o essmodem.fix.o</tt>
  <item> Installez le fichier du module: <tt>cp essmodem.fix.o /lib/modules/`uname -r`/misc/essmodem.o</tt>
  <item> Insérez le module au noyau: <tt>insmod -f essmodem</tt>
  <item> (Optionne) Fourni pour charger le module automatiquement: ajoutez la ligne "alias char-major-127 essmodem" au
fichier <tt>/etc/modules.conf</tt> ou <tt>/etc/conf.modules</tt>
</enum>

<sect1>PCTel
<p>
<sect2> Overview
<p>
Des pilotes binaires peuvent être trouvés à
<url url="http://www.idir.net/~gromitkc/winmodem.html#drivers">.
<p>
Un paquetage d'installation du type Debian pour noyaux 2.2.16 a été fourni par Corel à
<url url="ftp://ftp.corel.com/pub/linux/CorelLinux/dists/corellinux-1.2/corel/binary-i386/utils/pctel-kernel-2.2.16-driver-cdl-v1.0_1.0.deb">.  Un paquetage déviré du .deb archivé gzip et tar est
disponible<url url="http://walbran.org/sean/linux/stodolsk/" name="ici">.
En plus, un pilote pour le noyau 2.4 a été développé  par Thomas Wright, et
est aussi disponible <url url="http://walbran.org/sean/linux/stodolsk/" name="ici">.
D'autres paquetages, ayant besoin d'une compilation superficielle(??) décrite ci-dessous, 
existent également.
<p>
<sect2> Installation
<p>
Il y a apparemment deux types de paquetages de module PCTel en ce moment.  
<enum>
  <item> Un paquetages (rpm ou deb) qui installe deux modules, pctel_hsp.o et pctel_pci.o, dans <tt>/lib/modules/2.2.16</tt>.
  <p>
  Avec un tel paquetage, si vous utilisez un noyau plus récent que 2.2.16, 
  vous aurez besoin de forcer l'insertion (insmod -f), et si cela ne réussit pas, 
  vous devriez utilisez la méthode du "fixscript" utilisée avec le module Lucent 5.68 et ESS
  décrite plus haut - mais notez bien qu'avec mes connaissance, je n'ai encore essayé ceci.
  Si vous utilisez un noyau ultérieur à 2.2.16, vous deviriez upgrader celui-ci, ou bien
  d'utiliser un "fixscript" (ce n'est pas guaranti de fonctionner).
  Envoyez moi quelque information si vous faites fonctionner une de ces techniques.
  <p>
  <item> Un paquetages qui, quand il est désarchivé, vous donne une série de bibliothèques (hsp.a, etc...),
  et un petit fichier source en C (ptmodule.c), qui devrait être dans des répertoires comme lib/ and src/module/.
  S'il n'y a pas ces répertoires, créez les et placez les fichiers comme suit:
<verb>
mkdir lib
mkdir src
mkdir src/module
mv *.a lib/
mv Makefile *.c src/module
</verb>
    <p>
    Maintenat allez dans le répertoire src/module et tapez <tt>make</tt>. Ceci devrait générer le 
    fichier module <tt>pctel.o</tt>, qui apparaîtra  "back up" dans le répertoire <tt>lib</tt>.
    (Le module driver n'est <em>pas</em> le fichier objet <tt>ptmodule.o</tt> dans <tt>src/module</tt>!)
    <p>
    The apparent version of the module generated in this way will match your current kernel version.
</enum>
<p>
Avec le module sous la main, continuer pour installer comme suit:
<p>
<enum>
  <item> Mettez vous en root: <tt>su</tt> (entrez le mot de passe root quand vou y êtes invité)
  <item> Créez le fichier périphérique: <tt>mknod /dev/pctel c 62 79 </tt>
  <item> Etablissez les liens entre le périphérique et le fichier: <tt>ln -s /dev/pctel /dev/modem</tt>
  <item> Etablissez les liens: <tt>ln -s /dev/pctel /dev/ttyS15</tt>
  <item> Etablissez les propiétaires du périphérique: <tt>chgrp uucp /dev/pctel </tt>
  <item> Etablissez les permissions: <tt>chmod 666 /dev/pctel </tt>
  <item> Installez le fichier module (seulement pour le deuxième type de paquetage, V. ci-dessus):  <tt>cp pctel.o /lib/modules/`uname -r`/misc/</tt>
  <item> Insérez le(s) module(s) dans le noyau avec <tt>insmod -f</tt> <em>nomdumodule</em>
</enum>
<p>

<sect1>Conexant/Rockwell HSF
<p>
A cette adresse se trouvent des drivers pour les noyau 2.2.14, 2.2.16, et 2.2.17:
<url url="http://www.olitec.com/pci56kv2.html"> 
La page est en français, et les commandes d'installation sont inscrites en caractères
gras rouge  
(vous pouvez aussi utiliser <url url="http://babel.altavista.com/translate.dyn?urltext=http%3A%2F%2Fwww.olitec.com%2Fpci56kv2.html&#38;lp=fr_en" name="babel fish">, un traducteur).
Essentiellement, les instructions vous disent de télécharger les paquetages appropriés,
les désarchiver avec <tt>tar -zxvf</tt>,
et de lancer le script d'installation <tt>ins_all</tt>.  
<p>
Ce driver est, cependant, un peu difficile (with the most common symptom
of failure being
the "NO DIALTONE" response), mais bon nombre de gens ont été capables de le faire 
fonctionner, habituellement en insérant l'ID vendeur de leur modem dans le fichier
.inf du modem, perhaps along with a change of the device major number from 254
to 253.  Parmis les pages plein d'aide, notez
<url url="http://redrival.com/btifaq/hsflinux.htm" name="Le guide d'Imran Ghory (Imran Ghory's guide)">,
et la liste de diffusion de Linmodems.org avec
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2765:200102:oonhggjbpkiielnoodfa" name="ce message">, et
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2757:hnbbodehlifaahoblond"
name="celui-ci"> expliquant comment charger le module automatiquement.
<p>
<sect1> Intel (formerly Ambient Technology, formerly Cirrus Logic)
<p>
<sect2>HaM
<p>
Un driver pour le modem HaM est disponible à
<url url="http://developer.intel.com/design/modems/support/license/r-333-5.htm">
<p>
<sect2>CL-MD5620DT
<p>
Mikhail Moreyra a écrit un driver GPL pour le chipset CL-MD5620DT qui
peut atteindre 33.6 kbps; cependant, c'est une version alpha
et il doit être traité avec beaucoup de prudence. Vous pouvez vous le procurer à
<url url="http://linmodems.org/CLModem-0.3.0.tar.gz">. 
Gabriel Gambetta (ggambett(at)internet.com.uy) publia une version de 
ce driver qui autorise les commandes de base du modem AT (Transfert Ansynchrone) ;
vous pouvez récupérer cette version sur le site de Rob Clark 
<url url="http://www.idir.net/~gromitkc/clm/CLModem-0.3.0+gg.tar.gz" name="ici">. 
<p>

<sect1>3Com
<p>
<sect2> Mini-PCI
<p>
  Une demande (for comments) a été postée par un employé de 3Com
à propos d'une demande possible pour driver binaire uiniquement pour la combinaison
de leur miniPCI et du NIC/winmodem <url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1229:cilpipdmolabpbbbibgd"
name="ici"> sur la liste de diffucion de Linodems.org; veuillez répondre à l'adresse
donnée, linmodem@new-n-used.com, et pas à la liste.
Bien que, à ma connaissance, aucun driver n'a encore été publié, la
<url url="http://mobilix.org/minipci_linux.html" name="miniPCI page"> de Werner Heuser possède plus d'informations et de liens.
<p>

<sect1>AMR
<p>
Ian Stewart 
<url url="http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:2768:200102:edbonibpdjfpnfhbmhel" name="reports">
qu'il est en train de travailler sur "driver de moyen niveau" pour le codec AC97.
<p>
<!--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 -->
<sect>Dépannage
<p>
Donc, vous avez lu en partie ce document, le 
<url url="http://www.linuxdoc.org/HOWTO/Modem-HOWTO.html" name="Modem-HOWTO">,
et le 
<url url="http://www.linuxdoc.org/HOWTO/PPP-HOWTO/index.html" name="PPP Howto">, 
et êtes convaincus que votre modem correspond à un des drivers disponibles,
mais cela ne fonctionne toujours pas? Il ya un certain point dans les 
opérations auquels certaines choses peuvent ce heuter et empêcher le bon
fonctionnement.  
<p>
Généralement, Linux sauvegarde les fichiers journaux des connections
qui sont très utiles dans les problèmes de dépannage. Leurs nom précis
varientn fonction de la distribution Linux et du logiciel de Dial-in,
mais les fichiers journaux du système <tt>/var/log/messages</tt>, 
<tt>/var/log/syslog</tt>,etcetera, fourniront au moins deux ou trois informations.
<p>
Pour le dépannage et des questions d'aide sur une liste, il serait 
très utile si vous accumuliez les informations demandées plus haut.
En root, allez dans le répertoire d'installation du modem où se  
trouvent les scripts, et commencez un enregistrement de script 
comme montré si-après. Quand le script est terminé avec "exit",
copiez le autre part que sur votre partition pour le transmettre
à la liste qui pourrait vous aider. 
<p>
(ci-dessous, les caractères # sont des commentaires d'expliquation.)
<verb>
# commencez l'enregistrement,
script ModemTest.txt 
# ajoutez-y le plus d'info que vous possédez sur votre modem,
echo nom du winmodem, fabricant, désignation, et le chipset(puce) si possible
# ceci vous donne la version du noyau courrant
uname -r
# ceci donne des informations sur vos ports série
setserial -agv /dev/ttyS*
# ceci des informations sur vos interruptions (irq)
cat /proc/interrupts
# montre le contenu du script d'installation du module (insérez le nom du script):
cat ScriptName
# Vérifie que votre script est éxécutable:
ls -l NomDuScript
# il l'est si la réponse contient un "x" comme ci-dessous:
# -rwxrw-rw-  1 root     root  654 Jan  6  2000 ltinst
# sinon rendez le éxécutable avec:
chmod o+x NomDuScript
# Vérifiez avec:
ls -l NomDuScript
# si NomDuScript n'a pas déjà correctement été éxécuté avant sous ce noyau
# éxécutez le avec:
./NomDuScript
# Vers quoi est mis le lien symbolique /dev/modem:
ls -l /dev/modem
# Quel est le NomDuPériphérique spécifié dans NomDuScript (/dev/ttyS14 ou ...?)
echo NomDuPériphérique
# quel est le nom du driver de votre modem? Quelquechose comme NomDuDriver.o
# avec le ".o" indiquant que c'est binaire compilé
echo Ceci est mon NomDuDriver.o
# s'il aurait été inséré dans le répertoire des module
# Essayez de l'afficher avec:
find /lib/modules | grep NomDuDriver
# Est-ce que le NomDuDriver est parmi les modules installés dans le noyau actuel
lsmod
# Si non essayez simplement de l'insérer:
insmod ./NomDuDriver.o
# ou bien s'il était dans le répertoire des modules cette commande-ci aurait suffit:
insmod NomDuDriver
# vérifiez qu'il est bien inséré maintenant:
lsmod
# s'il ne l'est pas, essayez en forçant:
insmod -f ./NomDuDriver
# regarder encore une fois la liste des drivers insérés:
lsmod
# s'il ne se trouve toujours pas dans la liste,
# il y a une incompatibilité entre le modemn, le dirver et le noyau.
# Et il ne vous servira à de continuer.
# Si NomDuDriver est dans la liste, donnons un peu plus d'informations.
# Vous devrez d'abord redémarrer l'outil de configuration
# employé pour la configuration des connections pour votre installation Linux.
# Rappelez vous d'éditer votre mot de passe de cet enregistrement plus tard.
# Vous serez probablement inviter à répondre à ces informations
# que vous devriez avoir sous la main:
# Port à utiliser(/dev/modem or /dev/ttySn),Numéro Dial-in, Nom d'utilisateur, Mot de passe.
# Lancez votre outil de connection.
YourSetUpConf
# Pour arrêter l'enregistrement:
exit
</verb>
<p>
Si l'appel à distance n'a pas fonctionné, ajouter à votre enregistrement les informations de vos fichiers journaux.
Comme exemple, une partie de /var/log/syslog d'une distribution Debian
se trouve ci-dessous. 

<!--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 -->
<sect>FAQ
<p>
<sect1>J'ai un winmodem. Fonctionnera-t-il sous Linux?
<p>
Probablement pas. Veuillez vous rapporter à la section "Which Linmodem hardware is supported?" plus haut,
et vérifiez la
<url url="http://www.idir.net/~gromitkc/winmodem.html#Database" name="base de données">
des modems Linux compatibles
sur
<url url="http://www.idir.net/~gromitkc/winmodem.html" name="le site de Rob Clark">.
<p>
<sect1> I get "NO DIALTONE".
<p>
Essayez de paramètrer votre BIOS pour que "PNP OS" devienne  "non-PNP OS", que "Windows"
devienne "Other OS", ou un paramètre semblable.
<p>
Les utilisateurs d'un Conexant rapportez-vous à la section Conexant, plus haut.
<p>
<sect1> J'obtiens le message "device or resource busy".
<p>
<itemize>
<item> Si vous possédez un modme ISA, avez-vous utilisé isapnptools pour attribuer les ressources IRQ et DMA
de la carte? Voir "ISA Plug-n-Play", plus haut, pour plus d'informations.
<item> Vérifiez par deux fois que vous avez créé le fichier périphérique correctement,
et essayez d'éliminer les conflits IRQ que vous devriez avoir.  Si tout semble correct mais 
que cela ne fonctionne toujours pas, vérifiez sur la liste  <url url="http://Linmodems.org" name="Linmodems.org">
si quelqu'un
d'autre a (ou peut-être, a résolu) le même probleme, ou essayez de ke résoudre vous-même
et informez les autres de vos résultats.
</itemize>
<p>
<sect1> J'obtiens "unresolved symbols" quand j'utilise un fixscript ou quand j'insère le module.
<p>
Les symboles non-résolus sont un vrai danger pour des versions qui ne coïncident pas et sont,
en générale, mauvais, mais sont aussi inévitables avec les modules binaires.
Si vous obtenez des symboles non résolus, ou si le module ne fonctionne pas malgré les 
symboles non résolus, vous n'avez pas de compromis entre votre module et le noyau;
cependant, quelques cas entraînent les symboles comme:
<itemize>
<item> <tt>slhc_xxxx</tt>:  Vous avez probablement besoin d'insérer (insmod) le module
slhc avant le module modem/ppp; utiliser modprobe au lieu de insmod règlerait aussi
ce problème.
<item> <tt>printk, jiffies</tt>:  Votre noyau pourrait être compilé avec SMP
activé. Aucun module binaire n'est compatible avec SMP, et fonctionnera 
probablement seulement sur une mchine à un seul processeur, avec un noyau pour simple 
processeur, ex. SMP désactivé. Vous pouvez essayer de recompiler votre noyau
ou bien obtenir une version avec SMP désactivé. (Merci à Tom Reinertson
(treinertson(at)uswest.net)) 
<item> <tt>tty_xxxx</tt> avec esscom.o: 
Auparavant les fixscripts n'étaient pas capable de camoufler les symboles spécifiques
à la version de ce module. D'autres versions plus récentes sont disponibles à
<url url="http://www.test.dclabs.com.au/linmodem/fixscript">) 
et devraient être capable de faire fonctionner ce module.
</itemize>
Si un module fonctionne dans un environnement instable régulièrement,
ceci peut en être la cause, dans certaines circonstance, vous évitez ces symboles,
et dans d'autre, vous vous frotter au symboles. Essayez différents programmes de connection
(wvdial, kppp), qui demandent des fonctions un peu différentes dans les mêmes conditions.
C'est aussi possible que le fixscript, qui était prévu pour le module Lucent ne camoufle
pas les symboles utilisés dans votre module. Si vous ne trouvez pas de compromis
qui fonctionne, peut-être devriez-vous penser à "downgrader" votre noyau pour une version
qui coïncide plus à celle du mosule.
<p>
<sect1> Mon modem PCTel ne fonctionne pas.
<p>
<itemize>
<item> Avez-vous besoin de spécifier le code de votre pays? Voyez l'appendix.
<item> Utilisez-vous le on module? Il y a plusieurs drivers PCTel (Voir la section
 "Which Linmodem hardware is supported?" plus haut).Vous devriez en essayer un autre
et voir si cela fonctionne.
</itemize>
<p>
<sect1> Le modme effectue la requête et se connecte correctement, mais après il pêrd la connection.
<p>
Ceci est un problème qui arrive souvent et qui a quelques solutions, ou parfois aucune:
<enum>
<item>Il est possible que le module est installé correctement et qu'il fonctionne,
mais à ce moment là vous avez un problème avec votre configuration ppp.
En particulier si vous trouvez une erreur dans les journaux de connection comme celle-ci:
"peer is not authorized", essayez de changer "auth" en "noauth" dans le fichier /etc/ppp/options, et/ou 
changer en commentaire "auth" et "lock" (en plaçant un '#' au début de la ligne).  Corel a une FAQ à 
<url url="http://linux.corel.com/support/html/9314.htm"> à propos de ceci.
<item>
On a déjà remarqué qu'avec un noyau et un module qui ne coïncident pas, un programme comme
<tt>kppp</tt> donnera cette erreur, alors que <tt>wvdial</tt> pas, pour le même module et matériel.
Vous pouvez essayer plusieurs programme de connection ppp et voir si ça s'arrange. 
<item>
Dernièrement, il y a un rapport potentiel avec le support du son.
En comparant les fonctionnalités du ltmodem.o avec ou sans support audio dans le noyau, 
la numérotation fonctionne, mais la connection ppp n'est pas atteinte pour le noyau sans support
pour le son.  
<p>
La plupart des distributions Linux déposent un fichier de configuration du noyau 
en fonction de celui-ci. Pour les distributions Debian c'est le fichier:
<verb>
  /boot/config-version
</verb>
Vous pouvez voir si l'option est activée avec la ligne suivante:
<verb>
  grep SOUND /boot/config-version |grep -v not
</verb>
Pour un cas précis avec la version 2.2.17:
<p>
<verb>
# grep SOUND  /boot/config-2.2.17 |grep -v not
CONFIG_SOUND=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_SB=m
CONFIG_SOUND_MPU401=m
CONFIG_SOUND_YM3812=m
CONFIG_SOUND_VMIDI=m
CONFIG_SOUND_YMPCI=m
CONFIG_LOWLEVEL_SOUND=y
</verb>
<p>
Le CONFIG_SOUND=m ou CONFIG_SOUND=yes vous montre si le noyau possède 
un support audio ou pas.
<p>
Si cela ne vous aide pas, vous devriez penser à utiliser une version du noyau qui convient mieux
à  votre module.  Autrement, condultez la liste de
<url url="http://Linmodems.org" name="Linmodems.org"> pour de l'aide.
</enum>
<p>
<sect1> J'obtiens un "kernel panic" en fermant la connection ou en déchargeant le module.
<p>
Il y a plusieurs solutions à cela:
<itemize>
<item> Essayez un programme de numérotation différent (wvdial, kppp).
<item> Configurez le module pour qu'il reste chargé dans le noyau.
</itemize>
<p>
<sect1> Rien ne fonctionne.Vers qui puis-je me tourner pour trouver de l'aide?
<p>
<itemize>
<item> Vérifiez bien que votre modem est supporté par votre module
Voyez "Quel Linmodem sont supportés", plus haut.
<item> Essayez de déterminer à quel étape de l'installation le processus crash/
Condultez les pages de manuel à propos des commmandes que vous venez d'utiliser
et essayez de déterminer la source du problème.
</itemize>
<p>
Si tout semble perdu, voyez la section "Dépannage", ci-dessous, et envoyez un message
avec les informations complètes, qui y sont décrites, à la liste de 
<url url="http://linmodems.org" name="Linmodems.org">.
<p>
<sect1> Qui a écrit le pilote pour mon winmodem et comment puis-je contacter cette personne?
<p>
Si ces références ne sont pas mentionnées ci-dessus, il faut croire que cette personne
était probablement en contrat avec le fabricant, et qu'elle n'a pas le pouvoir ou le temps
de mettre à jour, changer, publier le code source, ni de répondre à vos e-mail dans tous 
les cas.  Regardez, par exemple
<url url="http://lwn.net/1999/1209/a/lucent.html">
<p>
<!--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 -->
<sect> Appendice
<p>

<p>
<sect1> Paramètres du module PCTel: codes de pays.
<p>
Les informations suivantes proviennent du fichier "read me" du module PCTel.
Donc vous pouvez choisir le code du pays approprié en insérant le module
avec un paramètre comme suit: 
<verb>
insmod pctel.o country_code=7
</verb>
(le "7" est renplacé par le code de votre pays de la liste ci-dessous).  
Merci à Jonathan Emery pour avoir spécifier la syntaxe correcte.
<p>
<verb>
Mettre et demander le code du pays.

Ce pilote un paramètre en insérant le module pour configurer le code du pays
pour des réseau de téléphone de plusieurs pays et il peut aussi vous informer
du code de pays actuellement utiliser.

Vous trouverez ci-après deux manières de définir le code du pays et de
connaître celuiactuellement utilisé.

Première manière:

Pour mettre le code du pays:
"country_sel_rep   sel   7" mettra le code de pays 7.

Pour s'informer du code de pays actuellement utilisé:
"country_sel_rep   rep" retourne le code actuel utilisé en réponse.

Deuxième manière:

Pour mettre le code du pays:
"country_sel   7" mettra le code de pays 7.

Pour s'informer du code de pays actuellement utilisé:
"country_rep" retourne le code actuel utilisé en réponse.

country_code                    country_name
(code de pays)                  (nom de pays)

    1                           ETATS-UNIS
    2                           FRANCE
    3                           ALLEMAGNE
    4                           ITALIE
    5                           SUEDE
    6                           ROYAUME-UNI
    7                           JAPON
    8                           AUSTRALIE
    9                           ESPAGNE
   10                           TAIWAN
   11                           SINGAPOUR
   12                           KOREE
   13                           SUISSE
   14                           NORVEGE
   15                           PAYS-BAS
   16                           BELGIQUE
   17                           CANADA
   18                           IRELANDE
   19                           PORTUGAL
   20                           POLOGNE
   21                           HONGRIE
   22                           FINLANDE
   23                           DANEMARK
   24                           AUTRICHE
   25                           AFRIQUE DU SUD
   26                           CTR21 COUNTRIES
   27                           CHINE
   28                           MALAYSIE
   29                           LUXEMBOURG
   30                           GRECE
   31                           ISLANDE
   32                           NOUVELLE-ZELANDE
   33                           BRESIL
</verb>
<p>
</article>