Conectando dois computadores usando a porta serial

Este método permite criar uma rede ponto a ponto usando a porta serial da máquina, que funcionará de forma semelhante a mostrada em “Conectando dois computadores usando a porta paralela”.

O método que irei descrever é bastante simples e utiliza o slattach e o protocolo slip para comunicação entre as duas máquinas, mas nada impede que seja usado o ppp para comunicação, apenas acrescentará um pouco mais de complexibilidade para esta configuração para obter o mesmo resultado.

Usando o método descrito, será criada uma interface chamada sl? (interface SLIP, onde ? é o número da interface recém configurada).

A rede via porta serial pode atingir em média 115.200kbps/s mas é prático quando não tem outras opções para fazer uma rede ponto a ponto. Segue algumas características deste tipo de rede:

Agora, os contras da conexão via porta serial:

Para configurar uma conexão via cabo serial entre duas máquinas, vamos assumir que a primeira máquina terá o IP 192.168.2.1 e a segunda máquina 192.168.2.2:

  1. Conecte o cabo Lap Link serial em cada uma das portas seriais.

  2. Verifique se o seu kernel está compilado com o suporte a rede slip e também com suporte a cslip (slip compactado, que melhora a taxa de transferência dependendo dos dados sendo transmitidos). Caso não tenha o suporte a slip, você poderá usar o ppp nas duas pontas do link fazendo algumas adaptações para usar a interface ppp?, como é simples não será descrito neste guia :) (veja o manual do slattach)

  3. Interrompa qualquer programa que esteja usando a porta serial.

  4. Execute o comando slattach -s 115200 /dev/ttyS1 &. A função do slattach é associar uma interface de rede a um dispositivo, neste caso associamos o dispositivo /dev/ttyS1 (segunda porta serial) a interface sl0 (verifique se a interface foi criada usando o comando ifconfig sl0.

    A opção -p especifica um protocolo alternativo para o slattach, o padrão é o cslip. Outros tipos disponíveis são slip, adaptive ppp e kiss (usado em conexões de rádio AX.25). Recomendo ver a página de manual do slattach.

  5. Nesse ponto a interface está ativa, mas a nossa máquina não conhece nada sobre a rede ou como alcançar a máquina 192.168.2.2. Como a conexão é ponto a ponto, precisamos adicionar uma rota direta para esta máquina com o comando: route add -host 192.168.2.2 sl0.

    Este comando diz para criar uma rota com o destino 192.168.2.2 usando a interface sl0.

  6. Configure a outra máquina seguindo os passos acima, apenas invertendo os 2 endereços IPs usados.

Pronto, agora verifique se cada uma das máquinas se comunica com a outra usando o comando ping 192.168.2.x. Se ocorrer um erro, verifique os seguintes ítens:

O número máximo de interfaces sl? depende da quantidade de portas seriais da sua máquina. Caso utilize uma placa multi serial, o número máximo de conexões de rede se torna grande (mas isto é apenas para curiosidade, pois não compensa uma multi serial para ligar uma quantidade grande de máquinas a baixa velocidade).

Para derrubar a conexão, basta derrubar a interface serial com o ifconfig sl0 down, dar um kill no daemon do slattach e remover o módulo slip e cslip com o comando rmmod. Assim sua porta serial será liberada e poderá ser usada por outros aplicativos.

Construindo um cabo LapLink Serial

Se você é uma pessoa que sabe mexer com eletrônica, poderá construir seu próprio cabo LapLink serial para fazer os testes desta seção. Os materiais necessários são:

  • 2 - Conectores seriais DB9 fêmea

  • 2 - Capas para os conectores acima.

  • Fios para ligação dos conectores. Uma forma que utilizei para montar este cabo foi aproveitar um carretel de cabo SCSI aproveitando 10 metros desfiando somente 9 dos 50 fios que acompanha o cabo (deixei um fio extra no caso de algum outro se romper).

  • Ferro de solda e solda para as ligações.

  • Concentração e paciência para a confecção correta dos cabos.

Este é o conector fêmea DB9 (tomada que liga na máquina) visto por trás (hora de mostrar novamente meu talento com arte ASCII :))

  --------------
1 \ o o o o o  / 5
6  \ o o o o  / 9
    ----------

A figura acima mostra a posição dos pinos como referência para a soldagem dos terminais. A tabela abaixo mostra a ligação dos fios nos cabos das 2 pontas. Note que cada ponta pode ter a opção da serial de 9 ou 25 pinos (ou as duas):

 
+--------+--------+---------+
|Ponta 1 |        |  Ponta 2|
+---+----+--------+----+----+
| 9 | 25 |        | 25 |  9 |
+---+----+--------+----+----+
| 5 |  7 |        |  7 |  5 |
| 3 |  2 |        |  3 |  2 |
| 7 |  4 |        |  5 |  8 |
| 6 |  6 |        | 20 |  4 |
| 2 |  3 |        |  2 |  3 |
| 8 |  5 |        |  4 |  7 |
| 4 | 20 |        |  6 |  6 |
+---+----+--------+----+----+