# Truques e Dicas de Modem

Esta seção deve desvendar a temível e (nem tanto) misteriosa arte de ajuste do modem. Os comandos aqui são todos do padrão AT da Hayes, mas nem todos os modens são iguais, assim seus resultados podem variar.

## Sessões de Modem

Uma sessão de modem permite que você interaja com o modem diretamente. Você digita comandos, e ele responderá. Para obter uma sessão de modem, quando nenhuma conexão estiver ativa, abra a janela Configurar o &kppp;, selecione e edite um modem e então clique o botão Terminal na aba Modem. Isto abrirá uma janela para configuração interativa do modem. Tente digitar ``ATZ`` (que reinicia seu modem). Você deve receber uma resposta OK. Use Arquivo Fechar para terminar a sessão.

## Perfis do Modem

Uma razão para você precisar enviar os comandos de modem diretamente é se você tem um conjunto de configurações do modem que deseja manter, sem ter que especificá-las para cada conexão. Uma boa maneira de fazer isto é através de perfis de modem. Modens podem ter diversos perfis armazenados e numerados de 0,1,... O `AT&V` pode ser usado para ver todos eles. O perfil padrão é normalmente o 0 (isto pode ser mudado através do `AT&Y`). O perfil atualmente em uso é chamado de perfil ativo.

Quando você muda uma configuração, o perfil ativo é modificado. O comando `ATZ` fará com que o modem carregue o perfil padrão, apagando qualquer mudança que tenha feito. Para salvar as mudanças, carregue o perfil que deseja mudar através do `ATZn` (onde n é o número do perfil). Faça as mudanças que deseja, então salve-o com `AT&Wn`. Para que o kppp use o perfil que deseja, mude o string de inicialização (Comandos do Modem String de Inicialização na aba Modem). Por exemplo, `ATZ1` fará que o kppp reinicie o modem e use o perfil #1 armazenado.

Se você deseja reiniciar seu modem para algum ponto anterior conhecido, use `AT&F&W` para configurar o perfil ativo para os padrões de fábrica, e armazene estas configurações como o perfil padrão.

Exemplos de mudanças de perfil aparecem na próxima seção

## Fazendo com que o modem interrompa a ligação

Algumas vezes você pode achar que o &kppp; tem dificuldades em interromper a ligação do modem. Isto é normalmente o resultado de uma diferença entre as configurações do &kppp; e do seu modem. Um modem padrão usa dois métodos para decidir interromper a ligação: Comando, e DTR. O método Comando envolve enviar uma sequência de escape para o modem, que coloca-o no modo comando, e então enviar um comando de desligamento (`ATH`).

Além do &kppp;, ao configurar o pacote pppd manualmente, é frequentemente útil usar o método de comando, assim alguém pode sair de uma sessão de terminal e então iniciar o pppd sem ter que desligar o modem. Na maioria das outras situações, o método DTR é preferível, por ser mais simples.

### Método DTR (`AT&Dn`)

O método DTR desligará o modem sempre que o &kppp; parar de usar o modem. Se você obtiver uma sessão de modem, e consultar o estado através do `AT&V`, e puder ver entre as configurações exibidas para o perfil ativo um `&D0`, então o método de desligamento DTR está desabilitado. Para habilitar o método DTR use o botão Terminal para obter uma sessão de modem, e então:

    ATZ # reinicia o perfil padrão
    AT&D2  # Configura o desligamento para DTR
    AT&W  # Grava para o perfil padrão

#### Como o método DTR funciona

Sempre que a linha de Terminal de Dados Pronto (do inglês, DTR) na linha serial entre o computador e o modem é levantada, a ligação é interrompida. Quando o &kppp; abre a porta serial, a linha DTR é colocado para baixo, em um modem externo, você pode ver o DTR (ou TR) aceso quando isto acontece. Quando a luz TR apaga (porque o &kppp; fechou a porta serial, ou alguma coisa deu errado!), o modem interrompe a ligação.

### Método Comando

A outra maneira de fazer que o modem desligue quando conectado (usada quando `AT&Dn` onde n não é 2) é fazer com que o modem aceite o comando quando uma sessão está em progresso. Para desligar corretamente, obtenha uma sessão de modem, e configure o tempo de guarda para um intervalo curto como:

    ATZ
    ATS12=5
    AT&W

Então use o índice deslizante Tempo de Guarda na seção de comandos do modem para corresponder ao registrador (`S12`) para este valor (5). O modem deve então desligar corretamente.

#### Como o Método Comando Funciona

Quando o modem local é conectado ao remoto, ele está em estado conectado, onde ele passa todos os caracteres que recebe para o modem remoto sem interpretação. Para fazer com que o modem aceite os caracteres como comandos para ele mesmo, alguém deve colocar o modem em estado de comando. O código de escape faz isto.

O código de escape é definido como sendo três intervalos de tempo cujo comprimento é definido pelo `S12` em cinquentésimos de um segundo.

- Silencioso (deve ser pelo menos mais que `S12`/50 segundos)

- Caracter de escape (definido pelo registrador `S2`, o padrão é +), repetido três vezes (menos que `S12`/50 segundos entre cada repetição).

- Silencioso (deve ser pelo menos mais que `S12`/50 segundos)

Uma vez que o modem esteja em estado de comando, você pode enviar comandos. Para fazer que interrompa a ligação, envie o comando `ATH`. O código de escape e o string de desligamento usado pelo &kppp; é mostrado no diálogo Comandos do Modem. Eles devem corresponder ao do seu modem.

## Tornando a discagem por tom mais rápida

Se você pode usar a discagem por tom, a quantidade de tempo que ela demora para discar pode ser mudada usando o registrador `S11`. Ele fornece a duração (em centésimos de segundo) para enviar cada tom durante a discagem. O padrão é normalmente 95 (quase um segundo). O quão rápido você pode discar depende do equipamento de sua companhia telefônica que controla sua linha. A duração mínima é de 50, quase duas vezes mais rápido, e esta velocidade normalmente funciona.

    ATZ        # reinicia para o perfil padrão
    ATS11=50   # discagem o mais rápida possível, use números maiores se não funcionar
    AT&W   # grava para o perfil padrão