<para>Aqui está uma descrição do Conjunto de Comandos Hayes. A maioria dos modens seguem amplamente este conjunto de comandos. Se você perdeu o manual do seu modem ou nunca teve um manual, esta referência pode ser muito útil. Com ela, eu por exemplo finalmente descobri como desligar a caixinha de som do meu modem: <command>ATM0</command> -- Finalmente: Silêncio!</para>
<para>O string de inicialização do modem consiste de uma série de comandos. Ele prepara o modem para comunicação, configurando alguns recursos como modo de discagem, tempos de espera, detecção de sinal de ocupado e muitas outras configurações. Programas mais recentes de comunicação com modem reiniciam o string de inicialização de acordo com as opções de menu que você selecionou, com os recursos que você habilitou, &etc;.</para>
<para>Por muitos anos os modens Hayes foram o padrão. Conforme o campo de fabricantes de modens cresceu, a maioria aderiu pelo menos parte do padrão Hayes. A lista à seguir é uma lista parcial do conjunto de comandos Hayes (chamado de comandos <quote>AT</quote>). O Conjunto de Comandos Hayes pode ser dividido em quatro grupos:</para>
<listitem><para>Um <quote>&</quote> (e comercial) e um caracter maiúsculo seguido por um dígito. Esta é uma extensão do conjunto de comandos básicos. Por exemplo, <command>&M1</command>. Observe que <command>M1</command> é diferente de <command>&M1</command>.</para></listitem>
<term>Conjunto de Comandos de Proprietários</term>
<listitem><para>Normalmente iniciado por uma barra invertida (<quote>\</quote>) ou um sinal de percentagem (<quote>%</quote>), estes comandos variam largamente de acordo com os fabricantes de modens. Por esta razão, somente alguns poucos destes comandos serão listados abaixo.</para></listitem>
<listitem><para><command>S<replaceable>r</replaceable>=<replaceable>n</replaceable></command> onde <replaceable>r</replaceable> é o número do registrador a ser mudado, e <replaceable>n</replaceable> é o novo valor a ser atribuído.</para>
<para>Um <quote>registrador</quote> é o termo computacional para uma localização física específica na memória. Modens possuem uma pequena quantidade de memória em seus circuitos. Este quarto conjunto de comandos é usado para inserir valores em uma registrador específico (localização da memória). O registrador será armazenado em uma <quote>variável</quote> (informação alfa-numérica) específica que é utilizada pelo modem e programas de comunicação. Por exemplo, <command>S7=60</command> instrui ao seu computador para <quote>Configurar registrador #7 para o valor 60</quote>.</para></listitem>
<note><para>Apesar da maioria dos comandos serem definidos por uma combinação de letra-número (<command>L0</command>, <command>L1</command>, &etc;), o uso do zero é opcional. Neste exemplo, <command>L0</command> é o mesmo que um <command>L</command>. Tenha isto em mente ao ler a tabela abaixo!</para></note>
<para>Aqui estão alguns dos mais importantes caracteres que podem aparecer em um string de inicialização do modem. Estes caracteres normalmente não devem ser mudados.</para>
<listitem><para>faz com que seu programa pause por um segundo. Você pode usar mais de uma <command>,</command> em uma linha. Por exemplo, <command>,,,,</command> diz ao programa para pausar quatro segundos. (A duração da pausa é baseada na configuração do registrador <varname>S8</varname>)</para></listitem>
<listitem><para>Envia o caracter de terminação de Retorno de Carro para o modem. Isto é um código de controle que a maioria dos programas de comunicação traduzem como <quote>Retorno de Carro</quote></para></listitem></varlistentry>
<entry>Inquisição, Informação ou Interrogação</entry>
<entry>Este comando é muito específico do modelo. <command>I0</command> normalmente retorna um número ou código, enquanto números maiores frequentemente fornecem informações mais úteis.</entry>
<entry>Normalmente adiciona a velocidade de conexão aos códigos de resultado básicos (⪚ <computeroutput>CONNECT 1200</computeroutput>)</entry>
</row>
<row>
<entry><command>X2</command></entry>
<entry></entry>
<entry>Normalmente adiciona a detecção de tom de discagem (evitando uma discagem cega, e algumas vezes evitando o <command>AT0</command>)</entry>
</row>
<row>
<entry><command>X3</command></entry>
<entry></entry>
<entry>Normalmente adiciona a detecção de sinal de ocupado</entry>
</row>
<row>
<entry><command>X4</command></entry>
<entry></entry>
<entry>Normalmente adiciona a deteção do tom de discagem e do sinal de ocupado</entry>
</row>
<row>
<entry><command>Z0</command> ou <command>Z</command></entry>
<entry>Reiniciar</entry>
<entry>Reinicia para a configuração armazenada. Use <command>Z0</command>, <command>Z1</command>, &etc; para perfis múltiplos. Isto é o mesmo que <command>&F</command> para os padrões de fábrica dos modens sem <acronym>NVRAM</acronym> (memória não volátil)</entry>
<entry><command>&B0</command> ou <command>&B</command></entry>
<entry>Rebuscar Parâmetros</entry>
<entry>Desabilita a função de auto-rebuscar</entry>
</row>
<row>
<entry><command>&B1</command></entry>
<entry>Rebuscar Parâmetros</entry>
<entry>Habilita a função de auto-rebuscar</entry>
</row>
<row>
<entry><command>&B2</command></entry>
<entry>Rebuscar Parâmetros</entry>
<entry>Habilita o auto-rebuscar, mas desconecta se não houver melhoria da linha no período de tempo ditado pelo <link linkend="hayes-s7"><varname>S7</varname></link></entry>
<entry><command>&C0</command> ou <command>&C1</command></entry>
<entry>Detectar carro</entry>
<entry>Sinal sempre ligado</entry>
</row>
<row>
<entry><command>&C1</command></entry>
<entry>Detectar carro</entry>
<entry>Indicar carro de retorno (normalmente o padrão preferido)</entry>
</row>
<row>
<entry><command>&D0</command> ou <command>&D</command></entry>
<entry>Terminal de Dados Pronto (do inglês <acronym>DTR</acronym>)</entry>
<entry>Sinal ignorado (Isto é específico do modem, você deve ver seu manual para informações sobre esta opção!)</entry>
</row>
<row>
<entry><command>&D1</command></entry>
<entry>Terminal de Dados Pronto (do inglês <acronym>DTR</acronym>)</entry>
<entry>Se o <acronym>DTR</acronym> vai de Ligado para Desligado o modem vai para o modo de comando (Somente alguns modens)</entry>
</row>
<row>
<entry><command>&D2</command></entry>
<entry>Terminal de Dados Pronto (do inglês <acronym>DTR</acronym>)</entry>
<entry>Alguns modens interrompem a ligação quando ocorre a transição do <acronym>DTR</acronym> de Ligado para Desligado (Este é normalmente o padrão preferido)</entry>
</row>
<row>
<entry><command>&D3</command></entry>
<entry>Terminal de Dados Pronto (do inglês <acronym>DTR</acronym>)</entry>
<entry>Desliga, reinicia o modem e retorna ao modo de comando sobre o <acronym>DTR</acronym></entry>
</row>
<row>
<entry><command>&F0</command> ou <command>&F</command></entry>
<entry>Padrões de fábrica</entry>
<entry><para>Padrões genéricos compatíveis com Hayes </para><para>Isto é normalmente uma boa coisa para usar em seu string de inicialização, uma vez que as configurações <command>&F1</command>-<command>&F3</command> pode variar entre modens, e elas podem atualmente ser a causa de problemas de conexão (Uma vez que você nunca sabe exatamente que tipo de X o <command>&F2</command> realmente muda)</para><para>Apesar dele impedir a experimentação de outras opções abaixo, muitos dos problemas podem ser resolvidos substituindo um complicado string de inicialização por um simples <command>&F2</command> ou algo parecido. No entanto, se você está construindo um string de inicialização, é melhor iniciar com um simples <command>&F</command>, e não usar as formas <quote>personalizadas</quote> de padrões.</para></entry>
</row>
<row>
<entry><command>&F1</command></entry>
<entry>Padrões de Fábrica</entry>
<entry>Padrões de Fábricas adequados a um usuário de <acronym>PC</acronym> compatível com o IBM</entry>
</row>
<row>
<entry><command>&F2</command></entry>
<entry>Padrões de Fábrica</entry>
<entry>Padrões de fábrica para um Macintosh com negociação por software</entry>
</row>
<row>
<entry><command>&F3</command></entry>
<entry>Padrões de Fábrica</entry>
<entry>Padrões de fábrica para um Macintosh com negociação por hardware</entry>
</row>
<row>
<entry><command>&G0</command> ou <command>&G</command></entry>
<entry>Tons de guarda</entry>
<entry>Desabilitar tons de guarda</entry>
</row>
<row>
<entry><command>&K0</command> ou <command>&K</command></entry>
<entry>Controle de fluxo local</entry>
<entry>Desabilitar controle de fluxo local</entry>
</row>
<row>
<entry><command>&K1</command></entry>
<entry>Controle de fluxo local</entry>
<entry>Habilitar controle de fluxo local por hardware (RTS/CTS)</entry>
</row>
<row>
<entry><command>&K2</command></entry>
<entry>Controle de fluxo local</entry>
<entry>Habilitar controle de fluxo local por software (XON/XOFF)</entry>
</row>
<row>
<entry><command>&K3</command></entry>
<entry>Controle de fluxo local</entry>
<entry>Habilitar controle de fluxo local por hardware (RTS/CTS)</entry>
</row>
<row>
<entry><command>&K4</command></entry>
<entry>Controle de fluxo local</entry>
<entry>Habilitar controle de fluxo local por software (XON/XOFF)</entry>
</row>
<row>
<entry><command>&L0</command> ou <command>&L</command></entry>
<entry>Modo de discagem</entry>
<entry>Selecionar modo de discagem</entry>
</row>
<row>
<entry><command>&M0</command> ou <command>&M</command></entry>
<entry>Modo de controle de erro</entry>
<entry>Seleciona o modo assíncrono não-<acronym>EC</acronym> (do inglês, Controle de Erro) (o mesmo que <command>&Q0</command>)</entry>
</row>
<row>
<entry><command>&P0</command> ou <command>&P</command></entry>
<entry>Taxa de pulso de discagem</entry>
<entry>Taxa de pulso de discagem de 39% pulso / 61% quebra (U.S./Canada)</entry>
</row>
<row>
<entry><command>&P1</command></entry>
<entry>Taxa de pulso de discagem</entry>
<entry>Taxa de pulso de discagem de 33% pulso / 67% quebra (U.K./Hong Kong)</entry>
</row>
<row>
<entry><command>&Q0</command> ou <command>&Q</command></entry>
<entry>Modo de controle de erro</entry>
<entry>Modo assíncrono não-<acronym>EC</acronym>. Sem armazenamento de dados. <acronym>ASB</acronym> desabilitado.</entry>
</row>
<row>
<entry><command>&Q5</command></entry>
<entry>Modo de controle de erro</entry>
<entry>Seleciona operação <acronym>EC</acronym> V.42 (necessita de controle de fluxo)</entry>
</row>
<row>
<entry><command>&Q6</command></entry>
<entry>Modo de controle de erro</entry>
<entry>Modo assíncrono com <acronym>ASB</acronym> (necessita de controle de fluxo)</entry>
</row>
<row>
<entry><command>&Q8</command></entry>
<entry>Modo de controle de erro</entry>
<entry>Seleciona protocolo alternativo de <acronym>EC</acronym> (<acronym>MNP</acronym>)</entry>
</row>
<row>
<entry><command>&Q9</command></entry>
<entry>Modo de controle de erro</entry>
<entry>Compressão de dados condicional: V.42bis = sim, MNP5 = não.</entry>
</row>
<row>
<entry><command>&S0</command> ou <command>&S</command></entry>
<entry><command>&V0</command> ou <command>&V1</command></entry>
<entry>Ver ativa</entry>
<entry>(e frequentemente armazenada) perfil de configuração (ou <command>ATI4</command>)</entry>
</row>
<row>
<entry><command>&W0</command> ou <command>&W</command></entry>
<entry>Armazenar perfil</entry>
<entry>Na <acronym>NVRAM</acronym> (<command>&W0</command>, <command>&W1</command>, etc, para múltiplos perfis). Algumas configurações não podem ser armazenadas. Elas frequentemente não são mostradas no <command>&V</command> ou <command>ATI4</command>.</entry>
</row>
<row>
<entry><command>&Y0</command> ou <command>&Y</command></entry>
<entry>Seleciona configuração carregada ao ligar a máquina</entry>
<entry>Carrega perfil 0 (padrão)</entry>
</row>
<row>
<entry><command>&Y1</command></entry>
<entry>Seleciona configuração carregada ao ligar a máquina</entry>
<para>Uma conexão direta é uma conexão simples e direta sem nenhum controle de erros ou compressão de dados. Neste caso, as velocidades computador-modem e modem-modem devem ser idênticas.</para>
<para>Uma conexão normal usa controle de fluxo (seja por software ou hardware) para armazenar os dados sendo enviados e recebidos, de modo que o modem possa transmitir dados em uma taxa diferente da que o computador está atualmente enviando e recebendo. Por exemplo, um computador pode enviar atualmente dados à 57kbps, mas usando a compresão, o modem atualmente somente envia a 28,8kbps. Este é o modo usado pela maioria dos modens.</para>
<para>Uma conexão confiável é um tipo de conexão normal; se, por algum motivo, a compressão de dados ou correção de erros não puder ser estabelecida ou mantida, a conexão será interrompida. (Em essência, um modem sempre verfica se todas as conexões são confiáveis, para interrompê-las caso não sejam)</para>
<para>Do mesmo modo, uma conexão auto-confiável é virtualmente a mesma, exceto que o modem tentará renegociar a conexão para estabelecer uma conexão confiável. Novamente, este é o modo que a maioria dos modens usam.</para>
<para>Muitos modens possuem dúzias, mesmo centenas de registradores S, mas somente os primeiros doze são aproximadamente padronizados. Eles são mudados com um comando como <command>ATS<replaceable>n</replaceable>=<replaceable>N</replaceable></command>, e examinados com <command>ATS<replaceable>n</replaceable>?</command> (⪚ <userinput><command>AT</command> <command>S10</command><option>=70</option> <command>S1?</command></userinput> deve dizer para o modem não desligar por sete segundos se ele não ouvir resposta do modem, e retornar o número de vezes que o telefone tocou por último.)</para>