Table of Contents
Playground: espaço para testes. Crie suas páginas de documentação aqui antes de modificar as páginas oficiais.
Introdução
Conexões discadas (dial-up) utilizam modems analógicos para transmitir sinais digitais na linha telefônica convencional. Estas conexões somente necessitam da linha de telefone para funcionar.
- Algumas vezes, conexão discada é a única opção disponível em áreas rurais ou remotas, onde não existem instalações de banda larga.
- No caso de falha da banda larga, falta de energia da rede elétrica ou interrupção do acesso à internet e sinal de celular por parte do governo (algo que já ocorreu em diversos países), a conexão discada pode ser uma alternativa para voltar a ficar on-line.
- Em locais onde a rede telefônica é amplamente disponível, a conexão discada resiste como uma opção aos viajantes.
Escolha do Modem
Software modem
Qualquer modem de notebook é quase certamente um software modem e necessita de um driver específico. O maior problema que usuários podem ter com modems de notebooks é a falta de drivers suportados e isso não é um problema específico do Linix: muitos fabricantes desaparaceram do mercado desde o lançamento do Windows 98 / XP, e nenhum driver foi desenvolvido para que estes modems antigos continuem funcionando no Windows Vista ou superior; e não espere que haja uma versão 64 bits para eles. Modems que se enquadram nessa categoria incluem: a maioir parte dos modems Diamond (o fabricanta saiu do mercado), muitos modems PCTel, vários da Smartlink e Motorola, alguns da USR, assim como modems baseados em chipsets da Conexant e Agere.
Linux pode prover suporte a software modems. Apesar de haver poucos software modems para os quais você consiga encontrar drivers e em geral esses drivers não são softwares gratuitos, a instalação ou empacotamento deles está longe de ser uma tarefe fácil.
Hardware modem
Hardware modems completos normalmente funcionam “fora da caixa” (out of the box) no Linux, incluindo o SliTaz GNU/Linux. Não há necessidade de instalar drivers para este tipo de modem no SliTaz GNU/Linux, já que eles já são providenciados pelo sistema operacional. Hardware modems podem ser dispositivos internos (pci slot), cartões de expansão (pcmcia, card-express) ou periféricos externos conectados em uma porta USB.
Interno vs Externo
Observe: apesar de a voltagem (ou tensão) da linha de telefone não causar perigo imediato ao usuário, o sinal de chamada AC (70-120 AC) pode dar um choque bastante desagradável. Além disso, fios de telefone também estão expostos a vários fatores ambientais (raios que atinjam os arredores, diferençãs de potencial no aterramento das edificações, interferência de cabos de energia) que podem em alguns casos causar altos picos de tensão na linha de telefone que, por sua vez, podem danificar seu modem. (Isto já ocorreu com meu modem e considerei mais barato e fácil trocar para um modem externo do que trocar uma placa mãe completa.)
Instalação do Modem
Software modem
Software modems funcionam sob o Linux somente se um driver adequado existir e estiver instalado. SliTaz oferece vários pacotes de drivers. Utilize o Generciador de Pacotes (interface gráfica) para encontrá-los nos repositórios, procurando pela palavra “modem”.
Primeiro, você precisa identificar o chipset do modem, e então selecionar o driver que melhor se adapta ao seu software modem. Você poderá encontrar informações valiosas nestes sites:
Modem PCMCIA
Se você deseja utilizar um modem de cartão PCMCIA, você precisa instalar o driver para dispositivos seriais PCMCIA:
# tazpkg get-install linux-dialup
Quando inserir seu modem PCMCIA, o driver em geral vai tentar alocar o primeiro dispositivo serial não utilizado pelo cartão. Este comando lhe dirá qual o dispositivo alocado:
# dmesg | tail
$ dmesg | tail -3 pcmcia 0.1: pcmcia: registering new device pcmcia0.1 (IRQ: 3) serial_cs 0.1: trying to set up [0x0101:0x0556] (pfc: 0, multi: 1, quirk: (null)) serial8250: ttyS0 at I/O 0x3f8 (irq = 3) is a 16550A
Configuração da porta serial
Todos os modems, sejam software ou hardware, com o driver apropriado carregado estão acessíveis via portas seriais. A porta serial pode ser tanto uma porta comum em seu sistema quanto uma hard-wired que faz parte de uma placa de modem interno. Em todos os casos, para seu cominucar com seu modem, o SliTaz GNU/Linux precisa apenas se comunicar com a porta serial.
Computadores aceitam até 4 portas seriais:
Num | Device | Port | Irq |
---|---|---|---|
1 | /dev/ttyS0 | 0x03f8 | 4 |
2 | /dev/ttyS1 | 0x02f8 | 3 |
3 | /dev/ttyS2 | 0x03e8 | 4 |
4 | /dev/ttyS3 | 0x02e8 | 3 |
Software modems podem adicionar nomes de dispositivo incomuns em seu sistema, como /dev/ttyAGS3, /dev/536ep, /dev/ttySL0…
Para testar o modem, precisamos primeiro configurar o dispositivo serial. Instale o pacote setserial:
# tazpkg get-install setserial
E digite:
# setserial /dev/<serial_device> irq <ii> port <0xzz> autoconfig auto_irq
… com os valores apropriados para seu dispositivo serial, IRQ e número da porta.
Então instale o pacote minicom:
# tazpkg get-install minicom
Em seguida, como root, abra um terminal e digite:
# minicom -c on /dev/<serial_device> -o
Uma vez que o minicom esteja ativo, faça:
AT
Seu sistema deve responder:
OK
Se seu modem não responder, tente com outro número de porta (por exemplo, troque da porta número 1 para a 2), pois pode ser que seu dispositivo serial esteja mal configurado. Você poderá encontrar ajuda nestes sites:
# ln -s /dev/ttyS0 /dev/modem
Conecte o modem à linha telefônica
Conexão à fiação telefônica
O modem deve estar conectado a uma linha telefônica analógica. Em alguns países, também é necessário um cabo adaptador específico para determinado país. Conectores (Jacks) para PBX digitais assemelham-se a conectores para linhas telefônica analógicas, mas não são compatíveis com modems.
Preste atenção aos diferentes tipos de linhas de telefone: analógicas e ISDN. Você não pode conectar um modem analógico a uma porta ISDN e vice-versa. A conexão incorreta pode até mesmo destruir seu modem. Se sua máquina tem um modem interno, assim como uma placa de rede (ethernet), atente-se para conectar o cabo correto no conector adequado. Caso contrário, você pode facilmente danificar seu equipamento.
Lidando com padrões de diferentes países
Sinais de telefonia (tom de discagem, sinal de ocupado, etc.) e adaptadores/reguladores de corrente contínua (DC) são específicos para cada país. O modem precisa reconhecer cada um deles para responder adequadamente. Sua linha de telefone precisa de uma corrente contínua de 25 a 35mA para o telefone funcionar. Em alguns países, o regulador de corrente fica localizado na Central Telefônica da cidade, mas em outros ele está localizado no próprio aparelho de telefone; por isso, seu você não configurar corretamente o país onde seu modem vai funcionar, você se arrisca a ligar seu modem a uma linha sem regulação externa e muita corrente vai passar pelo modem, ou então vai haver muito pouca corrente devido à presença de dois reguladores. Em ambos os casos, você não terá uma conexão confiável ou corre o risco de até destruir seu modem (no caso de a corrente ser alta demais).
Se você comprar e operar um hardware modem no país em que mora, isso tudo não será um problema para você, já que você pode assumir que o equipamento atende aos padrões nacionais.
Hardware modems antigos são feitos especificamente para determinado país. Se você usar um software modem ou se você é um viajante no exterior, você precisa configurar o modem de acordo com o país em que se encontra. Felizmente, a maioria dos modem atualamente em uso pode ser programados para serem usados na linha telefônica de qualquer país.
Configure e use uma conexão Dial-up
Arquivo ppp-on
Abra o painel do SliTaz, faça login como root, selecione a aba Rede, clique em PPP Modem e no menu direito Configurações, clique em PPP PSTN Script. Vá ao final do arquivo e mude /dev/ttyS0 para /dev/modem e altere a velocidade para 115200 bps. Esta configuração geralmente funciona, mas você pode precisar configurar valores específicos de acordo com o modelo de seu modem.
# exec /usr/sbin/pppd debug lock modem crtscts /dev/modem 115200 \ asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \ noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
DNS
Se você adicionar a opção usepeerdns, o servidor de internet vai solicitar até 2 endereços DNS. Os endereços fornecidos pelo servidor (se houver) são processados pelo script /etc/ppp/ip-up e pelo arquivo /etc/resolv.conf (atualizado com os endereços fornecidos pelo servidor). Caso não os possua, simplesmente digite os endereços de um servidor DNS conhecido, como o OpenDNS, no arquivo /etc/resolv.conf:
nameserver 208.67.222.222 nameserver 208.67.220.220
Arquivo chat
Se você precisar enviar um comando de inicialização específico para seu modem antes de iniciar a conexão ppp, edite o arquivo /etc/ppp/scripts/ppp-on-dialer. Você pode fazê-lo pelo menu direito Configurações → PPP dialer chat. Adicione uma nova linha antes de OK ATDT$TELEPHONE:
exec chat -v \ TIMEOUT 3 \ ABORT '\nBUSY\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ '' \rAT \ 'OK-+++\c-OK' ATH0 \ TIMEOUT 30 \ OK ATL1+GCI=20 \ OK ATDT$TELEPHONE \ CONNECT '' \ ogin:--ogin: $ACCOUNT \ assword: $PASSWORD
Este arquivo é um programa chat designado para conectar o usuário com uma conexão getty/login no estilo do padrão UNIX. Para chamar um ISP a partir de uma máquina de discagem (dial-up machine), você precisa, na maioria dos casos, apagar as duas últimas linhas:
exec chat -v \ TIMEOUT 3 \ ABORT '\nBUSY\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ '' \rAT \ 'OK-+++\c-OK' ATH0 \ TIMEOUT 30 \ OK ATDT$TELEPHONE \ CONNECT \c
Salve o arquivo.
Inicie a conexão
Na tela PPP Modem da aba Rede, na caixa PSTN Modem - Manage PSTN Internet connections, digite seu login e senha e o número de telefone de seu provedor nos campos correspondentes, e então clique no botão Iniciar. O modem deve discar para seu Provedor de Internet (ISP, Internet Service Provider).
debug
Quando o pppd é iniciado com a opção de degub, você pode ver o log de debug. Digite:
$ tail -f /var/log/messages
Veja um exemplo de saída do comando:
$ tail -f /var/log/messages Mar 23 11:25:29 (none) daemon.notice pppd[6240]: pppd 2.4.5 started by root, uid 0 Mar 23 11:25:30 (none) local2.info chat[6242]: timeout set to 3 seconds Mar 23 11:25:30 (none) local2.info chat[6242]: abort on (\nBUSY\r) Mar 23 11:25:30 (none) local2.info chat[6242]: abort on (\nNO ANSWER\r) Mar 23 11:25:30 (none) local2.info chat[6242]: abort on (\nRINGING\r\n\r\nRINGING\r) Mar 23 11:25:30 (none) local2.info chat[6242]: send (rAT^M) Mar 23 11:25:30 (none) local2.info chat[6242]: expect (OK) Mar 23 11:25:31 (none) local2.info chat[6242]: rAT^M^M Mar 23 11:25:31 (none) local2.info chat[6242]: OK Mar 23 11:25:31 (none) local2.info chat[6242]: -- got it Mar 23 11:25:31 (none) local2.info chat[6242]: send (ATH0^M) Mar 23 11:25:31 (none) local2.info chat[6242]: timeout set to 30 seconds Mar 23 11:25:31 (none) local2.info chat[6242]: expect (OK) Mar 23 11:25:31 (none) local2.info chat[6242]: ^M Mar 23 11:25:31 (none) local2.info chat[6242]: ATH0^M^M Mar 23 11:25:31 (none) local2.info chat[6242]: OK Mar 23 11:25:31 (none) local2.info chat[6242]: -- got it Mar 23 11:25:31 (none) local2.info chat[6242]: send (ATZ^M) Mar 23 11:25:31 (none) local2.info chat[6242]: expect (OK) Mar 23 11:25:31 (none) local2.info chat[6242]: ^M Mar 23 11:25:31 (none) local2.info chat[6242]: ATZ^M^M Mar 23 11:25:31 (none) local2.info chat[6242]: OK Mar 23 11:25:31 (none) local2.info chat[6242]: -- got it Mar 23 11:25:31 (none) local2.info chat[6242]: send (ATDT0860922000^M) Mar 23 11:25:31 (none) local2.info chat[6242]: expect (CONNECT) Mar 23 11:25:31 (none) local2.info chat[6242]: ^M Mar 23 11:25:56 (none) local2.info chat[6242]: ATDTxxxxxxx^M^M Mar 23 11:25:56 (none) local2.info chat[6242]: CONNECT