This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

27.3. Solução de problemas de conexões PPP

27.3. Solução de problemas de conexões PPP

Esta seção aborda alguns problemas que podem surgir ao usar PPP em uma conexão de modem. Alguns ISPs apresentam o prompt ssword enquanto outros apresentam password. Se o script ppp não for escrito de acordo, a tentativa de login falhará. A maneira mais comum de depurar as conexões ppp é conectando manualmente conforme descrito nesta seção.

27.3.1. Verifique os Device Nodes

Ao usar um kernel personalizado, certifique-se de incluir a seguinte linha no arquivo de configuração do kernel:

device   uart

O dispositivo uart já está incluído no kernel GENERIC, portanto, nenhuma etapa adicional é necessária neste caso. Basta verificar a saída do dmesg para o dispositivo do modem com:

# dmesg | grep uart

Isso deve exibir alguma saída pertinente sobre os dispositivos uart. Estas são as portas COM que precisamos. Se o modem funcionar como uma porta serial padrão, ele deve estar listado em uart1 ou COM2. Nesse caso, uma recompilação do kernel não é necessária. Ao fazer a verificação, se o modem estiver em uart1, o dispositivo do modem será /dev/cuau1.

27.3.2. Conectando Manualmente

Conectar-se à Internet controlando manualmente o ppp é rápido, fácil e uma ótima maneira de depurar uma conexão ou simplesmente obter informações sobre como o ISP trata as conexões ppp do cliente. Vamos iniciar o PPP na linha de comando. Note que em todos os nossos exemplos nós usaremos example como o nome do host da máquina rodando o PPP. Para iniciar o ppp:

# ppp
ppp ON example> set device /dev/cuau1

Este segundo comando define o dispositivo do modem como cuau1.

ppp ON example> set speed 115200

Isso define a velocidade de conexão para 115.200 kbps.

ppp ON example> enable dns

Isto diz ao ppp para configurar o resolver e adicionar as linhas do servidor de nomes ao /etc/resolv.conf. Se o ppp não puder determinar o nome do host, ele poderá ser configurado manualmente mais tarde.

ppp ON example> term

Isso alterna para o modo de terminal para controlar manualmente o modem.

deflink: Entering terminal mode on /dev/cuau1
type '~h' for help
at
OK
atdt123456789

Use o comando at para inicializar o modem, então use o comando atdt e o número o ISP para iniciar o processo de discagem.

CONNECT

Confirmação da conexão, se tivermos problemas de conexão, não relacionados ao hardware, aqui é onde tentaremos resolvê-los.

ISP Login:myusername

Nesse prompt, responda com o nome de usuário fornecido pelo ISP.

ISP Pass:mypassword

Nesse prompt, responda com a senha fornecida pelo ISP. Assim como ocorre ao se logar no FreeBSD, a senha não será exibida quando você a digitar.

Shell or PPP:ppp

Dependendo do ISP, este aviso pode não aparecer. Em caso afirmativo, ele está perguntando se deve usar um shell no provedor ou iniciar o ppp. Neste exemplo, o ppp foi selecionado para estabelecer uma conexão com a Internet.

Ppp ON example>

Observe que neste exemplo o primeiro p foi capitalizado. Isso mostra que nós nos conectamos com sucesso ao ISP.

PPp ON example>

Nós nos autenticamos com sucesso com nosso ISP e estamos aguardando que o endereço IP seja atribuído.

PPP ON example>

Fizemos a negociação de um endereço IP e concluímos nossa conexão com êxito.

PPP ON example>add default HISADDR

Aqui nós adicionamos nossa rota padrão, precisamos fazer isso antes de podermos conversar com o mundo externo, já que atualmente a única conexão estabelecida é com o peer. Se isso falhar devido a rotas existentes, coloque o caractere ! na frente do add. Alternativamente, defina isso antes de fazer a conexão real e ele negociará uma nova rota de acordo.

Se tudo correu bem, agora deveríamos ter uma conexão ativa com a Internet, que poderia ser colocada em segundo plano usando CTRL+z Se o PPP retornar para ppp, a conexão será perdida. É bom saber isso porque mostra o status da conexão. Os P maiúsculos representam uma conexão com o ISP e os p minúsculos mostram que a conexão foi perdida.

27.3.3. Depuração

Se uma conexão não puder ser estabelecida, desligue o fluxo de hardware CTS/RTS usando set ctsrts off. Normalmente este é o problema quando nos conectamos há alguns servidores de terminal com PPP, onde o PPP trava quando tenta gravar dados no link de comunicação e aguarda um Clear To Send (CTS), sinal que pode nunca vir. Ao usar esta opção, inclua set accmap, pois isso pode ser necessário para evitar que o hardware dependa de passar certos caracteres de ponta a ponta, na maioria das vezes XON/XOFF. Consulte ppp(8) para obter maiores informações sobre essa opção e como ela é usada.

Um modem mais antigo pode precisar de set parity even. A paridade é definida como none por padrão, mas é usada para verificação de erros com um grande aumento no tráfego, em modems mais antigos.

O PPP pode não retornar ao modo de comando, que geralmente é um erro de negociação em que o ISP está aguardando a negociação começar. Neste ponto, usando ~p forçará o ppp a começar a enviar as informações de configuração.

Se um prompt de login nunca aparecer, a autenticação PAP ou CHAP provavelmente será necessária. Para usar PAP ou CHAP, adicione as seguintes opções ao PPP antes de entrar no modo terminal:

ppp ON example> set authname myusername

Onde myusername deve ser substituído pelo nome de usuário que foi atribuído pelo ISP.

ppp ON example> set authkey mypassword

Onde mypassword deve ser substituído pela senha que foi atribuída pelo ISP.

Se uma conexão for estabelecida, mas não conseguir encontrar nenhum nome de domínio, tente utilizar o ping(8) em um endereço IP. Se houver 100 por cento (100%) de perda de pacotes, é provável que uma rota padrão não tenha sido atribuída. Verifique novamente se add default HISADDR foi definido durante a conexão. Se uma conexão puder ser feita para um endereço IP remoto, é possível que um endereço de resolvedor não tenha sido adicionado ao /etc/resolv.conf. Este arquivo deve se parecer com:

domain example.com
nameserver x.x.x.x
nameserver y.y.y.y

Onde x.x.x.x e y.y.y.y deve ser substituído pelo endereço IP dos servidores DNS do ISP.

Para configurar syslog(3) para fornecer o registro para a conexão PPP, verifique se essa linha existe no /etc/syslog.conf:

!ppp
*.*     /var/log/ppp.log

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.