O Conjunto de Comandos de Modem HayesAqui está uma descrição do Conjunto de Comandos Hayes. A maioria dos modems seguem este conjunto de comandos em grande medida. Se você perdeu o manual do seu modem ou nunca teve nenhum, de facto, esta referência poderá ser útil. O autor, por exemplo, descobriu como desligar o altifalante do seu modem: ATM0 -- Finalmente: Silêncio!O comando de inicialização do modem consiste numa série de comandos. Ele prepara o modem para as comunicações, configurando algumas funcionalidades como o modo de marcação, as esperas, a detecção do sinal de ocupado, entre muitas outras configurações. Os programas mais recentes de comunicação por modem repõem o comando de inicialização por si de acordo com as opções do menu que selecciona, quais as funcionalidades que activa, &etc;.Durante vários anos, os modems Hayes foram a norma. Como o campo do fabrico dos modems cresceu, alguns aderiram pelo menos de forma ligeira à norma Hayes. O que se segue é uma lista parcial do conjunto de comandos Hayes (chamados os comandos AT). O conjunto de comandos Hayes poderá ser dividido em quatro grupos:Conjunto Básico de ComandosUm carácter maiúsculo seguido de um dígito. Por exemplo, M1.Conjunto de Comandos ExtendidosUm & (E comercial) e um carácter maiúsculo seguido de um número. Esta é uma extensão do conjunto de comandos básico. Por exemplo, &M1. Repare que o M1 é diferente do &M1.Conjunto de Comandos ProprietárioNormalmente iniciados por uma barra invertida (\), ou por um sinal de percentagem (%), estes comandos variam de fabricante para fabricante de modems. Por essa razão, somente alguns desses comandos estão aqui listados.Comandos de RegistosSr=n em que o r é o número do registo a ser alterado e o n é o valor novo que é atribuído.Um registo é o termo informático para uma localização física específica na memória. Os modems têm muito pouca memória incorporada. Este quarto conjunto de comandos é usado para introduzir valores num registo (localização de memória) em particular. O registo irá guardar uma variável especial (informação alfanumérica) que será usada pelo modem e pelo programa de comunicação. Por exemplo, o S7=60 diz ao seu computador para Configurar o registo #7 para o valor 60.Ainda que a maioria dos comandos sejam definidos através de uma combinação letra-número (L0, L1 &etc;), o uso de um zero é opcional. Neste exemplo, o L0 é o mesmo que um L normal. Tenha isso em atenção quando ler a tabela em baixo!Aqui estão alguns dos caracteres mais importantes que poderão aparecer no comando de inicialização do modem. Estes caracteres normalmente não deverão ser alterados.ATDiz ao modem que se seguem comandos do modem. Isto deverá iniciar cada uma das linhas de comandos.ZRepõe o modem no seu estado predefinido, (uma virgula)faz o seu programa parar por um segundo. Você poderá usar mais do que um , por cada linha. Por exemplo, o ,,,, diz ao programa para parar quatro segundos (A duração da pausa é definida pela configuração do registo S8).^MEnvia o carácter de Mudança de Linha que termina a linha actual para o modem. Este é um código de controlo que a maioria dos programa de comunicação traduz como Carriage ReturnO Conjunto Básico de Comandos HayesEm ordem alfabética:
Conjunto Básico de Comandos HayesComandoDescriçãoComentáriosA0 ou AAtende a chamada recebidaA/Repete o último comandoNão prefixe com o AT. O Enter normalmente interrompe.B0 ou BNegociação de chamadasSequência de Resposta Modo V32/CCITT.B1Negociação de chamadasSequência de Resposta Bell 212A.B2Negociação de chamadasDescritivo/Silencioso na RespostaDLigarLiga o número seguinte e executa o início do protocolo no modo de origem.PMarcação por ImpulsosTMarcação por TonsWEsperar pelo segundo toque de ligação,Fica em pausa durante o tempo definido no registo S8 (normalmente 2 segundos);Fica no modo de comandos depois da marcação.!Modo de comutação (suspende por meio segundo, como quem transfere uma chamada).LMarca o último númeroE0 ou ESem EcoNão fará eco dos comandos para o computadorE1EcoFará eco dos comandos para o computador (para que o utilizador veja o que escreve)H0Estado do DescansoNo descanso - SuspensoH1Estado do descansoFora do descanso - telefone levantadoI0 ou IPesquisa, Informação ou InterrogaçãoEste comando é muito específico do modelo. O I0 normalmente devolve um número ou um código, enquanto que os números mais elevados normalmente devolvem informações muito mais úteis.L0 ou LVolume do Altifalante. Os modems com controlos de volume não terão estas opções.Volume baixo ou desligadoL1Volume BaixoL2Volume MédioL3Volume AltoM0 ou MAltifalante desligadoO M3 também é normal, mas é diferente de marca para marcaM1Altifalante ligado até à portadora remota ser detectada (&ie; até que o outro modem se ouça)M2O altifalante está sempre ligado (os sons dos dados ouvem-se depois do CONNECT)N0 ou NVelocidade da NegociaçãoNegoceia só a à velocidade indicada no registo S37N1A negociação é feita a uma velocidade maior do que o registo S37O0 ou OVolta a 'Online'Veja também o X1, dado que a detecção do toque de chamada poderá estar activa.O1Volta a 'Online' depois de uma sequência de equalizaçãoQ0 ou Q1Volume SilenciosoDesligado - Mostra os códigos do resultados, o utilizador vê as respostas dos comandos (⪚ OK)Q1Volume SilenciosoLigado - Os códigos do resultado são suprimidos e o utilizador não vê as respostas.Sn?Pergunta o conteúdo do registo S nSn=rGravarGuarda o valor de r no registo S nV0 ou VDescritivoCódigos de resultado numéricosV1Códigos de resultado em inglês (⪚ CONNECT (ligado), BUSY (ocupado), NO CARRIER (sem portadora), &etc;)X0 ou XSmartmodemCódigos resultado compatíveis com o Smartmodem 300 da HayesX1Normalmente adiciona a velocidade da ligação aos códigos de resultado básicos (⪚ CONNECT 1200X2Normalmente adiciona a detecção do toque de chamada (o que evita a ligação cega e algumas vezes evita o AT0)X3Normalmente adiciona a detecção do sinal de ocupadoX4Normalmente adiciona tanto a detecção do toque de chamada como o de ocupadoZ0 ou ZReiniciarRepõe o modem na configuração gravada. Use o Z0, Z1 &etc; para vários perfis. Isto é o mesmo que o &F para os valores de fábrica no caso dos modems sem NVRAM (memória não-volátil)
O Conjunto Extendido de Comandos HayesComandos com E-Comercial
O Conjunto Extendido de Comandos HayesComandoDescriçãoComentários&B0 ou &BParâmetros de ReaprendizagemDesactiva a função de reaprendizagem automática&B1Parâmetros de ReaprendizagemActiva a função de reaprendizagem automática&B2Parâmetros de ReaprendizagemActiva a reaprendizagem automática, mas desliga-a se não houver melhoria da linha no período definido pelo registo S7&C0 ou &C1Detecção da portadoraSinal sempre activo&C1Detecção da portadoraIndica a portadora remota (normalmente predefinido)&D0 ou &DData Terminal Ready - Terminal de Dados Pronto (DTR) Sinal ignorado (Isto é específico do modelo, por isso deverá ver as informações sobre ele!)&D1Data Terminal Ready - Terminal de Dados Pronto (DTR) Se o DTR vier de Ligado para Desligado, o modem entra no modo de comandos (Só em alguns modems)&D2Data Terminal Ready - Terminal de Dados Pronto (DTR) Alguns modems suspendem-se com a transição de Ligado para Desligado do DTR (Esta é a predefinição normal)&D3Data Terminal Ready - Terminal de Dados Pronto (DTR) Suspende e reinicia o modem, voltando ao modo de comandos com o DTR&F0 ou &FPredefinições de fábricaPredefinições genéricas compatíveis com o Hayes. Esta é normalmente uma boa coisa para usar no seu comando de inicialização, dado que as configurações &F1-&F3 podem variar entre modems, e poderão ser elas próprias a causa de alguns problemas de ligação (Dado que você nem sempre sabe o que é que o &F2 da marca X realmente altera).Por outro lado, poupa o trabalho de tentar as outras opções em baixo; muitos dos problemas das pessoas podem ser resolvidos se substituir um comando de inicialização complicado com um simples &F2 ou algo semelhante. Contudo, se você estiver a criar um comando de inicialização, é melhor começar com um &F simples e não usar a forma personalizada das predefinições.&F1Predefinições de FábricaOs valores por omissão destinados para um utilizador de um PC compatível com a IBM&F2Predefinições de FábricaOs valores por omissão para um Mac com negociação por 'software'&F3Predefinições de FábricaOs valores por omissão para um Mac com negociação por 'hardware'&G0 ou >ons de guardaDesactiva os tons de guarda&K0 ou &KControlo de fluxo localDesactiva o controlo de fluxo local&K1Controlo de fluxo localActiva o controlo de fluxo local por 'hardware' com o RTS/CTS&K2Controlo de fluxo localActiva o controlo de fluxo local por 'software' com o XON/XOFF&K3Controlo de fluxo localActiva o controlo de fluxo local por 'hardware' com o RTS/CTS&K4Controlo de fluxo localActiva o controlo de fluxo local por 'software' com o XON/XOFF&L0 ou &LModo de marcaçãoSelecciona o modo de marcação&M0 ou &MModo de controlo de errosSelecciona o modo assíncrono sem EC (correcção de erros) (é o mesmo que o &Q0)&P0 ou &PRelação da marcação por impulsosA marcação por impulsos nos E.U.A./Canadá têm uma relação de 39% marcação / 61% quebra&P1Relação da marcação por impulsosA marcação por impulsos da G.B./Hong Kong têm uma relação de 33% marcação / 67% quebra&Q0 ou &QModo de controlo de errosModo assíncrono sem EC (correcção de erros). Sem armazenamento temporário de dados. ASB desactivado.&Q5Modo de controlo de errosSelecciona a operação com EC (correcção de erros) do V.42 (necessita de controlo de fluxo)&Q6Modo de controlo de errosModo assíncrono com ASB (necessita de controlo de fluxo)&Q8Modo de controlo de errosSelecciona o protocolo de EC (correcção de erros) alternativo (MNP)&Q9Modo de controlo de errosCompressão de dados condicional: V.42bis = sim, MNP5 = não.&S0 ou &SSelecção da acção de DSRSempre activa (por omissão)&S1Selecção da acção de DSRSegue a especificação da EIA (Activa a seguir ao tom da portadora e até esta ser perdida)&T0 ou &TTeste automáticoEfectua um teste ao dispositivo na maioria dos modems&U0 ou &UModulação de código TrellisActiva a TCM do V.32&U1Modulação de código TrellisDesactiva a TCM do V.32&V0 ou &V1Ver as configuração activas(e normalmente gravadas) dos perfis (ou ATI4&W0 ou &WGuardar o perfilNa NVRAM (&W0, &W1 etc. para os vários perfis) Algumas configurações não podem ser gravadas. Estas normalmente não são apresentadas no &V ou no ATI4&Y0 ou &YSelecciona a configuração carregada no arranqueCarrega o perfil 0 (por omissão)&Y1Selecciona a configuração carregada no arranqueCarrega o perfil 1&Zn=xReinicialização rápida com carregamento do perfil gravado número nTenha em atenção que todos os itens a seguir ao &Z na linha de comandos são ignorados
Comandos da Barra Invertida e do Sinal de Percentagem
Comandos da Barra Invertida e do Sinal de PercentagemComandoDescriçãoComentários\A0 ou \ATamanho máximo do bloco de MNP em caracteresmáximo de 64 caracteres\A1Tamanho máximo do bloco de MNP em caracteresmáximo de 128 caracteres\A2Tamanho máximo do bloco de MNP em caracteresmáximo de 192 caracteres\A3Tamanho máximo do bloco de MNP em caracteresmáximo de 256 caracteres%C0 ou %CActivação/Desactivação da Compressão dos DadosDesactivado%C1Activação/Desactivação da Compressão dos DadosMNP5 activo%C2Activação/Desactivação da Compressão dos DadosV.42bis (BTLZ) Activo%C3Activação/Desactivação da Compressão dos DadosMNP5 & V.42bis (BTLZ) Activado%D0 ou %DCompressão de dadostamanho do dicionário BLTZ igual a 512%D1Compressão de dadostamanho do dicionário BLTZ igual a 1024%D2Compressão de dadostamanho do dicionário BLTZ igual a 2048%D3Compressão de dadostamanho do dicionário BLTZ igual a 4096%E0 ou %E1Método de escapesESCAPE DESACTIVADO%E1Método de escapesmétodo +++AT (por omissão)%E2Método de escapesMétodo AT de Break (quebra)%E3Método de escapesAMBOS os métodos activos%E4Método de escapesDesactiva o OK para o +++%E5Método de escapesActiva o OK para o +++\J0 ou \JAjuste Automático da Taxa do DTEDesactivado\J1Ajuste Automático da Taxa do DTEA taxa do DTE é ajustada para corresponder à taxa da portadora.\N0 ou \NTipo de ligaçãoLigação normal (ver abaixo a definição)\N1Tipo de ligaçãoLigação directa\N2Tipo de ligaçãoLigação fiável MNP automática\N3Tipo de ligaçãoLigação fiável automática\N4Tipo de ligaçãoLigação fiável V.42bis com detecção de fase\N5Tipo de ligaçãoLigação fiável V.42bis automática com detecção de fase\N6Tipo de ligaçãoLigação fiável V.42 com detecção de fase\N7Tipo de ligaçãoLigação fiável V.42 automática com detecção de fase
Uma ligação directa é uma ligação simples sem qualquer correcção de erros ou compressão de dados. Neste caso, as velocidades computador-modem e modem-modem deverão ser idênticas.Uma ligação normal usa o controlo de fluxo (quer por 'software' quer por 'hardware') para colocar em 'buffer' os dados a enviar ou a receber, de modo a que o modem possa transmitir os dados a uma taxa diferente da que o computador efectivamente os envia ou recebe. Por exemplo, um computador poderá enviar os dados actuais a 57kbps, mas usando a compressão, o modem envia de facto apenas 28,8kbps. Este é modo usado pela maioria dos modems.Uma ligação fiável é um tipo de ligação normal; se, por alguma razão, a compressão de dados ou a correcção de erros não puderem ser estabelecidas ou mantidas, a ligação suspender-se-á (em resumo, um modem desse tipo garante que todas as ligações são fiáveis, na medida em que suspende a ligação se esta não for fiável).Da mesma forma, uma ligação fiável automática é mais ou menos o mesmo, excepto que o modem tentará negociar de novo a ligação de forma a estabelecer uma ligação fiável. Mais uma vez, este é o modo que a maioria dos modems usa.Registos-S
Registos SRegistoIntervaloPredefiniçãoFunçãoS00-255 toques1-2Responder no número de toque indicado. Não responder se for igual a 0S10-255 toques0Se o S0 for maior que 0, este registo conta os toques recebidos.S20-127 ASCII43 +Carácter de escape para o modo de comandosS2>127sem ESCS30-127 ASCII13 CRCarácter de fim-de-linhaS40-127 ASCII10 LFCarácter de mudança de linhaS50-32, 127 ASCII8 BSCarácter de remoção do carácter anteriorS62-255 segundos2Tempo de espera do toque de chamada (para ligações cegas, ver em XnS71-255 segundos30-60Tempo de espera para a portadora remotaS80-255 segundos2Tempo de pausa da vírgula usada na chamadaS91-255 1/10 segundos6Tempo de detecção da portadora necessário para o reconhecimentoS101-255 1/10 segundos7-14Tempo entre a perda da portadora e a suspensãoS1150-255 milisegundos70-95Duração e intervalo entre os tons na marcação por tonsS120-255 1/50 segundos50Tempo de guarda para a pausa entre as sequências de comandos do +++S36Opções de substituição quando a ligação com correcção de erros falha:0 - Desligar1 - Estabelecer Ligação Directa3 - Estabelecer Ligação Normal4 - Estabelecer uma ligação MNP se possível, caso contrário desligar5 - Estabelecer uma ligação MNP se possível, caso contrário uma Ligação Directa.7 - Estabelecer uma ligação MNP se possível, caso contrário uma Ligação Normal.7Tratamento da Falha de NegociaçãoS371 = 300 bps5 = 1200 bps6 = 2400 bps7 = 1200/75 bps (modo v.23)8 = 4800 bps9 = 9600 bps10 = 12000 bps11 = 14400 bps12 = 7200 bps0Velocidade da Negociação (Negociação inicial)
Muitos dos modems têm dezenas, até centenas, de registos S, mas só a primeira dúzia ou duas é que são relativamente normalizadas. Elas são alteradas com um comando do tipo ATSn=N, e é analisada com o ATSn? (⪚ o ATS10S1? iria dizer ao modem para não suspender durante sete segundos se não ouvir o modem de resposta, e devolve o número de vezes que o telefone tocou da última vez).