# Truques e Dicas com Modem

Esta secção deverá preparar os mais receosos na arte obscura (ou nem tanto) de "afinação" do modem. Os comandos que aqui são dados são todos da norma AT da Hayes, mas nem todos os modems são iguais, por isso o resultado poderá variar.

## Sessões de Modem

A Modem session allows you to interact with the modem directly. You type commands, and it will respond. To obtain a modem session, when no connection is active, go into Setup, then Modem Terminal dialog. This will open a window for interactive configuration of the modem. Try typing ``ATZ`` (which resets your modem) Your should get an OK response. Use File Close to end the session.

## Perfis de Modem

Uma razão pela qual poderá querer enviar os comandos do modem directamente será se você tiver um conjunto de configurações do modem que queira manter e que não queira indicar para todas as ligações. Uma boa forma de fazer isto é através dos perfis do modem. Os modems poderão ter vários perfis armazenados e numerados 0,1,... O `AT&V` poderá ser usado para os ver a todos. O perfil por omissão é normalmente o 0 (isto poderá ser alterado através do comando `AT&Y`.) O perfil usado de momento é chamado de perfil activo.

When you change a setting, the active profile is modified. The `ATZ` command will have the modem load the default profile, erasing any changes you have made. To save changes, Load the profile you want to change via `ATZn` (where n is the profile number). Make the changes you want, then save it with `AT&Wn`. To have kppp use the profile you want, change the modem initialization string (Setup Modem Modem Commands Initialization String.) For example `ATZ1` will have the kppp reset the modem and use stored profile #1.

Se você quiser reinicializar o seu modem para voltar a um ponto de partida conhecido, use o comando `AT&F&W` para configurar o perfil actual para as predefinições de fábrica e para guardar essas configurações como o perfil por omissão.

Os exemplos de mudanças de perfil estão na próxima secção

## Fazer o modem desligar

Algumas das vezes você poderá achar que o &kppp; tem dificuldades em suspender o modem. Isto poderá ser o resultado de uma discrepância entre as configurações do &kppp; e as do modem. Um modem normal usa dois métodos para decidir suspender-se: o Comando e o DTR. O método do Comando envolve o envio de uma sequência especial para o modem, a qual coloca-o no modo de comandos, enviando de seguida o comando de suspensão (`ATH`).

Fora do &kppp;, ao configurar o pacote do pppd manualmente, é muitas das vezes útil usar o método do comando, para que uma pessoa possa sair de uma sessão de terminal e iniciar o pppd sem ter de suspender o modem. Nas restantes situações, o método do DTR é preferido, dado ser mais simples.

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

O método do DTR fará com que o modem suspenda a ligação sempre que o &kppp; deixar de usar o modem. Se você obtiver uma sessão do modem, e perguntar o estado através do `AT&V`, e vir no meio das opções apresentadas do perfil actual um `&D0`, então é porque o método de suspensão DTR está desactivado. Para activar o método DTR, use o botão do Terminal para obter uma sessão do modem, seguido de:

    ATZ # Repõe no perfil predefinido
    AT&D2  # Indica para suspender com a queda do DTR
    AT&W  # Grava no perfil predefinido

#### Como funciona o método DTR

Sempre que a linha Data Terminal Ready (DTR) na linha série entre o computador e o modem fica num nível alto, o modem suspende a ligação. Quando o &kppp; acede à porta série, a linha DTR passa a um nível lógico baixo; num modem externo, você poderá ver a luz do DTR (ou TR) mudar sempre que isso acontecer. Quando a luz do TR se apaga (porque o &kppp; cortou o acesso à porta série, ou por outro motivo pior!), o modem suspender-se-á.

### Método de comando

A outra forma de fazer com que um modem se suspenda quando estiver ligado (usado no `AT&Dn`, onde o n não é igual a 2); isto faz com que o modem aceite o comando sempre que uma sessão está em progresso. Para fazer com que se suspenda convenientemente, obtenha uma sessão do modem, e defina o tempo de guarda para um intervalo curto, como por exemplo:

    ATZ
    ATS12=5
    AT&W

Use então a barra do Tempo de Guarda na secção de comandos do modem para corresponder ao registo (`S12` para este valor 5. O modem deverá então suspender-se convenientemente.

#### Como É Que o Método do Comando Funciona

Quando o modem local está ligado a um modem remoto, este encontra-se no estado connect (ligação), em que passa todos os caracteres que recebe para o modem remoto, sem os interpretar. Para que o modem aceite os caracteres como comandos para ele próprio, alguém terá de pôr o modem no estado de comandos. O código especial fará isso.

O código especial é definido como sendo três intervalos de tempo cujo período é definido pelo `S12` em 50-avos de segundo.

- Silencioso (precisa demorar mais do que `S12`/50 segundos)

- Carácter de escape (definido pelo registo `S2`, em que o valor por omissão é o +), repetido três vezes (com menos de `S12`/50 segundos entre cada um.

- Silencioso (precisa demorar mais do que `S12`/50 segundos)

Logo que o modem esteja no estado de comandos, você poderá então começar a enviar instruções para ele. Para o fazer suspender-se, envie o comando `ATH`. Os códigos de escape e o texto de suspensão usados pelo &kppp; são apresentados na janela dos Comandos do Modem. Estes deverão corresponder ao seu modem.

## Fazer a marcação por tons mais rápida

Se você puder usar a marcação por tons, a quantidade de tempo que leva a marcar poderá ser alterada usando o registo `S11`. Ele contém a duração (em centésimos de segundo) durante a qual se envia cada tom à medida que vai marcando. O valor por omissão é 95 (quase um segundo). A rapidez com que poderá marcar depende do equipamento de comutação da sua companhia telefónica que gere a sua linha. A duração mínima é 50, quase duas vezes mais rápido, e essa velocidade normalmente funciona.

    ATZ        # repõe no perfil predefinido
    ATS11=50   # a marcação mais rápida possível, use um valor mais alto se não funcionar
    AT&W   # grava no perfil predefinido