<!-- 1,2 -->
<!-- Terminales Serie,0 -->
<!-- Marc,Malagelada Duch,marc@hades.udg.es -->
<!-- Antonio Ismael,Olea González,olea@poboxes.com -->
<!-- 2.0,1996-09-13 -->
<!-- terminales,serie -->
<!-- Hardware,Terminales -->

<!-- El maquetador pide disculpas anticipadamente por no haberse puesto   --> 
<!-- en contacto con el autor antes de pasar el documento a SGML. Como un -->
<!-- servidor no saca nada de ésto, confía en que no haya mayor problema. -->

<!-- Revisión SGML 0.1, Fco. J. Montilla                                  -->

<!doctype linuxdoc system>

<article>

<title>Terminales Serie COMO

<Author>Marc Malagelada Duch <tt/marc@hades.udg.es/ &nl;
Maquetador Linuxdoc-SGML: Antonio Ismael Olea González, &nl;
<tt><htmlurl url="mailto:olea@poboxes.com" name="olea@poboxes.com"></tt>
<tt>2:345/108.9@fidonet.org</tt>
<Date> v2.0 13 Septiembre 96

<abstract> 
Todo sobre la instalación y configuración de terminales en sistemas Linux,
desde diagramas y técnicas de soldadura de los cables, hasta los detalles
de configuración del hardware y software. 
</abstract>

<toc>

<sect>Introducción
<p>

Creo que conectar un terminal a un <bf/Linux/ es una de las experiencias
más bonitas que se pueden hacer para ver cómo tu PC monousuario se
convierte en una auténtica estación de trabajo multiusuario, además de
poder aprovechar tu viejo PC-XT o PC-AT para terminal. 

Lo que hace falta es un PC con <bf/Linux/, que supongo que ya tenéis, que
disponga de un puerto serie libre. <it/Cuidadín cuidadín/ con esas
máquinas con COM3 y COM4 que suelen compartir IRQ con COM1 y COM2, de
forma que suelen traer problemas cuando se usa por ejemplo COM1 y COM3 o
COM2 y COM4.
 
También hace falta un terminal, que debe disponer de un puerto serie. Lo
mismo dicho antes para los COM3 y los COM4, es también aplicable aquí si
ese terminal va a ser vuestro viejo PC-XT o cualquier otro PC.

Igualmente le va a hacer falta un software de emulación de terminal para
poder cumplir su misión. Ese software puede ser el mismo software que se
usa para llamar por el módem, por ejemplo el TELIX, el PROCOMM+, o el
<it/Terminal/ del <em/Ventanucos/. Si el terminal es realmente un
terminal, por ejemplo un DEC VT220 o similar, va a ser más fácil, aunque
no todo el mundo tiene un terminal en su casa, es más frecuente encontrar
un viejo 8088. 

Para poder transmitir los datos hace falta un cable de los llamados
<it/null-módem/ o de <it/líneas cruzadas/, habiéndolos de muchos tipos. El
que yo tengo montado es el mismo que el que recomienda el MSDOS para usar
el INTERLNK/INTERSVR, que además funciona de maravilla en <bf/Linux/.

Por último, hacen falta unas pocas ganas de hacer pruebas.

<sect>Hardware
<p>

<sect1>Puertos serie
<p>

Puertos serie hay de 2 tipos: Los DB25 y los DB9.
 
Los DB9 son los vulgarmente (e incorrectamente) conocidos como puertos de
mouse. Tienen 9 patillas y son &dquot;macho&dquot; es decir: que las
patillas son pinchos. En los conectores &dquot;hembra&dquot;, las patillas
son orificios para que entren los pinchos. Cualquier semejanza con el sexo
real está hecha con toda la intencionalidad. <tt/:-)/

&ensp; &nl;

&ensp; &nl;

<sect2>Puerto serie DB9

<p>

A continuación os pongo un &dquot;gráfico&dquot; cutre para que sepáis que
es lo que hay que ver detrás del PC para localizar el puerto serie: 
<tscreen><verb>
                             .---------------.
                             \   o o o o o   /
                              \   o o o o   /
                               `-----------'
</verb></tscreen>

Si localizáis alguno, que además tiene que ser macho (pinchos) 
seguramente se trata de un puerto serie. 

Si lo encontráis en su versión &dquot;hembra&dquot; (con orificios) se
trata de el adaptador de VÍDEO (CGA, Hércules, EGA o VGA-digital). 

<sect2>Puerto serie DB25
<p>
También podéis encontrar su versión de 25 pines:

<tscreen><verb>
                     .-------------------------------.
                     \   o o o o o o o o o o o o o   /
                      \   o o o o o o o o o o o o   /
                       `---------------------------' 
</verb></tscreen>
   
Igualmente, las patillas tienen que ser pinchos. Si son orificios, se
trata de un puerto de impresora. 

Debéis localizar uno de los dos en cada uno de los PCs (<bf/Linux/ y
terminal)  Seguramente vais a encontrar que en alguno de ellos hay de los
dos. Para saber si se trata del COM1 o del COM2 lo más práctico es
conectar un ratón y cargar el driver para COM1 o para COM2 y ver si
funciona. 

Las situaciones más normales son:

<itemize>
<item>Si sólo se encuentra uno de ellos, es el COM1;
<item>Si se encuentran los dos, normalmente el pequeño es el COM1 y el
otro es el COM2; 

<item>Si hay 2 pequeños hay que descifrar cuál es el COM1 y cuál el COM2. 
Esto sucede con equipos <it/HP/ y <it/COMPAQ/, y suele venir indicado cuál
es el 1 y cuál es el 2. Si no, a por un ratón serie y hacer pruebas. 

<item><it/¡No los encuentro!/: Mejor pasar un programa de información del
PC para saber si hay puertos serie disponibles. Uno de fácil localización
es el <tt/msd.exe/ del MSDOS6.2 (Teclear <tt/msd/ y pulsar la C). 
</itemize>

Una vez localizados los puertos serie de cada PC, voy a escribir algunas
recomendaciones: 
   
<itemize>

<item>Mejor no utilizar el COM3 si se usa el COM1. Igualmente no usar el
COM4 si se usa el COM2<footnote>N. del Revisor: &nl; 
Podremos usar dichos puertos siempre que: &nl;
a) Configuremos el hardware (por BIOS o por <it/jumpers/) para
usar alguna otra IRQ libre, y &nl; 
b) Configuremos el Linux para que los inicialice al arrancar con
el comando <tt/setserial/, ver <it/Serie-Como/.</footnote>

<item><it/Cuidadín cuidadín/ con los tornillos que hay en los lados de los
conectores; hay que comprobar que están bien atornillados ya que de lo
contrario podría caer la tuerca interior dentro de la caja del PC y
provocar un desastre. 

</itemize>

<sect>Cableado
<p>

<sect1>Cables NULL MÓDEM <label id="nllmdm">
<p>

Bueno, voy a explicar qué son las líneas (patillas) del puerto serie: 

<descrip>

<tag/GND/Es la masa. Como toda señal, tiene que estar referida a una masa. 
<tag/RX/Señal de recepción. Son los datos que se reciben. (entrada)
<tag/TX/Señal de transmisión. Por aquí salen los datos. (salida)
<tag/DTR/<it/Data Terminal Ready/. Indica que el terminal está encendido. 
(salida) 
<tag/DSR/<it/Data Set Ready/. Se ha establecido conexión. (entrada)
<tag/CTS/<it/Clear To Send/. El terminal está aceptando datos. (salida)
<tag/RTS/<it/Request to Send/. Aquí se introduce una señal cuando se
pide un dato. (in)
</descrip>

Esto que hay aquí no puedo decir que sea correcto del todo. Eso es lo que
me he deducido yo después de hojearme el manual del chip 8250 (UART) y
leer alguna cosa sobre transmisiones RS232.

<sect2>NULL MÓDEM de 3 hilos
<p>

El cable Null-módem más básico que existe es el siguiente:

<tscreen><verb>
GND---------------------------------------------------GND
RX----------------------------------------------------TX
TX----------------------------------------------------RX
</verb></tscreen>

Ese mismo ya funciona con el <bf/Linux/. Sólo 3 cables. Para controlar el
flujo de datos se usa el protocolo por software <bf>XON/XOFF</bf>

<sect2>NULL MÓDEM de 3 hilos con protocolo por hardware emulado
<p>

Otro cable null-módem es el siguiente:

<tscreen><verb>
GND --------------------------------------------------GND
RX----------------------------------------------------TX
TX----------------------------------------------------RX
RTS--------.                                 .--------RTS
            )                               (
CTS--------'                                 `--------CTS
DSR--------.                                 .--------DSR
            )                               (  
DTR--------'                                 `--------DTR
</verb></tscreen>

Este emula el protocolo <bf>CTS/RTS</bf> y <bf>DSR/DTR</bf> por hardware,
aunque sólo es eso, una emulación. Para controlar el flujo de datos se
sigue recurriendo al protocolo software <bf>XON/XOFF</bf>. 

<sect2>NULL MÓDEM de 7 hilos con protocolo por hardware
<p>

<tscreen><verb>
GND --------------------------------------------------GND
RX----------------------------------------------------TX
TX----------------------------------------------------RX
RTS---------------------------------------------------CTS
CTS---------------------------------------------------RTS
DSR---------------------------------------------------DTR
DTR---------------------------------------------------DSR
</verb></tscreen>

Este cable usa el protocolo <bf>CTS/RTS</bf> para controlar el flujo por
hardware e incluye las líneas <bf>DSR-DTR</bf> para saber si el terminal
está conectado.  Sigue funcionando si se usa protocolo por software. 

Yo creo que es el más flexible; además, ese mismo cable es el que se
usa para el INTERLNK/INTERSVR de MSDOS, o el LAPLINK (WIN o DOS).  
Es el que tengo yo montado. 

<sect1>Construcción física del cable
<p>

<sect2>Listado de las patillas
<p>

Las patillas físicas en los pines son las siguientes:

<tscreen><verb>
Segnal              Patilla en DB9           Patilla en DB25
--------------------------------------------------------------
GND:..................patilla 5................patilla 7
RX:...................patilla 2................patilla 3
TX:...................patilla 3................patilla 2
RTS:..................patilla 7................patilla 4
CTS:..................patilla 8................patilla 5
DSR:..................patilla 6................patilla 6
DTR:..................patilla 4................patilla 20
</verb></tscreen>

<sect2>Localización física de las patillas en un DB9
<p>

Los conectores suelen llevar una chuleta numerando los pines en el
plástico que rodea a los susodichos, ese plástico que a veces es azul, o a
veces en negro o a veces es blanco.  Vista desde el LADO DE FUERA DEL PC,
que también concuerda con la vista desde la CARA DE LAS SOLDADURAS de un
DB9 Hembra usado para construir el cable: 

<tscreen><verb>
      			    .---------------.
 			    \   1 2 3 4 5   /
			     \   6 7 8 9   /
    			      `-----------'
</verb></tscreen>

Vista desde el lado de fuera de un DB9 Hembra usado para construir el
cable:

<tscreen><verb>
  			    .---------------.
   			    \   5 4 3 2 1   /
    			     \   9 8 7 6   /
    			      `-----------'
</verb></tscreen>  

<sect2>Localización física de las patillas de un DB25
<p>  

Vista desde el <bf/exterior del PC/, que también concuerda con la vista
desde la <bf/cara de las soldaduras/ de un DB25 hembra usado para construir
el cable: 

<tscreen><verb>
             .-----------------------------------------------.
             \   13  12  11  10  9  8  7  6  5  4  3  2  1   /
              \    25  24  23  22 21 20 19 18 17 16 15 14   /
               `-------------------------------------------'
</verb></tscreen> 

Vista desde el lado de fuera de un DB25 hembra usado para construir el
cable: 

<tscreen><verb>
             .-----------------------------------------------.
             \   1  2  3  4  5  6  7  8  9  10  11  12  13   /
              \   14 15 16 17 18 19 20 21 22  23  24  25    /
               `-------------------------------------------'
</verb></tscreen>

<sect2><it>Soldar-Como</it>
<p>

Hay que soldar, de manera que deberíais procuraros un poco de estaño
(metal para hacer la soldadura) y un pequeño soldador de más de 15W. 

Recomendaciones para soldar:

Calentar con la punta del soldador los extremos de los cables a soldar y
mientras estén calientes, depositar en la punta un poco de estaño. Parece
que hacen falta 3 manos para hacer esa operación, una para aguantar el
cable, otra para el soldador y la tercera para aguantar el estaño. Hacedlo
de la siguiente manera: 

<enum>
<item>Primero pelar las puntas de los cables de colores para dejar el
cobre al descubierto. 

<item>Después, con una mano aguantar el cable, y con la otra el soldador,
tras haber estañado previamente la punta del mismo. Para eliminar el
exceso de estaño de la punta, introducirla en un trozo de esponja
inservible humedecida. 

<item>Calentar la punta del cable y mientras se hace eso, acercar el
conjunto soldador-cable al hilo de estaño y fundir un poco. 

<item>Esperar a que el estaño fluya por la superficie del cable y entonces
apartar el soldador. 
</enum>

Esa operación se debe repetir para todos los cables de colores. No tengáis
miedo de quemar los cables con la temperatura del soldador. Los cables
deberían estar preparados. 
  
Con esa operación estáis <bf/estañando/ el cable.

Hay que estañar también los pines de los conectores DB25 y/o DB9, que es
más fácil: con el conector apoyado encima de la mesa, y el soldador en una
mano, se toca el pin en el que deberá ir soldado un cable, y se espera un
momentito a que se caliente; con la otra mano se acerca el estaño, que con
la temperatura va a fundirse dejando la superficie del pin a soldar
<it/forrada/ de estaño. 

Por último, con el conector apoyado encima de la mesa, con una mano se
coge el soldador y con la otra se acerca el cable que debe ir soldado en
el pin, se ponen en contacto cable y pin (los dos bien estañados) y se
toca con el soldador alguna de las dos partes (mejor las dos). El estaño
se va a fundir y va a poner en contacto cable y pin. Entonces se retira el
soldador y se espera que el estaño se enfríe. No soplar para acelerar el
enfriamiento, ya que podría dar lugar a soldaduras frías. Ya está hecha la
soldadura. 

Para los que quieran pasarse de listos y no quieran &dquot;perder el
tiempo&dquot; estañando las cosas, se van a dar cuenta que para soldar un
cable a un conector les harán falta 4 manos: 

<itemize>
<item>Una para aguantar el soldador;
<item>Otra para aguantar el estaño;
<item>Otra para aguantar el cable;
<item>Y la última para aguantar el conector.
</itemize>  

Así que no os lo recomiendo a no ser que dispongáis de 4 manos.

Ánimo que es <bf/MUY/ fácil; saber soldar os va a solucionar muchos
problemas, y además vais a poder solucionar muchas averías por culpa de
soldaduras rotas o defectuosas.

<sect2>Ejemplos de cables: DB25-DB25
<p>

Conexión de un PC-<bf/Linux/ con conector DB25 y un terminal con conector
DB25. 

Material necesario: 

<itemize>
<item>2 conectores DB25 hembra;
<item>2 carcasas para DB25;
<item>Cable de 7 hilos (o más) con malla, comprar los metros necesarios.
</itemize>

La longitud del cable no debe sobrepasar los 30 metros. 

Precio aproximado:

<itemize>
<item>400 ptas para los 2 conectores con carcasa y
<item>100 ptas el metro en Girona para el cable.
</itemize>

Conexiones:

<tscreen><verb>
  7 (GND) -----------------------------------------7 (GND)
  2 (TX) ------------------------------------------3 (RX)
  3 (RX) ------------------------------------------2 (TX)
  5 (CTS) -----------------------------------------4 (RTS)
  4 (RTS) -----------------------------------------5 (CTS)
  6 (DSR) -----------------------------------------20 (DTR)
  20 (DTR)-----------------------------------------6 (DSR)
  CHASIS-------------------(malla)-------------------CHASIS
</verb></tscreen>

La malla del cable (tejido de cobre que envuelve los cablecillos finos) 
debe conectarse al chasis (parte metálica) del conector. 

La conexión de la malla establece el mismo nivel de potencial (voltaje) 
entre los 2 PCs y evita que grandes cargas de electricidad estática fluyan
a través de las líneas y fundan el chip del puerto serie. Además, se
produce un efecto de apantallamiento, que evita que señales
electromagnéticas interfieran en la información que circula por la línea. 

Eso va sobre todo para la gente que en su casa no dispone de toma de
tierra o que tiene el PC sobre una superficie de moqueta o alfombra. Si al
tocar tu PC recibes calambres, asegúrate que la malla esta conectada o
<bf/seguro/ que vas a fundir el puerto serie de tu PC o terminal. 

Igual que en otro documento, también voy a decir que algunas veces he oído
que el chip del puerto serie explota, literalmente vuela por los aires, al
conectar un cable sin malla. 

Por eso os recomiendo que CONECTÉIS <bf/SIEMPRE/ LA MALLA.

<sect2>Ejemplos de Cables: DB9-DB9
<p>

Conexión de un PC-<bf/Linux/ con conector DB9 y un terminal con conector
DB9.  

Material necesario:

<itemize>
<item>2 conectores DB9 hembra;
<item>2 Carcasas para DB9;
<item>Cable de 7 hilos (o más) con malla, comprar los metros necesarios. 
</itemize>

La longitud del cable no debe sobrepasar los 30 metros. 

Precio aproximado: 

<itemize>
<item>350 ptas para los 2 conectores con carcasa, y
<item>100 ptas el metro en Girona para el cable.
</itemize>
 
Conexiones:

<tscreen><verb>
  5 (GND) -----------------------------------------5 (GND)
  3 (TX) ------------------------------------------2 (RX)
  2 (RX) ------------------------------------------3 (TX)
  8 (CTS) -----------------------------------------7 (RTS)
  7 (RTS) -----------------------------------------8 (CTS)
  6 (DSR) -----------------------------------------4 (DTR)
  4 (DTR)------------------------------------------6 (DSR)
  CHASIS-------------------(malla)------------------CHASIS
</verb></tscreen>

La malla del cable (tejido de cobre que envuelve los cablecillos finos) 
debe conectarse al chasis (parte metálica) del conector. 

La conexión de la malla establece el mismo nivel de potencial (voltaje) 
entre los 2 PCs y evita que grandes cargas de electricidad estática fluyan
a través de las líneas y fundan el chip del puerto serie. Además, se
produce un efecto de apantallamiento, que evita que señales
electromagnéticas interfieran en la información que circula por la línea. 

Eso va sobre todo para la gente que en su casa no dispone de toma de
tierra o que tiene el PC sobre una superficie de moqueta o alfombra. Si al
tocar tu PC recibes calambres, asegúrate que la malla esta conectada o
<bf/seguro/ que vas a fundir el puerto serie de tu PC o terminal.

Igual que en otro documento, también voy a decir que algunas veces he oído
que el chip del puerto serie explota, literalmente vuela por los aires, al
conectar un cable sin malla. 

Por eso os recomiendo que CONECTÉIS <bf/SIEMPRE/ LA MALLA.

<sect2>Ejemplos de cables: DB25-DB9 o DB9-DB25
<p>

Conexión de un PC-<bf/Linux/ con conector DB25 y un terminal con conector
DB9, o de un PC-<bf/Linux/ con conector DB9 y un terminal con conector
DB25. (es el mismo cable)

Material necesario:

<itemize>
<item>1 conector DB9 hembra;
<item>1 conector DB25 hembra;
<item>1 carcasa para DB25;
<item>1 carcasa para DB9;
<item>Cable de 7 hilos (o más) con malla, comprar los metros necesarios. 
</itemize>

La longitud del cable no debe sobrepasar los 30 metros.

Precio aproximado: 

<itemize>
<item>375 ptas para los 2 conectores con carcasa, y 
<item>100 ptas el metro en Girona para el cable.
</itemize>

Conexiones:

<tscreen><verb>
Conector DB9                                    Conector DB25
  7 (GND) -----------------------------------------7 (GND)
  3 (TX) ------------------------------------------3 (RX)
  2 (RX) ------------------------------------------2 (TX)
  8 (CTS) -----------------------------------------4 (RTS)
  7 (RTS) -----------------------------------------5 (CTS)
  6 (DSR) -----------------------------------------20 (DTR)
  2 (DTR)------------------------------------------6 (DSR)
  CHASIS-------------------(malla)-----------------CHASIS
</verb></tscreen>

La malla del cable (tejido de cobre que envuelve los cablecillos finos) 
debe conectarse al chasis (parte metálica) del conector. 

La conexión de la malla establece el mismo nivel de potencial (voltaje)
entre los 2 PCs y evita que grandes cargas de electricidad estática fluyan
a través de las líneas y fundan el chip del puerto serie. Además, se
produce un efecto de apantallamiento, que evita que señales
electromagnéticas interfieran en la información que circula por la línea.

Eso va sobre todo para la gente que en su casa no dispone de toma de
tierra o que tiene el PC sobre una superficie de moqueta o alfombra. Si al
tocar tu PC recibes calambres, asegúrate que la malla esta conectada o
<bf/seguro/ que vas a fundir el puerto serie de tu PC o terminal.

Igual que en otro, documento también voy a decir que algunas veces he
oído que el chip del puerto serie explota, literalmente vuela por los
aires, al conectar un cable sin malla.

Por eso os recomiendo que CONECTÉIS <bf/SIEMPRE/ LA MALLA.

<sect1>Compra del cable ya hecho
<p>

<sect2>Cables NULL-MÓDEM   
<p>

Hay que pedir un cable tipo NULL-MÓDEM en alguna tienda de
electrónica o de ordenadores. Alguna gente también los conoce como cables
cruzados o cables de <it/LAPLINK/. 

Es bastante difícil encontrar un cable ya montado con la conexión de los
pines que nos conviene, aunque como este montaje es bastante frecuente, es
posible encontrarlo; no obstante, no os quejéis después si no funciona,
porque bajo la denominación &dquot;null-módem&dquot; hay un montón de
cables diferentes, como los que se comentaban en la sección <ref
id="nllmdm">. 

Si has ido a parar a esta sección porque no sabes soldar, te recomiendo
que lo pruebes, es bastante fácil. Léete las recomendaciones, y si las
cumples el éxito esta asegurado. 

Además, los cables ya hechos valen bastante dinero.

Para el <bf/Linux/ os va a funcionar casi cualquier tipo de null-módem,
pero el INTERLNK/INTERSVR requiere la configuración exacta. 

<sect2>Solución con cajitas NULL-MÓDEM y cable de módem
<p>

Si no encontráis cables null-módem, podéis hacer lo siguiente:
 
Comprar un cable de módem (pin a pin) y luego insertar entre el PC y uno
de los cabos del cable de módem una caja de empalmes con configuración
NULL-MÓDEM. 

Caja de empalmes:

<tscreen><verb>
                    _____.-----------------------------.____
                   !     !    --------------------     !    !
                   !     !    !                  !     !    !
                   !     !    !                  !     !    !
           DB25->  !     !    !    NULL-MODEM    !     !    !  <-DB25
                   !     !    !                  !     !    !
                   !     !    !                  !     !    !
                   !     !    --------------------     !    !
                   `----.!_____________________________!.---'
</verb></tscreen>

Que se monta de la siguiente manera:

<tscreen><verb>
                    caja
            ----    null                                   -------
                !   modem                                  !
            PC  !_.------._  _      cable de modem        _! PC
                !  nllmdm  || `==========================' !
                !-.______.-'`-'      (pin a pin)         `-!
             ___!                                          !------
</verb></tscreen>

Esa opción en bastante cara, ya que un cable de módem ya vale al menos 600
ptas, y si le añadimos el coste de la caja mull-módem (1000ptas), te puede
salir bastante caro. Te sigo recomendando que pruebes a hacer la soldadura
tú mismo.

<sect1>Conectores DIGITAL VT320 y 420
<p>

El conector de <it/DIGITAL EQUIPMENT CORPORATION/ (DEC) para la serie de
terminales <IT/VT320/ y <IT/VT420/ no es tan raro como parece.

Ese conector se llama <it/DEC-423 MMJ/ (<it/Modified Modular Jack/) y se
parece a un RJ45 pero con la lengüeta descentrada<footnote>Nota del
maquetador &nl; 
Los RJ45 son esos conectores transparentes de 8 hilos algo
más gordos que los RJ11 del teléfono, también llamados <it/Giant Modular
Jack/, empleados en los cables de red de par trenzado. 
<tt/:-)/</footnote>

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

El patillaje es el siguiente:

<tscreen><verb>
                      DTR   TX    GND   GND   RX    DSR
                  ----------------------------------------
                  !   !_!   !_!   !_!   !_!   !_!   !_!   !
                  !                                       !
                  !                                       !
                  !                                       !
                  !                                       !
                  !                                       !
                  !                                       !
                  !                                       !
                  !                                       !
                  !_____________________                  !
                                        !                 !
                                        !                 !
                                        !_________________!
</verb></tscreen>

<sect>Configuración del software
<p>

<sect1>Linux
<p>

Entra como superusuario y modifica el <tt>/etc/inittab</tt> de la
siguiente manera: 

<itemize>

<item>Tienes que buscar la sección <tt>&num;Serial lines</tt> y añadir
una línea como la siguiente: 

<tscreen><verb>
s2:45:respawn:/sbin/agetty -L 38400 ttyS1
</verb></tscreen>

En la que habrá que cambiar algunas cosas dependiendo del puerto serie del
PC-<bf/Linux/ en donde tengas el terminal conectado: 

<descrip>
<tag/Si tienes el terminal en el COM1:/
<tt>s1:45:respawn:/sbin/agetty -L 9600 ttyS0</tt>

<tag/Si tienes el terminal en el COM2:/
<tt>s2:45:respawn:/sbin/agetty -L 9600 ttyS1</tt>

<tag/Si tienes el terminal en el COM3:/
<tt>s3:45:respawn:/sbin/agetty -L 9600 ttyS2</tt>

<tag/Si tienes el terminal en COM4:/
<tt>s4:45:respawn:/sbin/agetty -L 9600 ttyS3</tt>
</descrip>

<item>Una vez insertada esa línea en <tt>/etc/inittab</tt>, hay que hacer
que el proceso <tt/init/ relea el fichero <tt/inittab/; para ello
ejecutaremos la orden: 

<tscreen><verb>
init q
</verb></tscreen>

</itemize>

<sect1>El terminal.
<p>

Cargar el MSDOS y entrar en el programa de emulación de terminales. 
 
Debes elegir el tipo de terminal ANSI o, VT100, VT102, VT220, VT52.  

Cualquiera de ellos debería funcionar como mínimo para comprobar que la
línea funciona. 

Los parámetros del puerto serie deben ser 9600,N,8,1. 

Apretando un par de <it/ENTER/s debería salir en la pantalla del terminal
el texto de LOGIN. 

Si eso no funciona, algo está pasando en las líneas serie.

<sect1>Afinando Linux para la conexión
<p>

Espero que hayáis llegado hasta aquí sin mucha dificultad.

<sect2>Explicación de la línea del <tt/inittab/
<p>

Aquí voy a explicar esa línea que hay que añadir al <tt/inittab/.

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

&emsp; &nl;

Qué significa cada cosa:
<tscreen><verb>
s2:45:respawn:/sbin/agetty -L 9600 ttyS1  
^  ^     ^             ^      ^      ^ 
|  |     |             |      |      |
|  |     |             |      |      `---- /dev/ttyS1 es decir COM2:
|  |     |             |      |            es el dispositivo que soporta
|  |     |   	       |      |            la conexion. Se puede cambiar
|  |     |             |      |            por ttyS0, ttyS2 o ttyS3.
|  |     |             |      |
|  |     |             |      |
|  |     |             |      `------- Baudios a los que se efectua la 
|  |     |             |               conexion: puede ser uno de los
|  |     |             |               siguientes: 300, 600, 1200, 2400
|  |     |             |               9600, 19200, 38400, 57600, 115200
|  |     |             |               Si tienes una UART tipo 8250 o 
|  |     |             |               16450 mejor que no pases de 9600
|  |     |             |               so pena de freir el PC a interrup-
|  |     |             |               ciones. En el terminal da igual
|  |     |             |               porque no tiene que hacer nada mas,
|  |     |             |               pero en el PC-Linux importa no 
|  |     |             |               pasarse so pena de perder potencia
|  |     |             |               de multiproceso.
|  |     |             |               Recomiendo 19200 baudios.
|  |     |             |
|  |     |             |
|  |     |             `-- Programa que va a controlar la comunicacion por
|  |     |                 la parte Linux. Existen el controlador 
|  |     |                 agetty, otro es el uugetty. Tambien esta el getty
|  |     |                 Aqui hay que jugar un poco. Yo uso agetty, que no
|  |     |                 quiere decir que sea el mejor, pero funciona.
|  |     |
|  |     |
|  |     `----- No puedo asegurar que eso sea cierto, pero me parece que 
|  |            sirve para que el proceso agetty se auto-restaure cuando
|  |            por alguna razon muera.
|  |
|  |
|  `----- No puedo asegurar que sea cierto, pero me parece que son los
|         runlevels validos para que funcione ese terminal.
|
`----- Identificacion. Cuando por ejemplo se hace 'top' salen los procesos
       que estan funcionando en la maquina. Una de las columnas del top 
       es la del terminal donde se estan ejecutando. En los procesos
       ejecutados desde este terminal va a salir el 's2' o lo que se
       escriba aqui.
</verb></tscreen>

<sect2>Parámetros de <tt/agetty/
<p>

Fijáos que en la línea que estamos estudiando, le paso el parámetro
<tt/-L/ a <tt/agetty/. Si hacéis <tt/man agetty/ podréis comprobar porqué
hago eso: estoy forzando a que la línea sea local, es decir, que no se
haga la la comprobación del pin de <tt/CD/ (<it/Carrier Detect/). Ese pin
debería estar conectado en el cable, pero no lo hago para mantener la
compatibilidad con el INTERLNK/INTERSVR de Microsoft MSDOS. Una vez más el
<bf/Linux/ se adapta a las necesidades del usuario. (¿¡Me suena esa frase
a WIN95!?) 

También podéis activar el protocolo de hardware <bf>RTS/CTS</bf>, que
acelerará un poco la comunicación. Para hacer eso necesitáis que el cable
os soporte esa función; además deberéis configurar el terminal o mejor
dicho, El software de terminal para que lo haga. Yo no lo tengo
habilitado.  Para activar el protocolo por hardware <bf>CTS/RTS</bf>
pasadle el parámetro '<tt/-h/' a <tt/agetty/, por ejemplo: 

<tscreen><verb>
s2:45:respawn:/sbin/agetty -hL 9600 ttyS1  
</verb></tscreen>

<sect1>Afinando el terminal
<p>

Aquí más que un afinamiento os voy a explicar cómo instalar el
Telix 3.22 para DOS para que haga de terminal.

<itemize> <item> Primero tenéis que conseguir los archivos vía FTP o vía
algún cdrom de Shareware<footnote>N. del R. &nl; O de cualquier
BBS</footnote>. Yo voy a explicar la versión 3.22, que no es la última,
pero tampoco es vieja. 

Los archivos se llaman: 

<itemize>
<item><tt/tlx322-1.zip/
<item><tt/tlx322-2.zip/
<item><tt/tlx322-3.zip/
<item><tt/tlx322-4.zip/
</itemize> 

De los cuales sólo vais a necesitar los dos primeros.

<item> Descomprimid los ZIPs <tt/tlx322-1.zip/ y <tt/tlx322-1.zip/ en un
directorio. Una vez descomprimidos, ejecutad '<tt/MODEMCFG.EXE/' y escoged
alguno de los de 1200 baudios (para que no quiera grabar la RAM del
módem). Seleccionas el puerto correspondiente y sales del programa. 

<item> Si te falta espacio (o quieres tener el Telix en un disquete
porque no tienes disco duro o por comodidad) puedes cargarte el
<tt/CS.EXE/ y el <tt/CSS.EXE/.

Yo tengo Telix322 + MSDOS6.2 + <tt/KERMIT.EXE/ en 1 disco de 720K.

<item>Ejecutar <tt/TELIX.EXE/ y una vez haya intentado sin resultado
inicializar el módem, pulsas <it/ALT-O/ (opciones).

<item>Te vas a <it/Modem and dialing/ y en el módem <it/init string/ le
pones un par de <it/control-M/ (se hace poniendo un acento circunflejo ^ y
una M).

<item>Te vas al <it/Terminal options/ y pones lo pertinente en la opción
A: por ejemplo COM2, 19200, None, 8, 1. 

<item>El el mismo menú de <it/Terminal Options/, la opción <it/C/ debería
estar en ANSI o en VT102.

<item>En el mismo menú de <it/Terminal Options/, la opción <it/I/ debería
estar en: <it/Backspace key sends DEL/.

<item>En el mismo menú de <it/Terminal Options/, vas a encontrar la
opción <it/K/ que sirve para controlar el flujo por hardware. (<tt/agetty
-h/).

<item>Finalmente te vas a <it/Write Setup to Disk/.

<item>Sales del Telix: <it/ALT-X/

<item>Vuelves a entrar. Te debería salir el login en la pantalla.
</itemize>

<sect1>Solución a posibles problemas
<p>

Siempre se pueden tener problemas, aunque conozco a bastante gente que ha
montado este cable y le ha funcionado. 

Qué hacer si no funciona: 

<sect2>Comprobación del cable
<p>

Para probar el cable, coges los 2 PCs, les pones en marcha un Telix y
pulsas en ambos <it/ALT-P/. 

Configura ambos PCs a una velocidad de 1200 baudios, N, 8,1.

Configura en cada PC el COM correspondiente.

Escribe desde un PC y tendrás que ver el texto en la pantalla del otro.

Prueba desde ambos PCs. Puede ser que la comunicación sólo sea
mono-direccional por algún defecto del cable o del hardware.

Si el cable está bien construido y el hardware no falla eso debería ir
bien. 

<sect2>El cable funciona pero Linux no.
<p>

¿Qué velocidad escogiste? Prueba desde 9600 baudios a ver qué tal. 

Puede ser que tengas problemas de velocidad. Ejecuta MSD en ambos
ordenadores para ver qué UARTs tienen. Seguramente el PC viejo tendrá una
8250, por lo que no es recomendable pasar de 9600, aunque he probado a
19200 y suele funcionar.

Nuestro terminal en <tt/hades.udg.es/ es un 286-12 con UART 8250 y le
podemos sacar 38400, aunque a veces falla.

¿Las velocidades son las mismas? 

La velocidad que escojas en el Telix o el programa que utilices para
emular un terminal tiene que ser la misma que configures en la línea del
<tt>/etc/inittab</tt>.

¿Habilitaste algún protocolo por hardware? 

Algunos puertos serie no llevan todas las líneas, así que aunque el cable
las tenga, no llegan hasta el <bf/Linux/ o el programa de terminal. 
Prueba deshabilitando el protocolo por hardware, es decir, quitando el
parámetro '<tt/-h/' del <tt/agetty/ en <tt>/etc/inittab</tt>, y
habilitando el protocolo <bf>XON/XOFF</bf> por software en el programa de
comunicaciones.

¿Estás seguro que pusiste <tt/ttyS0/ para COM1, <tt/ttyS1/ para COM2,
<tt/ttyS2/ para COM3 y <tt/ttyS3/ para COM4? Es muy fácil colarse, el
<tt/ttySx/ es siempre uno menos que el COMx. 

Puede que tengas algún problema de IRQs. ¿Estás compartiendo IRQ
con algún otro dispositivo?

Haz pruebas con el <tt/minicom/ (clónico del Telix para <bf/Linux/) para
saber si los datos al menos llegan.

Comprueba los <it/majors/ y los <it/minors/ de los puertos de
comunicaciones: 

<tscreen><verb>
/dev/ttyS0: crw-rw-rw-   X  USER GROUP  4,  64  xxx xx xx:xx ttyS0
/dev/ttyS1: crw-rw-rw-   X  USER GROUP  4,  65  xxx xx xx:xx ttyS1
/dev/ttyS2: crw-rw-rw-   X  USER GROUP  4,  66  xxx xx xx:xx ttyS2
/dev/ttyS3: crw-rw-rw-   X  USER GROUP  4,  67  xxx xx xx:xx ttyS3
                                        ^    ^
                                        |    |
                                        |    |
                                        |    `------MINOR
                                        `-----------MAJOR
</verb></tscreen>

<sect>Contacto
<p> 

Alguna sugerencia, o preguntas, dudas, cuestiones varias, etc a 
<tt><htmlurl url="mailto:marc@hades.udg.es" name="marc@hades.udg.es"></tt>
o también a 

<itemize>
<item><tt><htmlurl url="mailto:mm6344@pluto.udg.es"
name="mm6344@pluto.udg.es"></tt>
<item><tt><htmlurl url="mailto:mm6344@speedy.udg.es"
name="mm6344@speedy.udg.es"></tt>
<item><tt><htmlurl url="mailto:marc@abu.udg.es" name="marc@abu.udg.es"></tt>
</itemize>

<sect1>Agradecimientos
<p> 

A Paco (<tt/paco@hades.udg.es/) por poner la lista de <bf/Linux/ en marcha
y por la ayuda recibida, que fue él quien me enseñó a conectar terminales
al <bf/Linux/. 

<sect>Anexo: El INSFLUG <label id="Grupos">
<p>

El <em/INSFLUG/ forma parte del grupo internacional 
<it/Linux Documentation Project/, 
encargándose de las traducciones al castellano de los Howtos (Comos),
así como la producción de documentos originales en aquellos casos
en los que no existe análogo en inglés.

En el <bf/INSFLUG/ se orienta preferentemente a la traducción de documentos
breves, como los <em/COMOs/ y <em/PUFs/ (<bf/P/reguntas de
<bf/U/so <bf/F/recuente, las <it/FAQs/. <tt/:)/ ), etc.

Diríjase a la sede del INSFLUG para más información al respecto.

En la sede del INSFLUG encontrará siempre las <bf/últimas/ versiones 
de las traducciones:  <tt><htmlurl url="http://www.insflug.org" 
name="www.insflug.org"></tt>. Asegúrese de comprobar cuál es la última versión 
disponible en el Insflug antes de bajar un documento de un servidor réplica.

Se proporciona también una lista de los servidores
réplica (<it/mirror/) del Insflug más cercanos a Vd.,  
e información relativa a otros recursos en castellano.

Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org"
name="pacopepe@insflug.org"></tt>.

</article>
