<para>Ésta es una descripción del conjunto de órdenes Hayes. La mayoría de los módems utilizan gran parte de este conjunto de órdenes. Si ha perdido el manual de su módem, o si nunca lo ha tenido, esta referencia le podría ser útil. Yo, por ejemplo, al final he aprendido a desconectar el altavoz del módem: <command>ATM0</command> - y por fin el silencio.</para>
<para>Las cadenas de inicialización del módem consisten en una serie de órdenes. Preparan el módem para las comunicaciones, estableciendo algunos parámetros como el modo de marcado, las esperas, la detección de la señal de ocupado y muchas otras cosas. Los programas de comunicación por módem más modernos reinician las cadenas de inicialización en función de las opciones de menú que seleccione, las características que active, &etc;.</para>
<para>Durante muchos años los módems Hayes han sido el estándar. Con el crecimiento del mercado de fabricantes de módems, la mayoría se han unido, al menos en algo, al estándar Hayes. Lo que viene a continuación en una lista parcial del conjunto de órdenes de Hayes (llamadas órdenes «AT»). El conjunto de órdenes de Hayes se puede dividir en cuatro grupos:</para>
<listitem><para>El símbolo «&» y una letra mayúscula seguidos de un dígito. Esta es una extensión del conjunto de órdenes básico. Por ejemplo, <command>&M1</command>. Tenga en cuenta que la orden <command>M1</command> es diferente de la orden <command>&M1</command>.</para></listitem>
<listitem><para>Comienzan normalmente con una barra invertida («\»), o un signo de porcentaje («%»), estas órdenes varían dependiendo del fabricante del módem. Pero esa razón, sólo se mostrarán unos pocas órdenes de este tipo.</para></listitem>
<listitem><para><command>S<replaceable>r</replaceable>=<replaceable>n</replaceable></command> donde <replaceable>r</replaceable> es el número de registro a cambiar, y <replaceable>n</replaceable> es el nuevo valor que se le asigna.</para>
<para>Un «registro» es un punto físico específico de la memoria. Los módems tiene pequeñas cantidades de memoria. Este cuarto conjunto de órdenes se utiliza para introducir valor en un registro (punto de la memoria) en particular. El registro almacenará una «variable» (información alfanumérica) en particular, que será utilizada por el módem y el programa de comunicaciones. Por ejemplo <command>S7=60</command> le indica al ordenador que «establezca el valor 60 en el registro número 7».</para></listitem>
<note><para>Aunque la mayoría de las órdenes están definidas por una combinación de letra y número (<command>L0</command>, <command>L1</command> &etc;), el uso del cero es opcional. En este ejemplo, <command>L0</command> es lo mismo que indicar simplemente <command>L</command>. Tenga esto en cuenta al leer la tabla que viene a continuación.</para></note>
<para>Éstos son algunos de los caracteres más importantes que pueden aparecer en la cadena de inicialización de un módem. Estos caracteres no deberían ser cambiados en circunstancias normales.</para>
<listitem><para>hace que el programa se detenga durante un segundo. Puede utilizar más de una <command>,</command> consecutivamente. Por ejemplo, <command>,,,,</command> le dice al módem que espere durante cuatro segundos (la duración de la pausa viene determinada por el valor del registro <varname>S8</varname>).</para></listitem>
<listitem><para>Envía el carácter de retorno de carro al módem. Es un código de control que la mayoría de los programas de comunicaciones interpretan como «retorno de carro».</para></listitem></varlistentry>
<entry><command>E0</command> o <command>E</command></entry>
<entry>Sin eco</entry>
<entry>No escribirá en pantalla las órdenes enviadas al ordenador</entry>
</row>
<row>
<entry><command>E1</command></entry>
<entry>Eco</entry>
<entry>Escribirá en pantalla las órdenes enviadas al ordenador (así se puede ver lo que se escribe)</entry>
</row>
<row>
<entry><command>H0</command></entry>
<entry>Estado de colgado</entry>
<entry>Corta la comunicación</entry>
</row>
<row>
<entry><command>H1</command></entry>
<entry>Estado de colgado</entry>
<entry>Se descuelga el teléfono</entry>
</row>
<row>
<entry><command>I0</command> o <command>I</command></entry>
<entry>Información o Interrogación</entry>
<entry>Esta orden es muy dependiente del tipo de modelo. <command>I0</command> devuelve normalmente un número o código, donde los número más altos proporcionan normalmente información muy útil.</entry>
</row>
<row>
<entry><command>L0</command> o <command>L</command></entry>
<entry>Altavoz reducido. Los módems con control de volumen externo no tendrán esta opción.</entry>
<entry>Minimiza el volumen</entry>
</row>
<row>
<entry><command>L1</command></entry>
<entry></entry>
<entry>Volumen bajo</entry>
</row>
<row>
<entry><command>L2</command></entry>
<entry></entry>
<entry>Volumen medio</entry>
</row>
<row>
<entry><command>L3</command></entry>
<entry></entry>
<entry>Volumen alto</entry>
</row>
<row>
<entry><command>M0</command> o <command>M</command></entry>
<entry>Apaga el altavoz</entry>
<entry><command>M3</command> también es común, pero difiere según las marcas</entry>
</row>
<row>
<entry><command>M1</command></entry>
<entry></entry>
<entry>El altavoz permanece encendido hasta que se detecta la portadora (es decir, hasta que se oye al otro módem)</entry>
</row>
<row>
<entry><command>M2</command></entry>
<entry></entry>
<entry>El altavoz permanece siempre encendido (se oyen los sonidos de los datos después del CONNECT)</entry>
</row>
<row>
<entry><command>N0</command> o <command>N</command></entry>
<entry>Velocidad de preconexión</entry>
<entry>Preconectar sólo a la velocidad indicada en <link linkend="hayes-s37"><varname>S37</varname></link></entry>
</row>
<row>
<entry><command>N1</command></entry>
<entry></entry>
<entry>Preconectar a la velocidad más alta mayor de <link linkend="hayes-s37"><varname>S37</varname></link></entry>
</row>
<row>
<entry><command>O0</command> o <command>O</command></entry>
<entry>Volver en línea</entry>
<entry>Ver también <link linkend="hayes-basic-x1"><command>X1</command></link> ya que la detección del tono de llamada podría estar activada.</entry>
</row>
<row>
<entry><command>O1</command></entry>
<entry></entry>
<entry>Volver en línea después de una secuencia de ajuste de ecualización</entry>
</row>
<row>
<entry><command>Q0</command> o <command>Q1</command></entry>
<entry>Modo tranquilo</entry>
<entry>Apagado. Muestra códigos de resultados, el usuario ve respuestas a las órdenes (⪚ <computeroutput>OK</computeroutput>)</entry>
</row>
<row>
<entry><command>Q1</command></entry>
<entry>Modo tranquilo</entry>
<entry>Encendido. Se suprimen los códigos de resultados, el usuario no ve respuestas.</entry>
<entry>Normalmente añade la velocidad de conexión a los códigos de resultado básicos (⪚ <computeroutput>CONNECT 1200</computeroutput>)</entry>
</row>
<row>
<entry><command>X2</command></entry>
<entry></entry>
<entry>Normalmente añade detección de tono de marcado (evitando la marcación a ciegas y en ocasiones evitando <command>AT0</command>)</entry>
</row>
<row>
<entry><command>X3</command></entry>
<entry></entry>
<entry>Normalmente añade detección de señal de ocupado</entry>
</row>
<row>
<entry><command>X4</command></entry>
<entry></entry>
<entry>Normalmente añade detección tanto de señal de ocupado como de tono de marcado</entry>
</row>
<row>
<entry><command>Z0</command> o <command>Z</command></entry>
<entry>Reiniciar</entry>
<entry>Reinicia la configuración del módem a la almacenada. Utilice <command>Z0</command>, <command>Z1</command> &etc; para tener varios perfiles. Es lo mismo que <command>&F</command> para reiniciar los valores de fábrica en los módems sin <acronym>NVRAM</acronym> (memoria no volátil)</entry>
<entry><command>&B0</command> o <command>&B</command></entry>
<entry>Parámetros de autoajuste</entry>
<entry>Desactivar la función de autoajuste</entry>
</row>
<row>
<entry><command>&B1</command></entry>
<entry>Parámetros de autoajuste</entry>
<entry>Activar la función de autoajuste</entry>
</row>
<row>
<entry><command>&B2</command></entry>
<entry>Parámetros de autoajuste</entry>
<entry>Activar autoretrain, pero desconectar si no hay mejoras en la línea más tarde del periodo dictado por <link linkend="hayes-s7"><varname>S7</varname></link></entry>
<entry><command>&C0</command> o <command>&C1</command></entry>
<entry>Detección de portadora</entry>
<entry>Señal siempre activa</entry>
</row>
<row>
<entry><command>&C1</command></entry>
<entry>Detección de portadora</entry>
<entry>Indica la portadora remota (preferido de manera predeterminada)</entry>
</row>
<row>
<entry><command>&D0</command> o <command>&D</command></entry>
<entry>Terminal de datos lista (<acronym>DTR</acronym>)</entry>
<entry>Señal ignorada (esto es específico del módem, debe comprobar su manual sobre esta orden concreta).</entry>
</row>
<row>
<entry><command>&D1</command></entry>
<entry>Terminal de datos lista (<acronym>DTR</acronym>)</entry>
<entry>Si <acronym>DTR</acronym> cambia de activo a inactivo, el módem se sitúa en modo de órdenes (sólo algunos módems)</entry>
</row>
<row>
<entry><command>&D2</command></entry>
<entry>Terminal de datos lista (<acronym>DTR</acronym>)</entry>
<entry>Algunos módems cuelgan en la transición de <acronym>DTR</acronym> activo a inactivo (preferido de manera predeterminada)</entry>
</row>
<row>
<entry><command>&D3</command></entry>
<entry>Terminal de datos lista (<acronym>DTR</acronym>)</entry>
<entry>Cuelga y reinicia el módem, y vuelve al modo de órdenes sobre <acronym>DTR</acronym></entry>
</row>
<row>
<entry><command>&F0</command> o <command>&F</command></entry>
<entry>Predeterminados de fábrica</entry>
<entry><para>Predeterminados genéricos compatibles con Hayes </para><para>Normalmente es bueno que utilice esto en la cadena de inicio, ya que los parámetros <command>&F1</command>-<command>&F3</command> varían de unos módems a otros, puede causar problemas de conexión (ya que nunca se sabe realmente qué es lo que cambia realmente <command>&F2</command>).</para><para>Por otro lado, también interesa probar las otras opciones que se detallan, muchos de los problemas se pueden resolver sustituyendo una cadena de inicio complicada por un simple <command>&F2</command> o similar. Sin embargo, si está construyendo una cadena de inicio, es mejor que comience con un simple <command>&F</command>, y no utilice los parámetros «personalizados».</para></entry>
</row>
<row>
<entry><command>&F1</command></entry>
<entry>Predeterminados de fábrica</entry>
<entry>Predeterminados de fábrica basados en un usuario de un ordenador compatible con IBM PC</entry>
</row>
<row>
<entry><command>&F2</command></entry>
<entry>Predeterminados de fábrica</entry>
<entry>Predeterminados de fábrica para un Mac con preconexión por software</entry>
</row>
<row>
<entry><command>&F3</command></entry>
<entry>Predeterminados de fábrica</entry>
<entry>Predeterminados de fábrica para un Mac con preconexión por hardware</entry>
</row>
<row>
<entry><command>&G0</command> o <command>&G</command></entry>
<entry>Tonos guardia</entry>
<entry>Desactivar tonos guardia</entry>
</row>
<row>
<entry><command>&K0</command> o <command>&K</command></entry>
<entry>Control de flujo local</entry>
<entry>Desactivar control de flujo local</entry>
</row>
<row>
<entry><command>&K1</command></entry>
<entry>Control de flujo local</entry>
<entry>Activa el control local de flujo por hardware RTS/CTS</entry>
</row>
<row>
<entry><command>&K2</command></entry>
<entry>Control de flujo local</entry>
<entry>Activa el control local de flujo por software XON/XOFF</entry>
</row>
<row>
<entry><command>&K3</command></entry>
<entry>Control de flujo local</entry>
<entry>Activa el control local de flujo por hardware RTS/CTS</entry>
</row>
<row>
<entry><command>&K4</command></entry>
<entry>Control de flujo local</entry>
<entry>Activa el control local de flujo por software XON/XOFF</entry>
</row>
<row>
<entry><command>&L0</command> o <command>&L</command></entry>
<entry>Modo de marcado</entry>
<entry>Selecciona el modo de marcado</entry>
</row>
<row>
<entry><command>&M0</command> o <command>&M</command></entry>
<entry>Modo de control de errores</entry>
<entry>Selecciona el modo asíncrono no-<acronym>EC</acronym> (el mismo que <command>&Q0</command>)</entry>
</row>
<row>
<entry><command>&P0</command> o <command>&P</command></entry>
<entry>Ratio de marcación por pulsos</entry>
<entry>Marcación por pulsos en EE.UU./Canada, 39% señal / 61% ruptura</entry>
</row>
<row>
<entry><command>&P1</command></entry>
<entry>Ratio de marcación por pulsos</entry>
<entry>Marcación por pulsos en R.U./Hong Kong, 33% señal / 67% ruptura</entry>
</row>
<row>
<entry><command>&Q0</command> o <command>&Q</command></entry>
<entry>Modo de control de errores</entry>
<entry>Modo de control de errores asíncrono no-<acronym>EC</acronym>. No se hace caché de datos. <acronym>ASB</acronym> desactivado.</entry>
</row>
<row>
<entry><command>&Q5</command></entry>
<entry>Modo de control de errores</entry>
<entry>Selecciona la operación V.42 <acronym>EC</acronym> (requiere control de flujo)</entry>
</row>
<row>
<entry><command>&Q6</command></entry>
<entry>Modo de control de errores</entry>
<entry>Modo asíncrono con <acronym>ASB</acronym> (requiere control de flujo)</entry>
</row>
<row>
<entry><command>&Q8</command></entry>
<entry>Modo de control de errores</entry>
<entry>Selección de protocolo <acronym>EC</acronym> alternativo (<acronym>MNP</acronym>)</entry>
</row>
<row>
<entry><command>&Q9</command></entry>
<entry>Modo de control de errores</entry>
<entry>Compresión de datos condicional: V.42bis = sí, MNP5 = no.</entry>
</row>
<row>
<entry><command>&S0</command> o <command>&S</command></entry>
<entry>Selección de acción <acronym>DSR</acronym></entry>
<entry>Siempre activo (predeterminado)</entry>
</row>
<row>
<entry><command>&S1</command></entry>
<entry>Selección de acción <acronym>DSR</acronym></entry>
<entry>Sigue la especificación <acronym>EIA</acronym> (activar el siguiente todo de portadora, hasta que se pierda esta).</entry>
</row>
<row>
<entry><command>&T0</command> o <command>&T</command></entry>
<entry>Auto comprobación</entry>
<entry>Auto comprobación dependiente del modelo en algunos módems</entry>
</row>
<row>
<entry><command>&U0</command> o <command>&U</command></entry>
<entry><command>&V0</command> o <command>&V1</command></entry>
<entry>Ver activo</entry>
<entry>(y casi siempre almacenadas) opciones del perfil de configuración (o <command>ATI4</command></entry>
</row>
<row>
<entry><command>&W0</command> o <command>&W</command></entry>
<entry>Almacenar perfil</entry>
<entry>En <acronym>NVRAM</acronym> (<command>&W0</command>, <command>&W1</command> etc. para múltiples perfiles) algunos parámetros no pueden ser almacenados. Estos no aparecen normalmente con <command>&V</command> o <command>ATI4</command></entry>
</row>
<row>
<entry><command>&Y0</command> o <command>&Y</command></entry>
<entry>Seleccionar la configuración que se cargará durante el encendido</entry>
<entry>Cargar perfil 0 (predeterminado)</entry>
</row>
<row>
<entry><command>&Y1</command></entry>
<entry>Seleccionar la configuración que se cargará durante el encendido</entry>
<para>Una conexión directa es simplemente un enlace sin ningún tipo de control de errores o compresión de datos. En este caso, las velocidades entre el ordenador y el módem y entre los módems deben ser idénticas.</para>
<para>Una conexión normal utiliza control de flujo (ya sea por software o hardware) para hacer una caché de la información enviada o recibida, de forma que el módem puede transmitir información a una velocidad diferente de la que se recibe. Por ejemplo, un ordenador puede enviar a una velocidad real de 57kbps, utilizando compresión, mientras que el módem tiene una velocidad real de 28.8 kbps. Este es el modo que utilizan la mayoría de los módems.</para>
<para>Una conexión fiable es un tipo de conexión normal; si, por alguna razón, no se pueden establecer o mantener la compresión de datos o la corrección de errores, se cortará la conexión. (Esencialmente, un módem de ese tipo asegura que todas las conexiones son fiables, ya que colgará cuando la conexión no lo sea).</para>
<para>Igualmente, las conexiones auto-fiables son básicamente lo mismo, excepto que el módem tratará de negociar las conexión para establecer un enlace fiable. Nuevamente, este es el modo que utilizan la mayoría de los módems.</para>
<para>Muchos módems tiene docenas, incluso cientos, de registros S, pero sólo la primera docena más o menos suele ser medianamente estándar. Se cambian con una orden del tipo <command>ATS<replaceable>n</replaceable>=<replaceable>N</replaceable></command>, y se leen con <command>ATS<replaceable>n</replaceable>?</command> (⪚ <userinput><command>AT</command> <command>S10</command><option>=70</option> <command>S1?</command></userinput> indicará al módem que no cuelgue durante siete segundos sin oír al módem receptor, y que devuelva el número de veces que el teléfono sonó en la última ocasión).</para>