  The Linux Serial HOWTO
  par Greg Hankins, greg.hankins@cc.gatech.edu
  v1.8a, 5 juin 1995

  Ce  document  decrit  la  configuration  des  peripheriques serie sous
  Linux.

  11..  IInnttrroodduuccttiioonn

  Ceci est le Linux Serial HOWTO. Tout ce que vous avez  toujours  voulu
  savoir  sur  la  configuration des modems et des terminaux sous Linux,
  ainsi que des astuces et idees pour vos ports serie.

  11..11..  CCooppyyrriigghhtt

  Le Linux Serial HOWTO est copyright (C) 1993 - 1995 Greg Hankins.  Les
  HOWTO  Linux  peuvent  reproduits  et  distribues,  en  totalite ou en
  partie, sur tous media physique ou electronique dans la mesure  ou  ce
  copyright  est  preserve  dans  chacun  des  exemplaires produits.  La
  distribution commerciale en  est  autorisee  et  encouragee.  L'auteur
  _a_p_p_r_e_c_i_e_r_a_i_t  toutefois qu'on lui notifie individuellement ce genre de
  distribution.

  Le present copyright couvre les traductions,  compilations  et  autres
  travaux  derives  des  HOWTOs  Linux.   C'est a dire qu'il est defendu
  d'imposer des restrictions de diffusion  allant  au  dela  du  present
  copyright  a  des  ouvrages inspires de ou incorporant des passages de
  HOWTOs Linux.  Sous certaines conditions, des exceptions a ces  regles
  seront  tolerees;  pour plus d'informations, contacter le coordinateur
  Linux HOWTO a l'adresse ci-dessous.

  En bref, nous souhaitons une diffusion aussi large que possible a  ces
  informations.    Neammoins,   nous   entendons   garder  la  propriete
  intellectuelle (copyright) des HOWTOs, et _a_p_p_r_e_c_i_e_r_i_o_n_s etre  informes
  de leur redistribution.

  Pour  toute  question, veuillez contacter le coordinateur Linux HOWTO,
  Greg Hankins, a l'adresse email ou au +1 404 853 9989.

  11..22..  AAuuttrreess ssoouurrcceess dd''iinnffoorrmmaattiioonn

  +o  Les man pages de :  agetty(8),  getty(1m),  gettydefs(5),  init(1),
     login(1), mgetty(8), setserial(8)

  +o  La doc de votre modem

  +o  Le UUCP HOWTO : documentation pour configurer UUCP

  +o  Le Printing HOWTO : comment configurer une imprimante serie

  +o  Le NET-2 HOWTO : tout sur les reseaux, SLIP, CSLIP, PLIP et PPP

  +o  Le UPS HOWTO : installation d'onduleurs connectes au port serie

  +o  Le  Term  HOWTO  :  tout ce que vous avez toujours voulu savoir sur
     term

  +o  USENET newsgroups:

  comp.os.linux.advocacy            Avantages de Linux vis a vis d'autres OS
  comp.os.linux.announce            Annonces importantes pour la communaute Linuxienne.
  comp.os.linux.answers             FAQs, HOWTOs, READMEs, etc. relatifs a Linux.
  comp.os.linux.development.apps    Developpement d'applications Linux, portages sous Linux.
  comp.os.linux.development.system  Developpement noyau, pilotes de peripheriques, modules.
  comp.os.linux.hardware            Compatibilite du materiel avec le systeme Linux.
  comp.os.linux.misc                Sujets specifiques a Linux non couverts par les autres groupes.
  comp.os.linux.networking          Reseaux et communications sous Linux.
  comp.os.linux.setup               Installation et administration Linux.
  comp.os.linux.x                   Serveurs, clients, librairies et polices X Window sous Linux.

  +o  la lettre Linux serial. Pour s'inscrire, envoyer un mail a
     majordomo@vger.rutgers.edu, avec
     ``subscribe linux-serial'' dans le corps du message. Si le corps du
     message  comprend  ``help'', il est possible de recevoir un message
     d'aide.

  11..33..  NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt

  Les nouvelles versions du Serial HOWTO seront postees sur
  sunsite.unc.edu   <ftp://sunsite.unc.edu:/pub/Linux/docs/HOWTO/Serial-
  HOWTO>  et ses sites miroirs.  Il y est disponible en PostScript et en
  dvi dans le repertoire other-formats.  Le Serial HOWTO  est  egalement
  disponible      sur      l'URL      suivant     :     Serial     HOWTO
  <http://sunsite.unc.edu/mdw/HOWTO/Serial-HOWTO.html> pour les  clients
  WWW   comme   mosaic.   Enfin,  il  sera  regulierement  diffuse  dans
  comp.os.linux.answers.

  Pour qui ne dispose pas d'acces FTP,  il  est  possible  d'obtenir  de
  l'aide  par  courrier  electronique en envoyant un mail a Bill Riemers
  (bcr@physics.purdue.edu). Si la ligne de sujet se resume  a  ``help'',
  sa  moulinette renverra quelques informations et un index des fichiers
  d'aide.

  11..44..  FFeeeeddbbaacckk

  N'hesitez pas a m'envoyer vos questions, commentaires, suggestions  ou
  elements de documentation supplementaires.  Je suis tres interesse par
  ce que vous pouvez penser  du  HOWTO.   Je  cherche  en  permanence  a
  m'ameliorer  !   Dites-moi exactement ce que vous ne comprenez pas, ou
  ce qui pourrait etre plus clair.  Vous pouvez me joindre  a  l'adresse
  email suivante :
  greg.hankins@cc.gatech.edu.  ou a l'adresse snailmail :
  Greg Hankins
  College of Computing
  801 Atlantic Drive
  Atlanta, GA 30332-0280
  ou          encore          via          ma          home         page
  <http://www.cc.gatech.edu/staff/h/Greg.Hankins/> sur le Web.

  Tout courrier doit comprendre le numero de version du Serial HOWTO. Le
  numero de version courant est 1.8a.

  11..55..  RReesseerrvveess

  Recommande  par  les  grandes  marques  de  machines a laver. Pour les
  autres...  Les reponses apportees par  le  HOWTO  peuvent  n'etre  pas
  valides pour tous les systemes et toutes les configurations.

  22..  HHaarrddwwaarree sseerriiee ssuuppppoorrttee

  Linux a ete teste avec succes avec le hardware serie suivant.

  +o  les   cartes   series   standard  (COM1  -  COM4),  auxquelles  des
     peripheriques series (modems, souris serie,  etc...)  peuvent  etre
     connectes.

  +o  les modems internes standard (COM1 - COM4)

  +o  les  Port-Folio 550e de Quickpath Systems, qui peuvent utiliser les
     IRQ 3, 4, 5, 9, 10, 11, 12 et 15

  22..11..  CCaarrtteess sseerriiee mmuullttiippoorrttss ((eeqquuiippeeeess dd''UUAARRTT 1166445500//1166555500AA ::

  +o  AST FourPort et compatibles (4 ports)

  +o  Accent Async-4 (4 ports)

  +o  Arnet Multiport-8 (8 ports)

  +o  Bell Technologies HUB6 (6 ports)

  +o  Boca BB-1004 (4 ports), BB-1008 (8 ports), BB-2016 (16 ports)

  +o  Boca IOAT66 (6 ports)

  +o  Boca 2by4 (4 ports series, 2 ports paralleles)

  +o  Computone ValuePort V4-ISA (compatible AST FourPort)

  +o  PC-COMM (4 ports)

  +o  STB-4COM (4 ports)

  +o  Twincom ACI/550

  +o  Usenet Serial Board II (4 ports)

  En  regle  generale, Linux fonctionne avec toute carte serie basee sur
  un UART 8250, 16450, 16550 ou 16550A ou compatible ; Linux  fonctionne
  avec les modems internes emulant l'un des UART susmentionnes.

  En  ce  qui concerne les BB-1004 et BB-1008, ils ne se servent pas des
  lignes DCD et RI, et ne sont  en  consequence  pas  utilisables  comme
  modems  appelables.  Pour  toute  autre  utilisation, ils fonctionnent
  correctement.

  22..22..  CCaarrtteess sseerriiee mmuullttiippoorrttss iinntteelllliiggeenntteess ::

  +o  Comtrol Rocket Port (ASIC 36Mhz - 4, 8, 16 ou 32 ports)  (contacter
     info@comtrol.com      ou     le     site     Web     de     Comtrol
     <http://www.comtrol.com>.            Drivers            disponibles
     sur :tsx-11.mit.edu/pub/linux/packages/comtrol)

  +o  Computone  IntelliPort  II  (80186  a  16Mhz  -  4, 8, ou 16 ports)
     Computone IntelliPort II EXpandable (80186 a 20Mhz - modulaire 16 a
     64   ports)  (driver  pre-ALPHA,  contacter  Michael  H.  Warfield,
     mhw@wittsend.atl.ga.us)

  +o  Cyclades Cyclom 8Y (8 ports), et 16Y (16 ports) (UART  RISC  Cirrus
     Logic CD-1400) (contacter cyclades@netcom.com)

  +o  DigiBoard  PC/Xe (80186 a 12,5Mhz - 2, 4, 8, ou 16 ports), et PC/Xi
     (80186 a 12,5Mhz - 8  ou  16  ports),  (contacter  Troy  De  Jongh,
     troyd@digibd.com.          Drivers         disponibles         sur:
     ftp.digibd.com:/digiline/drivers/linux)

  +o  Digiboard COM/Xi (80188 a 10Mhz - 4 ou 8 ports)
     (driver pre-ALPHA, contacter Simon Park, si@wimpol.demon.co.uk)

  +o  Hayes ESP8 (8 ports)
     (driver pre-ALPHA, contacter Dennis Boylan, dennis@lan.com)

  +o  Omega COMM-8 (8 ports)
     (contacter Vance Petree, vpetree@infi.net)

  +o  Specialix SIO - (modulaire, 4 a 32 port)
     (driver        ALPHA,        contacter         Simon         Allen,
     simonallen@cix.compulink.co.uk)

  +o  Stallion  EasyIO-4  (4  ports),  EasyIO-8  (8  ports),  et Stallion
     EasyConnection (modulaire, 8 a 32 ports) (UART  RISC  Cirrus  Logic
     CD-1400) (contacter Greg Ungerer, gerg@stallion.oz.au)

  Les  pilotes  de  peripheriques  pour  les cartes Cyclades, DigiBoard,
  Stallion et Specialix sont disponibles sur :
  sunsite.unc.edu:/pub/Linux/kernel/patches/serial et ses sites miroirs.

  33..  CCoommmmeenntt ss''aappppeelllleenntt lleess ppoorrttss sseerriiee ??

  Il y a les 4 peripheriques serie correspondants a COM1: - COM4:

       /dev/cua0, /dev/ttyS0 (COM1) addresse 0x3f8 IRQ 4
       /dev/cua1, /dev/ttyS1 (COM2) addresse 0x2f8 IRQ 3
       /dev/cua2, /dev/ttyS2 (COM3) addresse 0x3e8 IRQ 4
       /dev/cua3, /dev/ttyS3 (COM4) addresse 0x2e8 IRQ 3

  Les  peripheriques  /dev/ttyS_N  servent  aux connexions entrantes, les
  peripheriques /dev/cua_N aux connexions sortantes.  _N est le numero  de
  port  serie. Dans ce document, COM1 est appele ttyS0, COM2 ttyS1, COM3
  ttyS2 et COM4 ttyS3. Lorsque je mentionne un peripherique  particulier
  du repertoire /dev, je le prefixe systematiquement par /dev afin de ne
  pas vous perturber.

  Dans certaines installations, deux peripheriques supplementaires  sont
  crees  :  /dev/modem pour le modem, et /dev/mouse pour la souris.  Ces
  deux peripheriques sont des liens symboliques  sur  les  peripheriques
  /dev/cua_N  que vous avez specifies lors de l'installation (a moins que
  vous n'ayez une souris  bus,  auquel  cas  /dev/mouse  pointe  sur  le
  peripherique de souris bus).

  Il  y  a  eu  des  controverses  sur  les  avantages  de /dev/mouse et
  /dev/modem.  Je  deconseille  _v_i_g_o_u_r_e_u_s_e_m_e_n_t  leur  utilisation.    En
  particulier,  si vous souhaitez utiliser votre modem pour recevoir des
  connexions  exterieures,  l'utilisation  de  /dev/modem  empeche   les
  fichiers de verrouillage (lock files) de fonctionner correctement.

  33..11..  NNuummeerroo mmaajjeeuurr eett mmiinneeuurr ddee ppeerriipphheerriiqquueess sseerriieess ddaannss //ddeevv

       /dev/ttyS0 majeur 4, mineur 64  /dev/cua0 majeur 5, mineur 64
       /dev/ttyS1 majeur 4, mineur 65  /dev/cua1 majeur 5, mineur 65
       /dev/ttyS2 majeur 4, mineur 66  /dev/cua2 majeur 5, mineur 66
       /dev/ttyS3 majeur 4, mineur 67  /dev/cua3 majeur 5, mineur 67

  Toutes les distributions comprennent normalement ces peripheriques.

  33..11..11..  CCrreeaattiioonn ddeess ppeerriipphheerriiqquueess ddaannss //ddeevv

  Si un peripherique vous fait defaut, il vous faut  le  creer  avec  la
  commande mknod.

  Par example, supposons que vous ayez besoin de creer les peripheriques
  de ttyS0 :

       linux# mknod -m 666 /dev/cua0 c 5 64
       linux# mknod -m 666 /dev/ttyS0 c 4 64

  Vous pouvez aussi utiliser le script MAKEDEV, disponible sur les sites
  FTP  habituels.  Il  simplifie  la  creation  de  peripheriques.   Par
  exemple, pour creer les peripheriques de ttyS0, il suffit de taper :

       linux# cd /dev
       linux# MAKEDEV ttyS0

  Le script MAKEDEV s'occupe de la creation des  peripheriques  d'entree
  et de sortie.

  33..11..22..  NNootteess ssuurr lleess ccaarrtteess mmuullttiippoorrttss

  Les  peripheriques  utilises  par une carte multiports dependent de sa
  marque. Ils sont detailles dans le fichier rc.serial  inclus  dans  le
  paquetage  setserial. Il ne fait aucun doute que vous allez devoir les
  creer, soit avec la commande mknod, soit avec le script  MAKEDEV.  Les
  peripheriques  des  cartes multiports sont crees avec un numero mineur
  egal a 64 + le numero du port ; par exemple, si vous voulez creer  les
  peripheriques   correspondant  a  ttyS17,  vous  le  ferez  grace  aux
  commandes suivantes :

       linux# mknod -m 666 /dev/cua17 c 5 81
       linux# mknod -m 666 /dev/ttyS17 c 4 81

  "64 + 17 = 81", comme nos lecteurs l'auront remarque.  Avec le  script
  MAKEDEV, vous n'avez qu'a taper :

       linux# cd /dev
       linux# /dev/MAKEDEV ttyS17

  44..  QQuu''eesstt--ccee qquuee ggeettttyy ?

  getty  est  le  programme charge du processus de login sur une machine
  UNIX. Les trois versions de getty les plus utilisees sous Linux sont :
  agetty, getty_ps et mgetty.

  44..11..  DDee ggeettttyy__ppss

  Cette   version  de  getty  a  ete  ecrite  par  Paul  Sutcliffe  Jr.,
  <paul@devon.lns.pa.us>.  Kris Gleason  <gleasokr@boulder.colorado.edu>
  se  charge  de  la  maintenance.  La  derniere  version, qui annule et
  remplace les precedentes, est la 2.0.7e.  La plupart des distributions
  Linux utilisent getty_ps comme /sbin/getty par defaut.

  Le  paquetage  getty_ps contient deux gaititiouailles : getty, qui est
  utilise pour la console et les terminaux, et uugetty qui sert pour les
  modems.  C'est  la  version de getty que j'utilise, et c'est donc a ce
  paquetage que je me refererai dans ce HOWTO.

  44..22..  DDee mmggeettttyy

  mgetty  est  une  version   de   getty   ecrite   par   Gert   Doering
  gert@greenie.muc.de.  Elle offre les services de connexion classiques,
  ainsi qu'une interface FAX de classe 2 via  sendfax,  qui  est  fourni
  avec  mgetty.   La derniere version de ce paquetage est mgetty+sendfax
  0.22.  La documentation de mgetty est de bonne  qualite,  et  n'a  pas
  besoin d'additifs. On s'y referera avec profit pour l'installation.

  44..33..  DDee aaggeettttyy

  agetty  est  une  troisieme mouture de getty.  Elle a ete initialement
  ecrite   par   W.Z.   Venema,   wietse@wzv.win.tue.nl.    C'est    une
  implementation simple de getty.

  55..  QQuu''eesstt--ccee qquuee sseettsseerriiaall ?

  setserial  est  un  programme permettant d'afficher et de modifier les
  divers attributs d'un peripherique serie, et notamment son  numero  de
  port,  son  IRQ, etc. Rick Sladkey a developpe le programme original ;
  Ted T'so <tytso@mit.edu> l'a remanie de fond en comble et en assure la
  maintenance.   La version la plus recente est la 2.10, recuperable sur
  les sites  FTP  Linux.  Vous  pouvez  verifier  la  version  de  votre
  programme en lancant setserial sans arguments.

  Au boot, seuls les ports ttyS{0-3} sont configures ; ils utilisent les
  IRQ 4 et 3 par defaut. Donc si vous utilisez  une  carte  offrant  des
  ports  serie  differents  (une  AST  Fourport,  par  exemple),  ou  si
  ttyS{0-3}  utilisent  des  IRQ  non  standard,  vous  _d_e_v_e_z   utiliser
  setserial  pour configurer ces ports. Consultez les man pages pour une
  liste complete des options de setserial.

  66..  CCoommmmeenntt uuttiilliisseerr mmoonn mmooddeemm eenn eemmiissssiioonn ??

  66..11..  MMaatteerriieell nneecceessssaaiirree

  Avant tout, assurez-vous d'avoir le bon cable. Votre  modem  a  besoin
  d'un  cable tout simple, sans interversion de broches.  Vous trouverez
  ca dans n'importe quelle officine specialisee.   Faites  attention  au
  genre  des  connecteurs  :  le port serie DB25 de votre ordinateur est
  toujours male, ne le confondez pas avec le  port  parallele,  qui  est
  femelle.  Branchez votre modem sur l'un de vos ports serie ; consultez
  le manuel de votre modem pour plus de precisions.

  66..11..11..  NNootteess ssuurr lleess mmooddeemmss iinntteerrnneess

  Pour un modem interne, vous n'avez  pas  besoin  de  cable.  Un  modem
  interne n'a pas besoin de port serie, dans la mesure ou il en comprend
  un. Il n'est besoin que de le configurer sur une  interruption  libre,
  et de fixer son adresse d'I/O. Si vous sechez, reportez-vous au manuel
  de votre modem. Si vous avez besoin d'aide quant au choix des adresses
  I/O  ou des interruptions, voyez la section ``Puis-je utiliser plus de
  2 peripheriques serie ?''.

  Du fait d'erreurs d'IBM, il est possible que vous ayez des difficultes
  a  installer  votre  modem  interne sur ttyS3. Si Linux ne detecte pas
  votre modem interne sur ttyS3, remediez au probleme avec  setserial  ;
  sur ttyS{0-2}, la detection devrait se faire sans aucun probleme.

  66..22..  CCoommmmuunniiqquueerr aavveecc vvoottrree mmooddeemm

  Utilisez  un  programme  de  comm  simple  comme  kermit  pour  tester
  l'installation, avant de vous  jeter  sur  les  programmes  complexes.
  (Pour   des   raisons  legales,  kermit  n'est  pas  fourni  avec  les
  distributions commerciales. On trouvera la derniere version de  kermit
  sur   sunsite.unc.edu:/pub/Linux/apps/comm   et   sur   ses  miroirs).
  Supposons par exemple que votre modem est installe sur ttyS3, et qu'il
  peut travailler a 38400 bps.  Effectuez les manoeuvres suivantes :

  linux# kermit
  C-Kermit 5A(188), 23 Nov 92, POSIX
  Type ? or HELP for help
  C-Kermit>set line /dev/cua3
  C-Kermit>set speed 38400
  /dev/cua3, 38400 bps
  C-Kermit>c
  Connecting to /dev/cua3, speed 38400.
  The escape character is Ctrl-\ (ASCII 28, FS)
  Type the escape character followed by C to get back,
  or followed by ? to see other options.
  AT
  OK
  <ctrl>-\-C
  (Back to Linux)
  C-Kermit>quit
  linux#

  Si  votre  modem  repond aux commandes AT, vous pouvez raisonnablement
  penser qu'il coopere avec Linux. Essayez de vous connecter a un  autre
  modem.   Si   vous   n'aimez  pas  kermit,  essayez  un  programme  de
  communication un peu plus evolue. Consultez la section ``Programmes de
  communication''   si  vous  avez  besoin  de  noms  de  programmes  de
  communication.

  En emission, configurez votre modem sur la vitesse maximum dont il est
  capable. Il n'existe pas de parametres sous kermit permettant de fixer
  la vitesse a 57600 ou 115200 bps; il faut donc utiliser setserial pour
  atteindre ces debits. Voyez la section ``Comment configurer  mes ports
  series pour de plus hauts debits?''  pour  en  savoir  plus.  Ensuite,
  choisissez   une   vitesse  de  38400  bps  dans  votre  programme  de
  communications.

  66..33..  CCoonnffiigguurraattiioonn dduu mmooddeemm ppoouurr ll''eemmiissssiioonn

  Pour une utilisation restreinte a l'emission, vous  pouvez  configurer
  votre modem comme bon vous semble. Si vous voulez utiliser votre modem
  en reception, il est _i_m_p_e_r_a_t_i_f de configurer le  modem  pour  la  meme
  vitesse  que  getty. Ainsi, si getty doit tourner a 38400 bps, il faut
  egalement fixer la vitesse du modem a 38400 bps, afin de prevenir  les
  differences de regime entre l'ordinateur et le modem.

  J'aime  bien  voir les codes retour, donc je selectionne l'option Q0 -
  avec codes retour. Pour configurer mon modem avec cette option, il  me
  faut  prefixer  le  nom  de  registre par AT.  Avec kermit ou un autre
  programme de communication, mettez-vous en mode terminal, et  tapez  :
  ATQ0  Si  votre modem vous repond OK, l'option est selectionnee.  Vous
  procederez  ainsi  pour  toutes   les   options   que   vous   voudrez
  selectionner.

  J'aime  egalement  voir  ce que je tape, donc je choisis l'option E1 -
  echo on. Si votre modem sait faire de la compression de donnees,  cela
  peut valoir le coup de l'activer.  Consultez la documentation de votre
  modem pour plus de precisions, notamment pour la  liste  complete  des
  options.    Si   votre  modem  offre  la  possibilite  de  stocker  sa
  configuration, ne vous en privez pas  (souvent  grace  a  la  commande
  AT&W; mais cela varie selon les constructeurs). Sinon, il faudra fixer
  les valeurs des registres lors de chaque allumage ou reset du modem.

  66..44..  CCoonnttrroolleess ddee fflluuxx mmaatteerriieell

  Si votre  modem  autorise  le  controle  de  flux  materiel,  je  vous
  recommande  fortement de l'utiliser.  C'est particulierement important
  pour les modems qui proposent de la compression de donnees au vol.  Il
  vous  faudra  d'abord activer le controle de flux materiel sur le port
  serie  lui-meme.   La  meilleure  solution   est   de   le   faire   a
  l'initialisation  (dans  rc.local ou dans rc.serial). Assurez-vous que
  ces fichiers sont bien lances par le fichier  de  demarrage  principal
  rc.M  !   Pour  chacun des ports serie sur lesquels on veut activer le
  controle de flux materiel, on executera la commande suivante :

       stty crtscts < /dev/cuaN

  Il faut egalement activer le controle de flux RTS/CTS  sur  le  modem.
  Consultez  la  documentation  de  votre modem pour plus de precisions,
  sachant que la commande varie selon les fabricants.  Et n'oubliez  pas
  de sauvegarder la configuration de votre modem s'il le permet.

  77..  CCoommmmeenntt ppuuiiss--jjee eemmeettttrree eett rreecceevvooiirr ddeess aappppeellss aavveecc mmoonn mmooddeemm ??

  Configurez votre modem pour l'emission.  Si  vous  n'avez  pas  lu  la
  section   ``Comment   utiliser   mon  modem  en  emission'',  _l_i_s_e_z_-_l_a
  _m_a_i_n_t_e_n_a_n_t  !  Elle  contient  des   informations   de   configuration
  _e_x_t_r_e_m_e_m_e_n_t importantes.

  77..11..  CCoonnffiigguurraattiioonn dduu mmooddeemm eenn eemmiissssiioonn eett eenn rreecceeppttiioonn

  Pour  utiliser  votre  modem  en  emission  et  en  reception,  il est
  _n_e_c_e_s_s_a_i_r_e de le configurer d'une certaine  facon  (en  utilisant  les
  commandes AT) :

       E1       echo des commandes
       Q0       affichage des codes retour
       V1       mode verbeux
       S0=0     ne jamais repondre (correspond a l'option WAITFOR de uugetty)

  Si  ces options ne sont pas mises, la chaine d'initialisation de votre
  fichier de configuration peut echouer, et planter tout  le  processus.
  J'en dirai plus sur les fichiers de configuration plus bas...

       &C1     DCD est positionne apres la connexion
       &S0     DSR est toujours positionne
               DTR on/off reinitialise le modem (depend du fabricant - RTFM)

  Ces  options  influence  le comportement du modem au debut et a la fin
  des communications.

  Si votre modem ne sait pas stocker sa configuration, il  est  possible
  de  la  memoriser  dans  la chaine INIT du fichier de config, cf.  ci-
  dessous. Certains modems sont equipes de switchs  qui  determinent  le
  positionnement des registres. On s'assurera qu'ils sont egalement bien
  positionnes.

  J'ai commence une collection de configuration pour differents types de
  modems.  Elle n'est pas encore tres fournie, aussi je vous encourage a
  me communiquer vos configurations fonctionnelles. Si a l'inverse  vous
  souhaitez  que  je  vous  envoie  un de mes fichiers de configuration,
  faites moi un mail. Je ne les inclus  pas  ici  pour  des  raisons  de
  place.  Je  dispose actuellement de configurations pour Supra, Telebit
  T1600, USR Courier, USR Sportster et Zoom 14.4/28.8.

  77..22..  IInnssttaallllaattiioonn ddee ggeettttyy__ppss

  Par defaut, getty_ps est configure de maniere a etre  conforme  FSSTND
  (FFileSSystem SSTTaNNDDard), ce qui signifie que les binaires sont localises
  dans   /sbin   et   que   les   fichiers   de    config    s'appellent
  /etc/conf.{uu}getty.ttyS_N.   Ceci   n'est   pas   explicite   dans  la
  documentation ! Cela signifie egalement que le programme recherche ses
  verrous dans le repertoire /var/lock.  On s'assurera de l'existence de
  ce repertoire.

  Si la conformite FSSTND ne vous interesse  pas,  les  binaires  seront
  localises     dans    /etc,    les    fichiers    de    config    dans
  /etc/default/{uu}getty.ttyS_N et les verrous /usr/spool/uucp.  C'est la
  configuration  que  je  preconise  pour  les  utilisateurs d'UUCP, car
  l'UUCP de Taylor a des difficultes  a  trouver  les  fichiers  verrous
  ailleurs que la ou il les attend traditionnellement.

  getty_ps  utilise  syslogd  pour consigner ses messages.  Referez vous
  aux man pages de syslogd(1) et syslog.conf(5) pour installer  syslogd,
  s'il  n'est  pas  deja  actif.   Les  messages  sont consignes avec la
  priorite LOG_AUTH, les  erreurs  avec  la  priorite  LOG_ERR,  et  les
  sorties  de  debogage avec la priorite LOG_DEBUG. Si vous ne souhaitez
  pas utiliser syslogd, vous pouvez editer tune.h dans  les  sources  de
  getty_ps  afin  de consigner les messages dans un fichier (par defaut,
  /var/adm/getty.log).

  Une  fois  les  choix  fondamentaux  concernant  FSSTND   et   syslogd
  effectues,  on  editera  en  consequence tune.h et le Makefile dans le
  repertoire source de getty_ps. On procedera ensuite  a  l'installation
  selon les instructions.

  A  compter  de  maintenant, toutes les mentions de getty se referent a
  getty_ps. Les references a uugetty denotent le uugetty fourni avec  le
  package getty_ps.

  77..33..  CCoonnffiigguurraattiioonn ddee uuuuggeettttyy

  Pour  effectuer  des  communications  entrantes  ou  sortantes, il est
  preferable d'utiliser uugetty, qui  se  charge  des  verrouillages  de
  fichiers.  Editez /etc/gettydefs et ajoutez-y les lignes correspondant
  aux modems (remarquez que ces lignes pointent les unes sur les autres,
  et qu'elles sont donc inappropriees pour des vitesses fixes) :

       # Modem entries
       38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200
       19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600
       9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400
       2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #1200
       1200# B1200 CS8 # B1200 SANE -ISTRIP HUPCL #@S @L @B login: #300
       300# B300 CS8 # B300 SANE -ISTRIP HUPCL #@S @L @B login: #38400

  Si  vous  possedez un modem 9600 bps ou mieux, vous pouvez verrouiller
  la vitesse de votre port serie et laisser le  modem  s'occuper  de  la
  traduction  vers  des  vitesses plus faibles. Dans ce cas, vous n'avez
  pas besoin de toutes les lignes listees ci-dessus,  /etc/gettydefs  ne
  doit contenir qu'une ligne pour le modem :

       # vitesse fixe de 38400 bps
       38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S login: #38400
       # vitesse fixe de 19200 bps
       19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S login: #19200
       # vitesse fixe de 9600 bps
       F9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #F9600

  Si  vous  configurez  votre  modem  pour  le controle de flux materiel
  RTS/CTS, vous pouvez ajouter CRTSCTS aux lignes de description :

       # vitesse fixe de 38400 bps avec controle de flux materiel
       F38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F38400
       # vitesse fixe de 19200 bps avec controle de flux materiel
       F19200# B19200 CS8 CRTSCTS # B19200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F19200
       # vitesse fixe de 9600 bps avec controle de flux materiel
       F9600# B9600 CS8 CRTSCTS # B9600 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F9600

  Si vous le desirez, il est possible de demander a  uugetty  d'afficher
  des  choses  interessantes  dans  la  banniere  de connexion. Dans mes
  exemples, j'affiche le nom du systeme, le numero de port serie  et  la
  vitesse   courante   en  bps.  Il  est  possible  d'afficher  d'autres
  informations :

                   @B      Vitesse de transmission (evaluee lors de l'interpretation du @B).
                   @D      Date courante, au format MM/DD/YY.
                   @L      Ligne serie a laquelle getty est attache.
                   @S      Nom du systeme.
                   @T      Heure courante, au format HH:MM:SS (sur 24 heures)
                   @U      Nombre d'utilisateurs connectes. C'est le decompte des lignes
                                   de /etc/utmp dont le champ ut_name est renseigne.
                   @V      Valeur de VERSION, telle qu'elle est donnee dans le fichier des
                                   valeurs par defaut.
                   Pour afficher un '@' unique, il est possible d'utiliser '\@' ou '@@'.

  Ensuite, verifiez  que  vous  avez  un  peripherique  d'entree  et  un
  peripherique  de  sortie  pour le port serie de votre modem.  Si votre
  modem est sur ttyS3, vous aurez besoin des peripheriques /dev/cua3  et
  /dev/ttyS3.  Si vous n'avez pas les periphs necessaires, reportez-vous
  a la section ``Creation  des  peripheriques  dans  <tt>/dev</tt>''  et
  creez-les.

  77..44..  PPaarraammeettrraaggee ddee uuuuggeettttyy

  Pour  chacun  des ports series dont vous disposez, il y a une foule de
  parametres ajustables. Ces parametres sont decrits dans  des  fichiers
  de  configuration  specifiques a chaque port.  Le parametrage commun a
  _t_o_u_s les  ports  est  regi  par  le  fichier  /etc/conf.uugetty  ;  le
  parametrage    specifique    au   port   ttyS_N   depend   du   fichier
  /etc/conf.uugetty.ttyS_N.  Avec les sources de getty_ps, incluses  dans
  la  plupart  des  distributions  Linux,  sont  fournis des exemples de
  fichiers de configuration ; nous ne les listons pas ici par  souci  de
  compacite.   Pour  memoire,  les utilisateurs de versions obsoletes de
  getty (anterieures a la 2.0.7e) et ceux qui ne se  conforment  pas  au
  standard  FSSTND  trouveront  les fichiers de configuration par defaut
  dans      /etc/default/uugetty.ttyS_N.      Sur       ma       machine,
  /etc/conf.uugetty.ttyS3 a la physionomie suivante :

       # exemple de fichier de config. uugetty pour modem compatible Hayes
       # permettant les receptions.
       #

       # fichiers verrous a verifier... si l'un des fichiers existe, uugetty est
       # relance afin de reinitialiser le modem
       ALTLOCK=cua3
       ALTLINE=cua3
       # ligne d'initialisation
       INITLINE=cua3
       # duree d'inactivite apres laquelle la deconnexion est effective
       TIMEOUT=60
       # chaine d'initialisation du modem
       # format: <signal attendu> <reponse> ... (sequence 'chat')
       INIT="" AT\r OK\r\n
       WAITFOR=RING
       CONNECT="" ATA\r CONNECT\s\A
       # cette ligne fixe le delai avant l'envoi de la banniere de connexion
       DELAY=1
       #DEBUG=010

  Pour qu'uugetty soit lance sur le port serie voulu, on ajoute la ligne
  suivante  (au  port,  vitesse  et  terminal   par   defaut   pres)   a
  /etc/inittab :

       S3:456:respawn:/etc/uugetty ttyS3 38400

  Puis on relance init :

       linux# init q

  Il  est  souhaitable  que la ligne d'initialisation de inittab fixe la
  vitesse la plus elevee atteignable par votre modem. Comme il  n'existe
  pas de parametres permettant de fixer la vitesse a 57600 ou 115200, il
  faut utiliser setserial pour initialiser un port serie a plus de 38400
  bps.  Referez-vous  a la section ``Comment initialiser mes ports serie
  pour de hauts debits ?''  pour plus de precisions. Puis,  utilisez  la
  vitesse 38400 dans inittab.

  Dorenavant,  Linux  surveille  les connexions possibles sur votre port
  serie . Appelez d'un autre site,  et  loggez-vous  sur  votre  machine
  Linux.  Alleluia.

  uugetty  ont  des myriades d'options supplementaires, referez-vous aux
  man pages de getty(1) pour une liste complete.  Entre autres, il  y  a
  la  possibilite  de  se  faire rappeler par le modem, ou d'etablir des
  appels automatiques. RTFM :-)

  77..55..  SSppeecciiffiicciittee UUSS RRoobboottiiccss

  Pour que mon USR Courier  se  reinitialise  correctement  lorsque  DTR
  tombe, il m'a fallu ajouter les initialisation &D2 and S13=1.

  77..66..  SSppeecciiffiicciittee SSuupprraa

  Les  Supra  ne  traitent  pas  DCD  comme  les  autres modems. Si vous
  utilisez un Supra, il vous faut positionner  &C0  et  _p_a_s  &C1.   Pour
  gerer DTR correctement, il faut egalement positionner &D2.

  88..  CCoommmmeenntt ccoonnnneecctteerr uunn tteerrmmiinnaall aa vvoottrree PPCC ??

  88..11..  MMaatteerriieell nneecceessssaaiirree

  Faites  attention  a  votre  cable.  Un cable null modem devrait faire
  l'affaire, mais assurez-vous que c'est un _n_u_l_l _m_o_d_e_m !  Verifiez aussi
  que vous utilisez bien un port serie, et non un port parallele.

  Vous  devez  avoir  au  minimum le brochage suivant (sur un connecteur
  DB25) :

          RxD     Receive Data                            2 - 3   TxD     Transmit Data
          TxD     Transmit Data                           3 - 2   RxD     Receive Data
          GND     Terre                                                   7 - 7   GND     Terre

  Pour activer les controles de flux materiel et logiciel, il vous  faut
  un cable null modem complet :

                  Terre de protection             1 - 1                   Terre de protection
          RxD     Receive Data                            2 - 3   TxD     Transmit Data
          TxD     Transmit Data                           3 - 2   RxD     Receive Data
          RTS     Request To Send                 4 - 5   CTS     Clear To Send
          CTS     Clear To Send                           5 - 4   RTS     Request To Send
          DSR     Data Set Ready                          6 - 20  DTR     Data Terminal Ready
          GND     Signal Ground                           7 - 7   GND     Signal Ground
          DCD     Carrier Detect                          8 - 20  DTR     Data Terminal Ready
          DTR     Data Terminal Ready             20 - 6  DSR   Data Set Ready
          DTR     Data Terminal Ready             20 - 8  DCD   Carrier Detect

  Pour  un  port  monte  sur  connecteur  DB9,  on  essaiera le brochage
  suivant :

                                                                           DB9   DB25
          RxD     Receive Data                    2 - 3   TxD     Transmit Data
          TxD     Transmit Data                   3 - 2   RxD     Receive Data
          GND     Signal Ground                   5 - 7   GND     Signal Ground

  Enfin, pour un cable null modem DB9-DB25 :

                                   DB9   DB25
          DCD     Carrier Detect          1 - 20 DTR       Data Terminal Ready
          RxD     Receive Data                    2 - 2  TxD       Transmit Data
          TxD     Transmit Data                   3 - 3  RxD       Receive Data
          DTR     Data Terminal Ready     4 - 6  DSR       Data Set Ready
          DTR     Data Terminal Ready     4 - 8  DCD       Carrier Detect
          GND     Signal Ground                   5 - 7  GND       Signal Ground
          DSR     Data Set Ready          6 - 20 DTR       Data Terminal Ready
          RTS     Request To Send         7 - 5  CTS       Clear To Send
          CTS     Clear To Send                   8 - 4  RTS       Request To Send
          (RI Ring Indicator              9 inutile)

  Si votre brochage n'est pas 100% null modem, il est toujours  possible
  de  recourir  a l'astuce suivante : du cote de votre machine, branchez
  RTS sur CTS, et faites de meme pour DSR, DCD et DTR ;  ainsi,  lorsque
  la machine attend un signal de reconnaissance, elle le recoit (d'elle-
  meme).

  Une fois la question du cable  reglee,  connectez  votre  terminal  au
  serveur. Dans la mesure du possible, configurez le terminal afin qu'il
  ignore les signaux de controle modem. Essayez de  le  configurer  pour
  9600 bps, 8 bits de donnees, 1 bit de stop, pas de parite.

  88..22..  CCoonnffiigguurraattiioonn ddee ggeettttyy

  Installez  getty_ps,  comme  decrit  dans la section ``Installation de
  <tt/getty_ps/''.  Ajoutez une ligne de getty propre au  terminal  dans
  /etc/gettydefs :

       #Ligne de description d'un terminal passif 38400 bps
       DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #S @L login: #DT38400
       #Ligne de description d'un terminal passif 19200 bps
       DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #S @L login: #DT19200
       #Ligne de description d'un terminal passif 9600 bps
       DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #S @L login: #DT9600

  Si  vous  le desirez, il est possible de demander a uugetty d'afficher
  des choses interessantes dans  la  banniere  de  connexion.  Dans  mes
  exemples,  j'affiche  le nom du systeme, le numero de port serie et la
  vitesse  courante  en  bps.  Il  est  possible   d'afficher   d'autres
  informations :

        @B      Vitesse de transmission (evaluee lors de l'interpretation du @B).
        @D      Date courante, au format MM/DD/YY.
        @L      Ligne serie a laquelle getty est attache.
        @S      Nom du systeme.
        @T      Heure courante, au format HH:MM:SS (sur 24 heures)
        @U      Nombre d'utilisateurs connectes. C'est le decompte des lignes
                        de /etc/utmp dont le champ ut_name est renseigne.
        @V      Valeur de VERSION, telle qu'elle est donnee dans le fichier des
                        valeurs par defaut.
                        Pour afficher un '@' unique, il est possible d'utiliser '\@' ou '@@'.

  Modifiez  ensuite  le fichier /etc/inittab afin de lancer getty sur le
  port serie adequat (sans omettre de remplacer les  valeurs  ci-dessous
  par celles qui conviennent dans votre environnement) :

       S1:456:respawn:/etc/getty ttyS1 DT9600 vt100

  Relancez init :

       linux# init q

  Arrive  a  ce  point, l'invite de login devrait etre visible sur votre
  terminal. Il sera peut-etre necessaire d'appuyer un peu sur la  touche
  Entree pour eveiller l'interet du terminal. Alleluia. Hosannah.

  88..33..  NNootteess ssuurr llaa ccoonnffiigguurraattiioonn dd''uunn PPCC eenn tteerrmmiinnaall

  Une  foule  de  gens utilisent des PC comme terminaux connectes a leur
  machine Linux. Les vieux 8088 ou 286 se  pretent  parfaitement  a  cet
  usage.  Il  n'est  besoin que d'un disque de boot et d'un programme de
  communication pour le terminal-PC. kermit fait assez  bien  l'affaire.
  On  trouve  des  binaires kermit pour a peu pres tous les OS existants
  sur watsun.cc.columbia.edu:/pub/ftp/kermit.   D'autres  programmes  de
  communication  DOS  courants,  comme  telix  ou  procomm  peuvent etre
  utilises. Souvenez-vous de fixer le bon numero de port serie  dans  la
  configuration de comm du terminal-PC

  99..  PPuuiiss--jjee uuttiilliisseerr pplluuss ddee 22 ppeerriipphheerriiqquueess sseerriiee ??

  La  lecture  de  cette  section  n'est  pas  indispensable, a moins de
  vouloir utiliser plus de 2 ports serie...(sans  disposer  d'une  carte
  multiports).

  Du moment qu'il vous reste un port serie inutilise, tout a fait.

  Le  nombre  de  ports  serie utilisable n'est limite que par le nombre
  d'interruptions (IRQ) et de ports d'entree/sortie disponibles.  Chaque
  peripherique serie doit posseder un IRQ et une adresse de port I/O qui
  lui sont propres. Un peripherique serie peut etre un  port  serie,  un
  modem interne, ou une carte multiserie.

  Les  cartes  multiserie rassemblent tous leurs ports serie sur un seul
  IRQ.  Linux echange des  donnees  avec  les  ports  en  utilisant  une
  adresse d'I/O specifique a chacun des ports serie de la carte.

  99..11..  SSeelleeccttiioonn ddeess IIRRQQ ddee ppeerriipphheerriiqquueess sseerriiee

  Par defaut, votre PC est configure avec ttyS0 et ttyS2 sur l'IRQ 4, et
  ttyS1 et ttyS3 sur l'IRQ 3. Pour  utiliser  plus  de  2  peripheriques
  serie,  il  va  falloir  sacrifier  une  interruption.   On suggere de
  detourner une interruption du port parallele  : les PC sont configures
  en standard pour l'utilisation de IRQ 5 et 7 par les ports paralleles,
  mais il est rare qu'on  utilise  2  ports  paralleles.   Il  est  donc
  possible  de  detourner  l'un  des  2  IRQ au profit d'un peripherique
  serie, via setserial, et de continuer a disposer d'un port  parallele.
  Il  faudra certainement tripoter les cavaliers de vos cartes, afin que
  chaque  port  corresponde   a   l'IRQ   choisi   ;   consultez   leurs
  documentations respectives.

  En  tout  etat de cause, il ne doit y avoir qu'une et une seul IRQ par
  peripherique serie. Voici  comment  les  miens  sont  configures  dans
  /etc/rc.d/rc.local  -  vous  devez le faire a un moment ou un autre de
  l'initialisation :

               /etc/setserial /dev/cua0 irq 3          # ma souris
               /etc/setserial /dev/cua1 irq 4          # mon terminal Wyse
               /etc/setserial /dev/cua2 irq 5          # mon modem Zoom
               /etc/setserial /dev/cua3 irq 9          # mon modem USR

  Affectations d'IRQ standard :

                  IRQ  0  Sequenceur systeme
                  IRQ  1  Clavier
                  IRQ  2  Cascade sur le second controleur d'interruption
                  IRQ  3  Premier port serie
                  IRQ  4  Deuxieme port serie
                  IRQ  5  Deuxieme port parallele
                  IRQ  6  Lecteur de disquette
                  IRQ  7  Premier port parallele
                  IRQ  8  Horloge temps reel
                  IRQ  9  redirige sur IRQ2
                  IRQ 10  Libre
                  IRQ 11  Libre
                  IRQ 12  Libre
                  IRQ 13  Coprocesseur mathematique
                  IRQ 14  Controleur de disque dur
                  IRQ 15  Libre

  Il n'y a pas vraiment de maniere Politiquement Correcte de choisir les
  IRQ.  La  seule  chose  a  faire  est de s'assurer qu'ils sont libres.
  2,3,4,5 et 7 sont des candidats valables. ``Libre'' signifie que  pour
  l'heure, aucune utilisation standard de l'IRQ n'est connue.  On notera
  que IRQ 2 et IRQ 9 sont equivalents ; vous pouvez l'appeler 2 ou 9, le
  pilote serie est extremement complaisant.

  Avec  les  cartes  serie 16 bits, il est egalement possible d'utiliser
  les IRQ 10, 11, 12 et 15.

  N'utilisez pas les IRQ 0, 1, 6, 8, 13 et 14 ! Elles  sont  necessaires
  au  fonctionnement  de la carte-mere. En lui prenant ses IRQ, vous lui
  feriez beaucoup de peine.

  99..22..  CChhooiixx ddeess aaddrreesssseess ddee ppoorrttss II//OO

  Il  faut  ensuite  fixer  les  adresses  de   ports   d'entree/sortie.
  Consultez  le  manuel  de  votre  carte  pour  toute  manipulation  de
  cavaliers. A l'instar des interruptions, chaque  adresse  de  port  ne
  peut  correspondre  qu'a un seul peripherique serie.  La configuration
  standard des ports d'entree/sortie est la suivante :

               ttyS0 addresse 0x3f8
               ttyS1 addresse 0x2f8
               ttyS2 addresse 0x3e8
               ttyS3 addresse 0x2e8

  Choisissez les adresses de vos peripheriques serie, et positionnez les
  cavaliers en consequence. Mon modem est sur ttyS3, ma souris sur ttyS0
  et mon terminal sur ttyS2.

  Au prochain demarrage, Linux 'verra' vos ports serie aux adresses  que
  vous  avez  configurees.  Les IRQ affichees peuvent en revanche ne pas
  correspondre aux positionnements de cavaliers. Ne  vous  en  inquietez
  pas. Linux ne cherche pas a detecter les IRQ lors de l'initialisation,
  car le processus est hasardeux et peu fiable.  Il  est  necessaire  de
  lancer setserial pour informer Linux des IRQ utilises par les ports.

  1100..  CCoommmmeenntt iinniittiiaalliisseerr mmeess ppoorrttss sseerriiee ppoouurr ddee hhaauuttss ddeebbiittss ?? QQuueellllee
  vviitteessssee cchhooiissiirr ppoouurr mmoonn mmooddeemm ??

  Cette  section  devrait  vous aider a determiner la vitesse appropriee
  pour utiliser votre modem avec un programme de communication, ou  avec
  un des getty.

  +o  Si  votre  modem  n'atteint  pas  le V.32 (9600 bps), choisissez la
     vitesse maximale supportee. Par exemple 300, 1200 ou 2400 bps.

  +o  Si vous avez un modem V.32 (9600 bps) qui supporte le mode  V.42bis
     (compression  de  donnees  au vol), configurez une vitesse de 38400
     bps.  La compression V.42bis donne un ration _t_h_e_o_r_i_q_u_e de 4 pour 1,
     soit ``4 * 9600 = 38400''.

  +o  Si  vous  avez  un  modem  V.32bis  (14400  bps) supportant le mode
     V.42bis, utilisez setserial avec l'option  spd_hi  pour  configurer
     votre port serie a 57600 bps (4 * 14400 = 57600).

     Pour  un  modem  28.8  (V.FC  ou V.34), faites de meme (4 * 28800 =
     115200).

     Puis, choisissez 38400 comme vitesse dans votre programme de comms,
     ou  dans  inittab.  La  vitesse  effective  sera  celle  fixee  par
     setserial. Il n'existe pas de  parametre  permettant  de  fixer  la
     vitesse a 57600 ou 115200 bps (quoique le support en ait ete ajoute
     dans la 1.1.65, et se concretisera bientot). Assurez-vous  que  vos
     UARTs sont bien des 16550A :-).

  Modifiez   /etc/rc.d/rc.serial   ou  /etc/rc.d/rc.local  afin  que  la
  configuration soit prise en compte lors de l'initialisation. Dans  mon
  /etc/rc.d/rc.local,  je  configure  ttyS3  a  115200 bps de la maniere
  suivante :

       /sbin/setserial /dev/cua3 spd_vhi

  1111..  PPrrooggrraammmmeess eett uuttiilliittaaiirreess ddee ccoommmmuunniiccaattiioonnss

  Maintenant que  tout  marche,  il  vous  est  loisible  d'essayer  des
  programmes  un  peu  plus evolues. Tous sont disponibles sur les sites
  FTP habituels, s'ils ne font pas partie de votre distribution.

  +o  ecu - programme de communication

  +o  minicom - programme de communication clone de telix

  +o  procomm - clone de Procomm avec zmodem

  +o  seyon - programme de communication sous X

  +o  xc - paquetage de communication xcomm

  Ces programmes offrent plus de possibilites que le pauvre  kermit,  et
  notamment   des   repertoires  telephoniques,  des  sequences  d'appel
  programmees, etc.

  +o  term est  un  autre  programme  tres  utile.  term  multiplexe  des
     connexions  sur  une  ligne serie. Il a quelques ressemblances avec
     SLIP, et certaines de ses  fonctionnalites.   Entre  autre  rlogin,
     telnet,  ftp,  finger,  rdate,  xmosaic  et  tredir.   redir est un
     programme  special  qui  permet  la  redirection  de  ports  TCP/IP
     eloignes sur une machine locale ; ce qui autorise des acces NNTP et
     SMTP distants. term est particulierement interessant  en  ce  qu'il
     tourne  entierement dans l'espace utilisateur, sans besoin aucun de
     support de la part du noyau ou de sysadmin (contrairement a  SLIP).

  +o  screen  est  un  programme multi-session ; il se comporte comme les
     consoles virtuelles.

  +o  callback permet de se faire rappeler a l'endroit d'ou l'on vient de
     se connecter.

  +o  mgetty+fax offre des services FAX, et se comporte comme getty.

  +o  ZyXEL est un programme de controle pour les modems ZyXEL U-1496. Il
     gere les communications entrantes et sortantes,  le  procedures  de
     rappel  de  securite,  le  FAX  et  offre  des  fonctionnalites  de
     messagerie vocale.

  +o  D'autres  programmes   interessants   sont   recuperables   sur   :
     sunsite.unc.edu:/pub/Linux/system/Serial et
     sunsite.unc.edu:/pub/Linux/apps/comm et leurs nombreux miroirs.  Ce
     sont les repertoires ou sont ranges tous les fichiers relatifs  aux
     communications series.

  1122..  SSaavvooiirr--ffaaiirree sseerriiee

  Quelques  conseils  peut-etre  utiles  en  matiere  de  communications
  serie...

  1122..11..  kkeerrmmiitt et zmodem

  Pour se servir de  zmodem  avec  kermit,  il  faut  ajouter  la  ligne
  suivante dans .kermrc :

       define rz !rz < /dev/cua3 > /dev/cua3
       define sz !sz \%0 > /dev/cua3 < /dev/cua3

  Le peripherique ci-dessus doit bien entendu etre celui dont se sert le
  modem. Pour utiliser zmodem, tapez ensuite rz ou sz <nom de fichier  a
  l'invite de kermit.

  1122..22..  CCoonnffiigguurraattiioonn aauuttoommaattiiqquuee dduu ttyyppee ddeess tteerrmmiinnaauuxx

  Pour  que le terminal soit automagiquement configure au login, il faut
  renseigner le type de terminal dans la ligne idoine  de  /etc/inittab.
  Par exemple, pour avoir un terminal vt100 sur ttyS1, il faut ecrire :

       S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100

  dans /etc/inittab.

  Le  site sunsite.unc.edu:/pub/Linux/system/Terminal-management/ permet
  de recuperer tset.  Voyez la documentation fournie avec tset pour  les
  details   d'utilisation.   tset  sait  etablir  la  configuration  des
  terminaux au login, et ce sans necessiter de fichiers de  valeurs  par
  defaut.

  1122..33..  llss en couleur et les communications serie

  Si  la coloration des types de fichiers par ls perturbe l'emulation de
  terminal, il faut se passer de cette option. ls --color et ls --colour
  se  servent  tous  de  la  coloration de type. Certaines installations
  offrent un ls se servant par defaut de cette  option.   Verifiez  dans
  /etc/profile  et  /etc/csh.cshrc que ls n'est pas un alias. Si vous ne
  voulez pas changer les valeurs par  defaut  du  systeme,  vous  pouvez
  egalement aliasser ls par ls --no-color.

  1122..44..  IImmpprreessssiioonn ssuurr iimmpprriimmaannttee ccoonnnneecctteeee aauu tteerrmmiinnaall

  Le  programme  vtprint,  ecrit  par  Garrett  D'Amore garrett@sdsu.edu
  permet ce genre de chose.
  Il  est  disponible  sur  ftp.sdsu.edu:/pub/vtprint,  ainsi  que   sur
  http://www.sdsu.edu/~garrett/.  Voici un extrait du README fourni avec
  le programme :

       vtprint  est  un  programme   permettant   a   l'utilisateur
       d'imprimer a partir d'une machine UNIX distante sur une imp-
       rimante connectee au terminal ou a l'emulateur local.  C'est
       tres  pratique  pour  imprimer  des  fichiers chez soi, etc.
       (Attention, ne fonctionne que pour les fichiers texte).

  1122..55..    LLiinnuuxx   ssaaiitt--iill   ccoonnffiigguurreerr    lleess    ppeerriipphheerriiqquueess    sseerriiee
  aauuttoommaaggiiqquueemmeenntt ??

  Oui. Pour que Linux repe;re  et  configure  les  peripheriques  series
  automatiquement lors de l'initialisation, il suffit d'ajouter la ligne
  suivante :

       /sbin/setserial /dev/cuaN auto_irq skip_test autoconfig

  soit dans /etc/rc.d/rc.local, soit dans /etc/rc.d/rc.serial, pour cha-
  cun  des  ports  series  dont  on desire la configuration automatique.
  L'existence du peripherique cite est cruciale pour le  deroulement  de
  l'operation.

  1122..55..11..  NNootteess rreellaattiivveess aauuxx ccaarrtteess mmuullttiisseerriieess

  Pour  ce qui est des adresses de carte et des IRQ, regardez le fichier
  rc.serial fourni avec setserial. Il contient une  foule  d'information
  sur  les  cartes  multiport, et notamment des adresses de ports I/O et
  des noms de peripheriques.

  1133..  SSiitteess FFTTPP LLiinnuuxx

       sunsite.unc.edu(152.2.22.81):/pub/Linux (NC, USA)
       tsx-11.mit.edu(18.172.1.2):/pub/linux           (MA, USA)
       nic.funet.fi(128.214.6.100):/pub/OS/Linux (Finlande, Europe)

  sunsite.unc.edu est le site FTP Linux officiel, et possede de nombreux
  miroirs.  Essayez  d'utiliser  les  sites  miroirs,  afin d'alleger la
  charge de sunsite.

  Miroirs de sunsite (sunsite.unc.edu:/pub/Linux/MIRRORS) :

  * CONTINENT
  - PAYS
     VILLE...  Site FTP Repertoire
  ------------------------------------------------------------------------
  * Africa
  - Aucun aujourd'hui
  * Asia
  - Thailande
          Bangkok...  ftp.nectec.or.th  /pub/mirrors/linux/
  - Hong Kong
            ...  ftp.cs.cuhk.hk  /pub/Linux/
  - Republique de Singapour
          Singapour...  ftp.nus.sg  /pub/unix/Linux/
  - Japon
          Inconnu...  ftp.spin.ad.jp  /pub/linux/sunsite.unc.edu/
  * Australia
          Adelaide...  smug.student.adelaide.edu.au  /pub/sunsite.linux/
          Brisbane...  ftp.dstc.edu.au  /pub/linux/
  * Europe
  - Austria
          Graz...  ftp.tu-graz.ac.at  /pub/Linux/
  - Czech Republic
          Brno...  ftp.fi.muni.cz  /pub/UNIX/linux/
          Prague...  pub.vse.cz  /pub/386-unix/linux/
  - France
          Angers...  ftp.univ-angers.fr  /pub/linux/
          Nancy...  ftp.loria.fr  /pub/linux/sunsite/
  - Germany (Deutschland)
          Aachen...  ftp.dfv.rwth-aachen.de  /pub/linux/sunsite/
          Dortmund...  ftp.germany.eu.net  /pub/os/Linux/Mirror.SunSITE/
          Dresden...  ftp.tu-dresden.de  /pub/Linux/sunsite/
          Erlangen...  ftp.uni-erlangen.de  /pub/Linux/MIRROR.sunsite/
          Mannheim...  ftp.ba-mannheim.de  /pub/linux/mirror.sunsite/
          Paderborn...  ftp.uni-paderborn.de  /pub/Mirrors/sunsite.unc.edu/
          Rostock...  ftp.uni-rostock.de  /Linux/sunsite/
          Stuttgart...  ftp.rus.uni-stuttgart.de  /pub/unix/systems/linux/MIRROR.sunsite/
          Tuebingen...  ftp.uni-tuebingen.de  /pub/linux/Mirror.sunsite/
     Ulm...  ftp.rz.uni-ulm.de  /pub/mirrors/linux/sunsite/
          Inconnu...  ftp.gwdg.de  /pub/linux/mirrors/sunsite/
  - Hungary
          Budapest...  ftp.kfki.hu  /pub/linux/
  - Italy
          Pisa...  cnuce-arch.cnr.it  /pub/Linux/
  - Switzerland
          Zurich...  ftp.switch.ch  /mirror/linux/
  - Turkey (Turkiye)
          Ankara...  ftp.metu.edu.tr  /pub/linux/sunsite/
  - United Kingdom
          Coventry...  ftp.maths.warwick.ac.uk  /mirrors/linux/sunsite.unc-mirror/
          London...  src.doc.ic.ac.uk  /packages/linux/sunsite.unc-mirror/
          Mildenhall...  ftp.dungeon.com  /pub/linux/sunsite-mirror/
  * North America
  - United States
          Atlanta, GA...  ftp.cc.gatech.edu  /pub/linux/
          Chapel Hill, NC...  sunsite.unc.edu  /pub/Linux/
     Fayetteville, AR...  ftp.engr.uark.edu  /pub/linux/sunsite/
          Flagstaff, AZ...  ftp.infomagic.com  /pub/mirrors/linux/sunsite/
          Midwest...  ftp.wit.com  /systems/unix/linux/
          Mt. Pleasant, MI...  ftp.cps.cmich.edu  /pub/linux/sunsite/
          Rochester, NY...  ftp.rge.com  /pub/linux/sunsite/
          Salt Lake City, UT...  ftp.pht.com  /mirrors/linux/sunsite/
          Urbana, IL...  mrcnext.cso.uiuc.edu  /pub/linux/
          Inconnu...  ftp.linux.org  /pub/mirrors/sunsite/
          Inconnu...  ftp.orst.edu  /pub/mirrors/sunsite.unc.edu/linux/
          Inconnu...  ftp.iquest.com  /pub/linux/sunsite/
          Inconnu...  ftp.yggdrasil.com  mirrors/sunsite/
  * South America
  - Chile
          ftp.inf.utfsm.cl      /pub/Linux
  * Inconnu
  - Si vous savez ou sont localises ces sites, faites le savoir a ewt@sunsite.unc.edu.
          ...  ftp.linux.org  /pub/mirrors/sunsite/
          ...  ftp.gwdg.de  /pub/linux/mirrors/sunsite/
          ...  ftp.orst.edu  /pub/mirrors/sunsite.unc.edu/linux/
          ...  ftp.iquest.com  /pub/linux/sunsite/
          ...  ftp.spin.ad.jp  /pub/linux/sunsite.unc.edu/
          ...  ftp.yggdrasil.com  mirrors/sunsite/

  Ces sites offrent un FTP anonyme, ou l'on se connecte sous le  nom  de
  ftp,    avec    son    adresse    E-mail    comme    mot    de   passe
  (nom_d_utilisateur@ordinateur.domaine).

  1144..  CCrreeuussoonnss uunn ppeeuu......

  Il n'est pas indispensable de lire cette section; elle peut  toutefois
  renforcer vos connaissances en telecommunications ou Unix.

  1144..11..  QQuu''eesstt--ccee qquuee lleess ffiicchhiieerrss vveerrrroouuss ((lloocckkss)) ??

  Les   verrous  (locks)  sont  de  simples  fichiers  signifiant  qu'un
  peripherique  est  en  cours  d'utilisation.  Ils  sont  stockes  dans
  /usr/spool/uucp  ou  dans  /var/lock.   Les  locks  Linux  sont nommes
  LCK..<name, ou <name est soit le nom  d'un  peripherique,  soit  celui
  d'un  site  UUCP.   Certains  processus  creent des verrous pour avoir
  l'exclusivite  d'utilisations  de  peripheriques  particuliers  ;  par
  exemple,  lors  d'un  appel  modem,  un  fichier  verrou est cree pour
  prevenir les autres processus que le modem n'est pas  disponible.  Les
  fichiers  verrous  contiennent le PID du processus ayant verrouille le
  peripherique. La plupart des programmes verifient  l'existence  et  la
  validite  du  verrou,  en  s'assurant de l'existence dans la table des
  processus du programme l'ayant cree.  Si  le  verrou  est  valide,  le
  processus   cherchant  a  utiliser  le  peripherique  verrouille  doit
  (devrait) stopper. Si le verrou n'est pas valide, certains  programmes
  l'effacent  et  creent  le  leur  a la place.  D'autres abandonnent en
  arguant que le peripherique est en cours d'utilisation.

  1144..22..  ````bbaauudd'''' eett ````bbppss''''

  ``baud'' et ``bps'' sont peut-etre les  termes  les  plus  frequemment
  utilises  a  mauvais  escient dans le domaine de l'informatique et des
  telecoms. Beaucoup les utilisent de  maniere  interchangeables,  alors
  qu'ils recouvrent des choses differentes !

     bbaauudd
        Le debit en bauds mesure le nombre de changements par seconde du
        signal  emis  par  un  modem   (mmoodulateur-ddeemmodulateur).    Par
        exemple,  un debit de 1200 bauds suppose un changement de signal
        toutes les 833 microsecondes. Les  debits  courants  (en  bauds)
        sont 50, 75, 110, 300, 600, 1200 et 2400.  La plupart des modems
        a  hauts  debits  fonctionne   a   2400   bauds.    Les   lignes
        telephoniques vocales ont une bande passante qui rend les debits
        plus eleves difficiles a atteindre, et on ne peut les  maintenir
        que  sur  des lignes de qualite irreprochable. ``baud'' vient du
        nom d'Emile Baudot, l'inventeur du telegraphe asynchrone.
     bbppss
        Le debit en bps est le nombre de bits transmis par seconde.  Les
        debits  courants  (en  bps)  sont  50, 75, 110, 300, 1200, 2400,
        9600, ... 115200.   Avec  la  compression  V.42bis,  des  debits
        _t_h_e_o_r_i_q_u_e_s de 115200 bps sont possibles. C'est ce que la plupart
        des gens entendent lorsqu'ils mesusent du terme ``baud''.

  Donc, si les modems a haut debit font du 2400 bauds, comment  peuvent-
  ils  envoyer 14400 bps ? Les modems obtiennent un debit bps > au debit
  en bauds en codant plusieurs bits par baud. Des que  2  ou  plus  bits
  sont  codes  sur  un seul baud, le debit bps est superieur au debit en
  baud. Lorsque votre modem se connecte a 14400 bps, il  envoie  6  bits
  par baud.

  Quand  cette  meprise  a-t-elle commence ? Bin, quand les modems lents
  d'aujourd'hui etaient les modems haut debit d'antan, les debits en bps
  etaient  les meme que les debits en bauds. Un baud transmettait un bit
  unique.  On utilisait donc indifferemment  les  termes  baud  et  bps,
  puisqu'ils  etaient  representes  par les memes quantites. Tout ceci a
  change avec l'avenement des modems a grande vitesse, lorsque le nombre
  de bits par baud a depasse 1.

  1144..33..   QQuuee  ssoonntt  lleess UUAARRTT ?? CCoommmmeenntt ppeeuuvveenntt--iillss aaffffeecctteerr lleess ppeerrffoorr--
  mmaanncceess  ??

  Les  UART  (UUniversal  AAsyncronous  RReceiver  TTransmitter, ou emetteur
  recepteur asynchrone universel) sont des  chips  loges  sur  la  carte
  serie  de votre PC.  Leur role est de traduire les donnees (octets) en
  bits, d'envoyer chaque bit  individuel  par  la  ligne  serie,  et  de
  reconstruire  les  donnees en reception.  Ils traitent les donnees par
  paquet de 8 bits, ou un octet, ce qui est  la  taille  d'un  caractere
  ASCII.

  Supposons  que  l'on  ait  un  terminal  connecte a un PC. Le terminal
  transmet chaque caractere tape a son UART ; l'UART envoie le caractere
  sur  la  ligne  serie,  bit  par  bit,  a  une  cadence  precise .  En
  reception, l'UART  du  PC  reconstruit  le  caractere  (un  octet)  en
  regroupant les bits recus et le place dans un tampon.

  Il  existe  plusieurs  types d'UART ; vous connaissez probablement les
  UART passifs - le 8250 et le 16450 - et les UART actifs, ou FIFO, tels
  que  le 16550A. Pour comprendre ce qui les differencie, considerons ce
  qui arrive lorsqu'un UART envoie ou receptionne un octet.

  L'UART ne sait rien faire avec les donnees, a part les envoyer ou  les
  recevoir.  La  CPU recoit une interruption chaque fois qu'un octet est
  transmis ou recu. Elle prend alors l'octet recu dans  le  registre  de
  l'UART,  et le place quelque part en memoire ou, selon le cas, donne a
  l'UART un autre octet  a  transmettre.  Les  UART  8250  et  16450  ne
  disposent  que  d'un octet de memoire tampon, ce qui impliquent qu'ils
  doivent interrompre la CPU chaque fois qu'un  octet  est  transmis  ou
  recu.   Pour  de faibles vitesses de transmission, cela ne pose pas de
  probleme.  En revanche, lorsque l'on atteint des vitesses elevees,  la
  CPU  passe son temps a s'occuper des interruptions de l'UART, et n'est
  pas disponible pour d'autres taches. Dans certains cas, la CPU ne peut
  pas  assurer  le  service de l'interruption UART dans les temps, et le
  flot des donnees en entree ecrase la memoire tampon.

  Entree des UART 16550A. Ces puces sont equipees d'un tampon FIFO de 16
  octets.  Elles  peuvent  donc  recevoir  ou  emettre  16  octets avant
  d'interrompre la CPU.  Outre  le  delai  de  reaction  moins  critique
  demande a la CPU, elles lui permettent de transmettre par paquet de 16
  octets. Bien que le seuil  d'interruption  soit  rarement  fixe  a  16
  octets,  cela  represente  un  progres  notoire  par  rapport aux UART
  passifs, equipes d'un seul  octet  tampon.   La  CPU,  recevant  moins
  d'interruptions, est plus disponible pour d'autres taches. Les donnees
  ne sont pas perdues, et tout le monde est bien  content.   (Il  existe
  aussi un UART 16550, mais il fonctionne comme un 16450)

  Jusqu'a  38400  bps, les UART 8250 ou 16450 sont un choix raisonnable.
  Au dela, on peut constater des pertes de donnees, et une reduction  de
  la  vitesse  de l'ordinateur. D'autres systemes d'exploitation pour PC
  (definition elargie) n'etant pas multitache utilisent mieux  les  8250
  ou  les  16450.  C'est  pourquoi les utilisateurs ne constatent aucune
  perte de donnees, jusqu'a ce qu'ils passent sous Linux.

  Certaines cartes multiseries intelligente font l'economie d'UARTs,  et
  les   remplacent   par   des   puces   DSP  effectuant  des  controles
  supplementaires, allegeant ainsi la  charge  de  la  CPU.  Les  cartes
  Cyclades  Cyclom,  ainsi que les Stallion EasyIO utilisent par exemple
  des chips RISC CD-1400 de Cirrus Logic.

  Ayez toutefois present a l'esprit que les UART  passifs  ne  sont  pas
  intrinsequement  mauvais,  seulement  inadaptes aux forts debits.  Une
  souris, ou un terminal peuvent se connecter sans probleme sur un  UART
  passif.  En  revanche,  pour  un  modem  rapide,  il faut envisager un
  16550A.

  Pour quelques sous de  plus,  vous  pouvez  acheter  une  carte  serie
  equipee  de 16550A ; demandez au vendeur quel type d'UART est installe
  sur la carte. Il est egalement possible de remplacer des 16450 par des
  16550A,  les deux puces ayant un brochage compatible.  Certaine cartes
  sont equipee d'UART demontables, et dans le cas contraire, allez-y  au
  fer  a  souder.  Remarquez,  il est plus simple d'acheter une nouvelle
  carte, si vous en vez les moyens. Elles coutent moins de 50 US$.

  1144..44..  //ddeevv//ttttyySS_N ?  Quelle est la difference entre /dev/cua_N et

  La seule difference est dans  la  maniere  dont  le  peripherique  est
  ouvert.  Le  peripherique  d'entree  /dev/ttyS_N  est  ouvert  en  mode
  bloquant,  jusqu'a  ce  que  CD  soit  positionne  (ie,  quelqu'un  se
  connecte).  Ainsi,  lorsque l'on souhaite utiliser /dev/cua_N, il n'y a
  pas de conflit avec les programmes surveillant /dev/ttyS_N.

  La distinction est faite pour permettre l'utilisation d'un port unique
  en entree et en sortie.

  1155..  PPrroobblleemmeess :: mmooddee dd''eemmppllooii

  1155..11..   iinniittttaabb  iinnvvaalliidd''''..   JJee rreeccooiiss ssaannss aarrrreett ddeess mmeessssaaggeess ````lliinnee
  _N_N_N ooff

  Verifier  que  la  syntaxe  utilisee  pour  init  est  correcte.   Les
  multiples init disponibles utilisent des formats de ligne /etc/inittab
  differents.  Verifier  egalement  que  l'utilisation  de   getty   est
  syntaxiquement correcte.

  1155..22..   ""//ddeevv//ccuuaa_N::  DDeevviiccee oorr rreessoouurrccee bbuussyy"" QQuuaanndd jj''eessssaaiiee dd''aappppeelleerr
  aavveecc mmoonn mmooddeemm,, iill mmee ddiitt qquuee

  Ce  probleme  peut  survenir  lorsque  les  lignes  DCD  ou  DTR  sont
  incorrectement parametrees. DCD doit etre positionnee  lorsqu'il  y  a
  effectivment  connexion,  pas  pendant  que  getty  surveille le port.
  Verifier donc que le modem est configure de maniere a ce que la  ligne
  DCD  ne  soit positionnee que pendant les connexions. DTR ne doit etre
  active que quand un process  utilise  ou  surveille  la  ligne,  comme
  getty, kermit ou un autre programme de communication.

  Autre  cause possible du probleme : le port serie est affecte a un IRQ
  deja utilise.  Lors  de  l'initialisation,  chacun  des  peripheriques
  demande  a Linux l'autorisation d'utiliser son IRQ. Linux conserve une
  carte de l'utilisation des IRQ, et si l'IRQ demande est deja  utilise,
  l'initialisation du peripherique ne peut se derouler correctement.  Le
  peripherique n'a pas vraiment les moyens de prevenir l'utilisateur  de
  ce  qui  s'est  passe,  sinon  en  signalant  une erreur "device-busy"
  (peripherique  non  disponible)  a  chaque  tentative   d'utilisation.
  Verifier  les  niveaux  d'interruption utilises par chacune des cartes
  (serie, ethernet, etc.). Chercher les conflits d'IRQ.

  1155..33..  ffaasstt:: ddiissaabblleedd ffoorr 55 mmiinnuutteess"" JJee rreeccooiiss ssaannss aarrrreett ddeess  ""IIdd  SS_N
  rreessppaawwnniinngg ttoooo

  Verifier  la  configuration  du modem, notamment les registres E et Q.
  Cela peut arriver lorsque le modem essaie de communiquer avec getty.

  Verifier que la syntaxe de getty dans /etc/inittab est  correcte.  Une
  mauvaise  syntaxe,  ou un peripherique mal nomme peuvent etre la cause
  de problemes severes.

  Cela peut aussi arriver  du  fait  d'une  erreur  d'initialisation  de
  uugetty.   Voyez la question ``getty ou uugetty ne fonctionne toujours
  pas''.

  1155..44..  LLeess ppeerriipphheerriiqquueess sseerriiee ssoonntt lleennttss,, oouu uunniiddiirreeccttiioonnnneellss..

  Vous  avez  probablement  un conflit d'IRQ. Assurez-vous qu'aucune IRQ
  n'est partagee. Verifiez toutes vos cartes  (series,  ethernet,  SCSI,
  etc...).   Verifiez  que les switchs sont bien positionnes, et que les
  parametres de setserial sont corrects pour chacun de vos peripheriques
  serie.

  1155..55..   MMoonn  mmooddeemm  eesstt  ppllaannttee aapprreess uunn rraaccccrroocchhaaggee,, oouu uuuuggeettttyy ne se
  relance pas.

  Cela  peut  arriver  si votre modem ne se reinitialise pas lorsque DTR
  tombe.  Lorsque cela m'est arrive, mes diodes RD et SD  sont  devenues
  folles.   Il  faut que votre modem se reinitialise. Sur la plupart des
  compatibles Hayes, la commande &D3 fait l'affaire, mais  sur  mon  USR
  Courier,  il  a  fallu utiliser &D2 et S13=1. Lisez le manuel de votre
  modem.

  1155..66..  aapprreess qquuee jj''aaii rreennttrree mmoonn llooggiinn..  JJ''aaii uunn tteerrmmiinnaall  ccoonnnneeccttee  aa
  mmoonn PPCC,, mmaaiiss iill ssee ppllaannttee ssyysstteemmaattiiqquueemmeenntt

  Il n'y a probablement pas de CLOCAL dans la  ligne  de  /etc/gettydefs
  relative  au terminal ; il est egalement possible que le cable utilise
  ne soit pas un vrai null modem.  CLOCAL est indispensable, il  indique
  a Linux d'ignorer les signaux de controle du modem.  Voici a quoi cela
  doit ressembler :

  #Ligne pour une terminal passif a 38400 baud
  DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
  #Ligne pour une terminal passif a 19200 baud
  DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
  #Ligne pour une terminal passif a 9600 baud
  DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600

  Puis, kill le processus getty, afin qu'un autre soit lance,  avec  les
  nouveaux parametres.

  1155..77..  MMoonn mmooddeemm ppeerrdd ddeess ddoonnnneeeess qquuaanndd iill ttrraavvaaiillllee aa ggrraannddee vviitteessssee..

  Pour utiliser un modem a > 19200 bps, il faut un UART 16550A.  Voir la
  section  ``Que sont les UART ?''.

  1155..88..  sseerriiee qquuii nn''eesstt ppaass cceellllee  qquuee  jj''aaii  cchhooiissiiee..   AAuu  ddeemmaarrrraaggee,,
  LLiinnuuxx mm''aaffffiicchhee uunnee ccoonnffiigguurraattiioonn ddeess ppeerriipphheerriiqquueess

  Absolument. Linux ne fait pas  la  detection  des  IRQ  au  demarrage,
  seulement celle des peripheriques serie. Ne tenez pas compte de ce qui
  est affiche au sujet des IRQ, le systeme ne fait que  supposer  qu'ils
  sont  standard. Linux procede de la sorte parce que la detection d'IRQ
  est peu fiable, et sujette a erreurs.

  Donc, bien que mon ttyS2 utilise l'IRQ 5, Linux m'affiche :

       Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A

  Il faut utiliser setserial pour indiquer a  Linux  les  IRQ  que  l'on
  souhaite utiliser.

  1155..99..   ddee  mmaa  mmaacchhiinnee  LLiinnuuxx..   rrzz  et/ou sz ne marchent pas lorsque
  j'appelle le modem

  Si  Linux  recherche  /dev/modem  pour  les  transferts  de  fichiers,
  regarder  dans  /etc/profile,  et   /etc/csh.cshrc.    Certaines   des
  distributions, et notoirement la Slackware, definissent une foultitude
  d'alias  dans  ces  fichiers  ;  certains  d'entre  eux  empechent  le
  fonctionnement  des  programmes  zmodem.  Il  faut les effacer, ou les
  corriger.

  1155..1100..  MMoonn eeccrraann aaffffiicchhee ddeess ccaarraacctteerreess zzaarrbbiiss..

  Cela arrive quand on envoie des donnees binaires a l'ecran ou sur  les
  connexions  serie.   La  commande qui marche a tous les coups est echo
  ^v^[c, soit pour les non-ASCIIsants, echo <ctrl>v<esc>c.

  1155..1111..  ggeettttyy ou uugetty ne marche toujours pas.

  getty_ps   possede    une    option    de    DEBUG.    Ajouter    dans
  /etc/conf.{uu}getty.ttyS_N la ligne DEBUG=_N_N_N.  _N_N_N est une combinaison
  des nombres suivants, selon ce que vous voulez deboguer :
       D_OPT   001            options de configuration
       D_DEF   002            traitement des valeurs par defaut
       D_UTMP  004            traitement de utmp/wtmp
       D_INIT  010            initialisation de la ligne (INIT)
       D_GTAB  020            traitement fu fichier gettytab
       D_RUN   040            autres diagnostics
       D_RB    100            debogage du rappel de securite
       D_LOCK  200            fichiers verrou de uugetty
       D_SCH   400            appels preprogrammes
       D_ALL   777            toutes les options ci-dessus

  Je vous recommande DEBUG=010 pour commencer.

  Si syslogd est actif, les informations de debogage seront dirigees sur
  vos fichiers de log. Sinon, elles seront dirigees sur /tmp/getty:ttyS_N
  pour getty, ou sur /tmp/uugetty:ttyS_N  pour  uugetty  ainsi  que  dans
  /var/adm/getty.log.   Les  informations  de  debogage  devraient  vous
  indiquer la voie. Dans la plupart des cas, il suffit  de  modifier  un
  parametre du fichier de configuration, ou de reconfigurer le modem.

  Vous pouvez aussi essayer mgetty. Certains s'en trouvent mieux.

  1166..  RReemmeerrcciieemmeennttss

  Il  aurait  ete  impossible d'ecrire ce HOWTO seul. Bien qu'une grande
  partie du HOWTO soit de moi, j'ai egalement reecrit une  bonne  partie
  des  contributions  pour  garder  un style et une structure homogenes.
  Merci a tous ceux qui ont contribue ou fait des  commentaires  sur  ce
  HOWTO ; la liste en est trop longue (plus de cinquante personnes) pour
  l'inclure ici. Je remercie tout particulierement  Ted  T'so  pour  ses
  reponses  aux  questions relatives aux pilotes de peripheriques serie,
  Kris Gleason, qui maintient getty_ps, et Gert Doering,  qui  maintient
  mgetty.

  FIN DU Serial-HOWTO

