Previous Next Table of Contents

4. Poniendo a punto las cosas

4.1 Qué necesitas tener de antemano

Antes de comenzar a construir y usar el TERM debes asegurarte de que tienes incluido el soporte TCP/IP en el kernel. Además, asegurate de que esté activo el interface loopbackde TCP/IP. Si este es tu caso puedes seguir con el resto de esta sección.

4.2 Explicación de conceptos

En las versiones nuevas del term han aparecido dos conceptos nuevos. Estos dos conceptos se explican en los dos siguientes apartados.

Sharing (compartición)

A partir de la versión 1.16 aparece el concepto de compartir la conexión TERM con otros usuarios. Esto significa que cuando habilitas la característica shared (compartida), otra gente podrá usar la misma conexión TERM que tu estas usando, es decir, cuando estas trabajando en tu máquina remota a través de tu conexión TERM (por ejemplo, has usado trsh en tu máquina local para acceder) otra persona en tu máquina local podrá usar la misma conexión TERM al mismo tiempo para transitir un fichero con ftp a su cuenta en tu máquina local desde un ftp site de cualquier lugar del mundo.

Cuando deshabilitas la característica shared (compartida) (o sea, ejecutas TERM en modo privado) tu y solo tu (sin contar al root :-) puede usar la conexión TERM.

Por supuesto, solo necesitas instalar el shared TERM en el extremo en el que quieres permitir a la gente usar la misma conexión TERM que tu estas usando. Asi que, si otra gente tiene cuenta en tu máquina local y quieren usarlo desde algún logar de tu red remota habilitas la característica shared en el extremo remoto de tu conexión TERM. De esta forma toda esta gente puede acceder a tu máquina a la vez compartiendo la misma conexión TERM entre si y contigo mismo. (NOTA: el primer ejemplo necesitaba habilitar la característica shared en el extremo local de la conexión TERM).

NOTA para la instalación como root: Cuando instalas TERM como root primero debes crear un grupo TERM (antes de compilar) si miembros añadiendo la siguiente linea en /etc/group:

  term::16:root

o cualquier otro GID no usado en vez del 16 si éste ya esta en uso.

Después de compilar e instalar coloca al TERM y sus clientes el SGID term:

  chgrp term <cliente_term>
  chmod g+s <cliente_term>

También cualquier programa que hagas utilizable con TERM debe llevar SGID TERM.

Full TERM networking (conexión de red completamente TERM)

A partir de la versión 2.0.0 de TERM se usa el concepto full TERM networking (conexión de red totalmente TERM). Cuando tu única conexión con el mundo exterior es una conexión TERM, tienes una red full TERM (completamente TERM) y deberías construir el TERM con full TERM networking. En este caso se ha puesto un fichero llamado termnet en el directorio compartido. Esto dice a TERM que tu única conexión con el exterior es a través del TERM.

Cuando también tienes algún otro tipo de conexión de red además de los programas (pasados a TERM) de la conexión TERM, primero intenta que realicen su trabajo usando esta otra conexión. Si ésta falla entonces se invoca el TERM y se intenta realizar el trabajo a través de la conexión TERM. Para aclarar esto, ahora se da un ejemplo en el que el se usa el telnet hecho utilizable en TERM. Este telnet debería funcionar con y sin TERM.

  telnet localhost

no usa el TERM para conectar, pero

  telnet zeus.cs.kun.nl

usará el TERM solo si no tienes otro tipo de conexión de red.

El full TERM networking también implica el mentir sobre el nombre del host, y dice que es el host remoto en su lugar. Además, provoca que bind(0) actue siempre en el host remoto. En esencia hace que muchos programas puedan usarse cuando sin ir a través del TERM mientras el TERM esta corriendo. Desafortunadamente, la mayoria de programas y demonios UDP no funcionarán con TERM sin estos incómodos trucos.

4.3 Construir el TERM

Si tienes suerte esto solo debe implicar un make. Sin embargo, lo más probable es que necesites hacer más. Debido a nuevas opciones en las versiones nuevas del TERM (sharing, configure) ahora es un poco más complicado crear el ejecutable del TERM. Ahora pueden seguirse un par de caminos para obtener el ejecutable.

Para cubrir todos estos caminos con los que puede construirse el TERM vamos a dividir esta sección en tres partes:

  1. Construir el TERM hasta la versión 1.15
  2. Construir el TERM, versiones 1.16 hasta 1.19
  3. Construir el TERM, versiones 2.0.0 y superiores

Construir el term hasta la versión 1.15

Para estas versiones del term construirlo no debería implicar ejecutar más que estos comandos

  make DO=install OS-type
  make installman

Encontrarás el term, sus clientes y las páginas de manual (man) comodamente construidas e instaladas y listas para usar después de esto.

Además, necesitaras crear un directorio $HOME/term. Este directorio lo usará el term para buscar su fichero termrc.

La única cosa que puedes querer hacer es cambiar algunos de los pathes en el Makefile o cambiar algunos de los flags del compilador.

Construir el term, versiones 1.16 hasta 1.19

Para construir el term ahora puedes elegir una de las siguientes formas:

  1. Como un usuario normal, construir el term en modo privado
  2. Como un usuario normal, construir el term en modo shared
  3. Como root, construir el term en modo privado
  4. Como root, construir el term en modo shared

Abajo se explicará cómo habilitar/deshabilitar la opción shared durante la compilación del term

  1. Eres un usuario normal (sin acceso de root) y NO quieres COMPARTIR (SHARE) la conexión term con otros usuarios. Como usuario que no quiere compartir la conexión term con otros usuarios deberias hacer lo siguiente para construir el term:
         make DO=install OS-type
         make installman
    
    Después de esto, el term, sus clientes y las páginas de manual están generados e instalados. Además, necesitaras crear un directorio $HOME/term. Este directorio lo usará el term para buscar su fichero termrc. La única cosa que puedes querer hacer es cambiar algunos de los pathes en el Makefile o cambiar algunos de los flags del compilador.
  2. Eres un usuario normal (sin acceso de root) y SI quieres COMPARTIR (SHARE) la conexión term con otros usuarios. Como usuario que quiere compartir la conexión term con otros usuarios deberias hacer lo siguiente para construir el term:
         make DO=installshare USERSHARE=$HOME/term OS-type
         make installman
    
    Después de esto, el term, sus clientes y las páginas de manual están hechos e instalados. Además, tendrás un directorio $HOME/term (por defecto) con permisos drwxrwxr-x. En este directorio encontrarás al menos el socket usado por el term para sus conexiones (tmp/private/socket=).
  3. Eres el root y NO quieres COMPARTIR (SHARE) la conexión term con otros usuarios. Como root que no quiere compartir la conexión term con otros usuarios deberías hacer lo siguiente para construir el term:
         make DO=install OS-type
         make installman
    
    Después de esto, el term, sus clientes y las páginas de manual están hechos e instalados. Además, tendrás un directorio llamado /usr/local/lib/term (por defecto) con permisos drwxr-xr-x. En este directorio encontrarás al menos el socket usado por el term para sus conexiones (tmp/private/socket=).
  4. Eres root y quieres COMPARTIR (SHARE) la conexión term. Primero, asegúrate de haber leido la sección sobre 'sharing' de arriba. Como root que quiere compartir la conexión term deberias hacer lo siguiente:
         make DO=installshare OS-type
         make installman
    
    Después de esto, el term, sus clientes y las páginas de manual están hechos e instalados. Además, tendrás un directorio llamado /usr/local/lib/term (por defecto) con permisos drwxrwxr-x. En este directorio encontrarás al menos el socket usado por el term para sus conexiones (tmp/private/socket=).

Construir el TERM, versions 2.0.0 and higher

Primero asegúrate de haber leido la sección sobre ' full term networking' de arriba.

Para las versiones de term 2.0.0 y superiores hay muchas formas de generar el binario del term y los clientes. Todo esto puede hacerse tanto por el root como por un usuario cualquiera:

  1. Generar el term en modo privado sin full term networking
  2. Generar el term en modo privado con full term networking
  3. Generar el term en modo shared sin full term networking
  4. Generar el term en modo shared con full term networking

En estas versiones de term ha aparecido una nueva forma de compilar usando el script configure. Cuando se ejecuta configure éste chequea en que sistema operativo estás tratando de instalar el term, si el directorio origen esta disponible o no, y si hay puesta alguna opción de runtime. De acuerdo con las cosas encontradas configure crea entonces un Makefile usando Makefile.in que se entrega con el paquete del term.

Dos de las opciones más importantes para configure son --root y --user que establecen si el term se instalará por el root o por un usuario cualquiera. Se pueden usar otras opciones para instalar el term de la forma que quieras (con paths no estandar, por ejemplo).

  1. Generar el term en modo privado sin full term networking Para generar el term de este modo necesitas ejecutar los siguientes comandos (tanto para el root como para cualquiera):
         make install installman
    
    Esto genera los binarios e instala estos binarios y las páginas de manual.
  2. Generar el term en modo privado con full term networking Para generar el term de este modo necesitas ejecutar los siguientes comandos (tanto para el root como para cualquiera):
         make installnet installman
    
    Esto genera los binarios e instala estos binarios y las páginas de manual.
  3. Generar el term en modo shared sin full term networking Para generar el term de este modo necesitas ejecutar los siguientes comandos (tanto para el root como para cualquiera):
         make share installman
    
    Esto genera los binarios e instala estos binarios y las páginas de manual.
  4. Generar el term en modo shared con full term networking Para generar el term de este modo necesitas ejecutar los siguientes comandos (tanto para el root como para cualquiera):
         make share installnet installman  
    
    Esto genera los binarios e instala estos binarios y las páginas de manual.

4.4 client.a, libtermnet.a, libtermnet.sa, libtermnet.so

Con el term se suministra una libreria con funciones para clientes term.

Hasta la versión 1.16 esta libreria se llamaba client.a. Durante la compilación de term se generaba esta libreria, que después se usaba en la compilación de los clientes term. No se instalaba en otro directorio.

A partir de la versión 1.16 se cambió el nombre de la libreria por libtermnet.a. Hasta la versión 1.19 esta libreria se crea en el directorio term y después se usa durante la compilación de los clientes term. No se instala en otro directorio.

A partir de la versión 2.0.0, además de libtermnet.a también se crean libtermnet.so y libtermnet.sa (libreria shared y libreria exported initialized) durante la instalación del paquete term. Durante la instalación de todas las partes del paquete, estos tres ficheros de librerias se instalan en el directorio /usr/local/lib (por defecto). Y después se hace un enlace desde libtermnet.so.2 a libtermnet.so.2.x.x. Finalmente se ejecuta ldconfig para crear los enlaces necesarios y el caché (para uso del linker de run-time, ld.so) para las librerias shared más recientes que se encuentran en los directorios especificados en la linea de comandos, en el fichero /etc/ld.so.conf, y en los directorios permitidos (/usr/lib y /lib). Si la instalación se hace correctamente los tres ficheros de libreria podrán usarse ahora por los clientes de term que son generados con librerias dinámicas en lugar de estáticas. Estas librerias también se pueden usar ahora para portar tu software propio para poderlo usar con el term (mirar abajo).

4.5 Estableciendo variables de entorno.

term reconoce un par de variables de entorno que pueden definir los usuarios. Las tres primeras de éstas que se explicarán son:

Definiendo estas variables puedes controlar el modo en que se ejecuta el term.

Para versiones del term hasta la 1.15 solo es importante la variable TERMDIR (estas versiones no reconocen el modo shared). Para estas versiones TERMDIR se debería definir como sigue:

  setenv TERMDIR $HOME     (csh o tcsh)
  export TERMDIR=$HOME     (bash)

A partir de la versión 1.16 term también reconoce las variables TERMSHARE y TERMMODE. Con estas variables se le puede indicar al term que funcione en modo privado o en modo compartido. Explicaremos como definir las variables para ambos modos.

  1. Ejecutar term en modo privado puede hacerse definiendo las variables TERMDIR y TERMMODE de la siguiente forma: Para csh o tcsh
         setenv TERMDIR $HOME
         setenv TERMMODE 0
    
    Para bash
      export TERMDIR=$HOME
      export TERMMODE=0
    
  2. Si quieres usar el term en modo compartido hay dos formas de definir las variables:
    1. Si term se instala como un programa SUID solo se debe definir TERMMODE (?? README en el paquete del term).
              setenv TERMMODE 'número'    (csh o tcsh)
              export TERMMODE='número'    (bash)
      
      En 'número' debe ponerse 1 si se esta usando una versión del term entre la 1.16 y la 1.19 (README.share en el paquete del term) y 2 si se está usando la versión de term 2.0.0 o superior (README.security en el paquete del term).
    2. Si term se instala como un programa SGID las variables se deben definir del siguiente modo: Para csh o tcsh
              setenv TERMMODE 1
              setenv TERMDIR /usr/local/lib/term
              setenv TERMSHARE $TERMDIR
      
      Para bash
           export TERMMODE=1
           export TERMDIR=/usr/local/lib/term
           export TERMSHARE=$TERMDIR
      
      Poniendo las variables de esta forma hará posible que se ejecuten clientes viejos (linkados con una versión antigua del client.a) en modo compartido (shared).

A partir de la versión 2.0.0, term también reconoce la variable TERMSERVER. Se necesita definir esta variable cuando se tienen varios modems y mas de una conexión a la vez. Para especificar que conexión usar, se debe ejecutar el term con un nombre de servidor:

  nohup term -v /dev/modem1 Connection1 &
  nohup term -v /dev/modem2 Connection2 &
Los usuarios deberían definir la variable TERMSERVER con el nombre de conexión que quieran usar:
  setenv TERMSERVER Connection1   (csh o tcsh)
  export TERMSERVER=Connection2   (bash)

4.6 Probar el TERM

Haz un make test (o make termtest para versiones nuevas del term) para generar el demonio de prueba del term. (term)test funciona ejecutando dos copias del term en tu sistema, una ``local'' y una ``remota''. Ambas leerán tu termrc; de modo que puedas ajustar su comportamiento. Ahora ejecuta (term)test. Ahora deberías de poder hacer un trsh y un tupload (prueba con

   tupload ./term /usr/tmp
deberías de conseguir tener una copia del binario term en /usr/tmp ). La salida del term local deberia aparecer en local.log y la remota en remote.log. Puedes ejecutar term con el flag -d255 para poder registrar lo que ocurra en estos ficheros, o habilitar el debugging en tu termrc.

NOTA: Ejecuta el test como ./test para evitar el test del sistema.

4.7 TERM y los programas de comunicaciones.

Antes de poder usar term, tienes que establecer una conexión vía módem usando un programa de comunicaciones como kermit o seyon. En la documentación del programa encontrarás qué tienes que hacer para conectarte con la máquina remota.

Cuando hayas establecido la conexión y quieras ejecutar term, necesitas suspender o salir del programa de comunicaciones sin cerrar la conexión.

A continuación explicaré cómo hacer esto con algunos programas de comuniaciones.

Kermit

Iniciar term cuando se usa kermit es fácil. En el prompt local de kermit se teclea suspend, de modo que volverás al prompt de Linux. Desde este prompt puedes ya establecer la conexión term.

Seyon

Una forma de iniciar chequeo de línea o TERM cuando usas seyon es poner linecheck y TERM en el menú Transfer (controlado por el fichero '$HOME/.seyon/protocols').

Añade al fichero '$HOME/.seyon/protocols' lo siguiente:

  "Line check" "$cd /tmp; linecheck"
  "Term" "$term -c off -w 10 -t 150 -s 38400 -l $HOME/tlog"

Ahora, cuando inicies linecheck o term en la máquina local, selecciona en el menú Transfer el ítem "Line Check" o "Term".

Por supuesto, también podrías usar el botón de comando de shell y teclear en el diálogo que se te abrirá las palabras 'linecheck' o 'term'. Esto mismo hace redirección automática al comando.

4.8 Hacer un enlace transparente

Presumiblemente, puedes establecer una conexión modem entre tus hosts local y remoto. Típicamente lo que haces es, llamar a algún tipo de servidor de terminales y conectas con tu host remoto a través de él. También sueles usar para ello un software de terminal, como kermit o seyon para comunicar con tu modem (los ejemplos de este documento usan el kermit, ya que es el que usa el autor). Si estas teniendo problemas con tu modem, o con tu software de terminal, echa una ojeada al Serial HOWTO; esto debería ayudarte.

Una vez establecido el enlace, querrás hacerlo lo más transparente posible. Comprueba los comandos en el servidor de terminal (help o ? suele ser un buen comienzo). Busca la opción 8 bits siempre que sea posible. Esto puede implicar cambiar la forma en que accedes a tu sistema, por ejemplo, si el servidor usa rlogin, tu tendrás que usarlo poniendo el flag -8 para hacerlo transparente. Especialmente vigila el control de flujo por xon/xoff. Tú no necesitas eso. Intenta habilitar el control de flujo por hardware rts/cts. Puede que tengas que mirar los docs de tu modem para saber como configurarlo para hacer comunicaciones rts/cts de 8 bits.

4.9 Ejecutar linecheck

ATENCIÓN: En algunos documentos las opciones de linea de comandos para linecheck se citan en orden incorrecto. He comprobado esto y he hallado que el orden de las opciones que menciono aqui abajo es el correcto.

NOTA: a partir de la versión de term 2.3.0 linecheck ya no necesitrá tener el nombre de un fichero de log en la linea de comandos. Escribirá su salida al fichero linecheck.log en el directorio desde el que se ejecute linecheck.

linecheck es un programa que se entrega con el term. Comprueba la transparencia de un enlace, produciendo información de configuración que necesita el term para funcionar correctamente. linecheck manda todos los 256 caracteres de 8 bits posibles sobre el enlace y verifica que cada uno se transmite correctamente. Hay que configurar term para manejar caracteres que no pueden ser transmitidos por el enlace, y linecheck determina cuales son estos caracteres. Debes usar linecheck después de haber establecido un enlace modem lo más transparente posible. Para correr linecheck haz lo siguiente:

  1. En el sistema remoto, ejecuta linecheck linecheck.log
  2. Vuelve a tu sistema local y suspende tu programa de comunicaciones (ˆZ en kermit) (si no te robará caracteres del linecheck).
  3. En el sistema local ejecuta linecheck linecheck.log > /dev/modem < /dev/modem

Cuando termine linecheck encontrarás un conjunto de números al final de los ficheros linecheck.log. Estos son los que deberias poner como 'escape' en el termrc al otro lado del enlace. Por ejemplo, mi linecheck.log local decia que 'escape' 29 y 157. Asi que, mi termrc local escapa (evita) estos caracteres y mi termrc remoto ninguno. Si se escapa (evita) un carácter en un extremo, también debo ignorarlo (ignore) en el otro; asi que, en este ejemplo, debería ignorar 29 y 157 en mi sistema remoto.

Si linecheck se cuelga, prueba a usar

  linecheck linecheck.log 17 19

en el sistema remoto, y

  linecheck linecheck.log 17 19 > /dev/modem < /dev/modem

en el sistema local. Esto evitará tus caracteres de xon/xoff (control de flujo), que colgarán tu linea si tienes control de flujo software. Si soluciona los problemas de cuelgues, tendrás que escapar/ignorar 17/19 en ambos termrc. Si tu servidor de terminal tiene otros caracteres que lo cuelguen, prueba a correr lineckeck con esos caracteres escapados como el ejemplo de arriba. Puedes marcar esos caracteres si linecheck se cuelga. Si es este el caso, mátalo, y loego mira en los logs. Los últimos caracteres transmitidos es probable que sean los culpables. Vuelve a intentarlo escapando estos caracteres.

En resumen, mi termrc local tiene las lineas:

  escape 29
  escape 157

y mi termrc remoto tiene las lineas:

  ignore 29
  ignore 157

ya que mi linecheck.log remoto decia que 'escape 29 y 157'.

4.10 Prueba a correr el TERM

Accede a tu sistema remoto, haciendo el enlace lo más transparente posible (si no lo has hecho aun). Arranca term en el extremo remoto. Yo lo hago asi:

  exec term -r -l $HOME/tlog -s 38400 -c off -w 10 -t 150.
Vamos a desgranar las opciones una por una (ten en cuenta que con igual facilidad podría poner estas opciones en mi termrc. Lo hice asi porque evitaba tener que editar un fichero mientras ponia a punto el term).

exec implica destruir la shell actual, corriendo en su lugar el programa indicado. Ejecuto las cosas con exec porque no pretendo usar mi shell de login de nuevo; solo estoy despericiando de memoria. Si estas depurando el enlace y eres capaz de abortar el term remoto, puede que no quieras hacer el exec.

La opción -r es necesaria solo en un extremo. term verá a este extremo como el remoto de la conexión (ten en cuenta que el extremo remoto del term puede ser tu propia máquina local). Si no usas esta opción en un extremo los clientes de term se caerán expontaneamente.

-l $HOME/tlog. Esto registra los errores en el fichero tlog en mi directorio home. Muy util para depurar. No hay razón para no ponerlo.

-s 38400 : Tengo un modem 14400, con compresión. Para ratios de compresión óptimos, necesito poder mandar bits al pipe lo más rápido posible. Para un modem más lento, deberias un número menor. Fíjate que si tienes una uart 16450 en tu puerto serie, velocidades altas pueden provocar perdida de datos por desbordamiento del chip de tu puerto serie. term se recuperará de esto, pero si ves muchos mensajes en tu log, (o recibes overrun warnings en versiones del kernel 0.99pl15 en adelante) de nuevo necesitas reducir este número.

-c off : Desactiva la compresión de datos. Tengo un modem con compresión, y no necesito comprimir las cosas dos veces.

-w 10 -t 150 : De nuevo estas son opciones para optimizar mi enlace de modem rápido. Pongo mi ventana a 10 y mi timeout a 150. Esto lo hago de acuerdo con la recomendación de la página de manual de term_setup.

Vuelve sobre tu máquina local y suspende tu programa de comunicaciones (ˆZ en kermit). No querrás que esté corriendo a la vez que term, ya que lucharía con el term por el puerto serie. Si puedes convencer a tu modem de que no cuelgue cuando salgas de tu programa de comunicaciones (cuando cambia el DTR), podrías salir del programa en este punto.

Ahora lanza el term local. Yo uso:

  term -c off -l $HOME/tlog -s 38400 -w 10 -t 150 < /dev/modem >
  /dev/modem &
Necesito decirle al term donde está el modem; Asi que apunto tanto la entrada como la salida estandar a /dev/modem (eso es lo que hacen < y >). Tambien lo hago correr en background; de modo que puedo usar esta consola para otra cosa si la necesito.

term debería de funciona ya :-). Prueba con trsh, a ver qué pasa. Si se cuelga, o el enlace parece lento, echa una ojeada a tu tlog en ambos extremos. ┐Tienes timeouts o mensajes de error? Si es asi, entonces es que has configurado algo mal. Vuelvelo a intentar (después de que hayas terminado de leer esto :-). Observa que la conexión no parecerá muy rápida, especialmente si usas compresión - será un poco a saltos. La velocidad real aparece durante transmisiones de ficheros y similares.

4.11 Terminar tu conexión term

Muy probablemente, una vez que hayas hecho un montón de trabajo usando el term, querrás terminar el trabajo y deshacer tu conexión term. Para poder hacer esto hay cuatro formas:

  1. Matar (kill) los programas term a ambos lados de la conexión. Esta es la forma menos recomendada de terminar tu conexión.
  2. Una forma mejor es ejecutar el siguiente comando localmente:
         echo '00000' > /dev/modem
    
    Esto terminará la conexión term correctamente. Funcionará en todas las versiones del term. Hay que asegurarse de que la secuencia contiene al menos cinco ceros.
  3. En el termrc de versiones 2.0.0 y superiores se puede incluir una sentencia terminate '<cualquier cadena>'. Esto establece una cadena que hará que salga del term ('00000' por defecto). Deba ser de una longitud de 5 caracteres por lo menos, para evitar terminaciones accidentales.
  4. A partir de la versión 1.14 hay un programa tshutdown (realmente para la versión 1.14 está disponible como patch, para versiones más recientes se incluye en el paquete). Ejecutando tshutdown termina la conexión term perfectamente.

4.12 Cómo eliminar TERM de tus particiones.

Ok, me habéis preguntado por esto. Así que voy a presentar los pasos a seguir para desinstalar term:

Después de todo este ejercicio, podrás estar bastante seguro de que has borrado todo lo relacionado con term.

4.13 Optimizando la conexión

Una vez que consigues correr el term, puede que quieras intentar optimizar las cosas. Una buena forma de medir la velocidad de tu enlace es corriendo tmon en una ventana mientras transfieres un fichero en otra. Intenta con ficheros de texto y ficheros comprimidos suficientemente grandes; el texto a secas debería dar un factor del doble de rápido que el comprimido. Los parámetros que querras ajustar son baudrate velocidad del puerto (-s), compression (-c), windows tamaño de ventana (-w), timeout tiempo de espera (-t) y retrain (-A).

Cuidado con el parámetro retrain. Con la versión 1.19 del term obtengo un peor rendimiento de un 80% a un 90% comparado con la ejecución del term sin el parámetro retrain. No está claro si se trata de un bug el la versión 1.19 y si este problema existe solo en la versión 1.19 del term.

Baudrate: el número máximo de bits por segundo que el term intentará enviar a través del enlace serie. term evitará enviar caracteres a una velocidad superior a esta. Por defecto se usa la velocidad del puerto serie del ordenador, pero hay que avisar de que esta puede ser demasiado alta si el modem funciona a una velocidad menor sobre la linea telefónica. La opción baudrate está indicada para sistemas que almacenan en buffer la salida al modem. Durante la configuración y el ajuste es mejor usar un baudrate pequeño que uno que sea demasiado grande. Para enlaces de alta velocidad (> 38400), ponerlo sin límite será probablemente ventajoso. Esto se consigue usando el valor 'off'. term confiará entonces solamente en el kernel para controlar el flujo.

Compression: necesitarás poner en 'on' si no tienes un modem con compresión. Si tienes un modem de estos, pon 'compression off', de lo contrario estarás comprimiendo las cosas dos veces, lo que habitualmente incrementa la cantidad de datos transmitidos. Modems con compresión son aquellos que usan los protocolos MNP-5 o V42.bis. Observa la documentación del modem y el mensaje del modem cuando conecta.

Windows: este es el número de unidades de datos, o paquetes, que el term enviará por la línea antes de obtener reconocimiento (ack) desde el term remoto. Para modems rápidos, aumentar esto puede ser una mejora; para enlaces más lentos esto puede saturar el extremo remoto.

Timeout: el tiempo que el term esperará a un ack. Si has aumentado windows y estás teniendo timeouts en el ficheo log, prueba a aumentar este valor.

Para un 14400/V42.bis, yo uso -c off -w 10 -t 150. Consigo unos 1700 cps en ficheros comprimidos y 3500 cps en ficheros ascii usando tupload.

4.14 Resolviendo problemas

En esta sección se dan algunas opiniones sobre qué comprobar cuando se tienen problemas ejecutando el term o alguno de sus clientes.


Previous Next Table of Contents