sexta-feira, 30 de setembro de 2011

Uma utilidade para as portas seriais (enquanto elas ainda existem)

Apesar das portas seriais serem tão ou mais velhas que os disquetes, ainda são encontradas em alguns PCs hoje em dia. Para quem usa Linux, elas pelo menos servem para acesso via terminal.

Para interligar dois PCs via porta serial, você precisa de um cabo null modem, que é encontrado com certa facilidade (pelo menos no Mercado Livre tem). No meu caso, eu tinha perdidos aqui dois "adaptadores Yost", de serial DB-9 fêmea para RJ-45. É importante avisar que cabos de rede, tanto normais quanto crossover, não servem para uso com estes adaptadores. Existem cabos específicos para uso com eles (comuns em roteadores da Cisco). Para montar por conta usando cabo UTP convencional, ele precisa ser reto e invertido, como é comentado no link. Assim:

Ponta 1       Ponta 2
  1 ------------ 8  \ par
  2 ------------ 7  /
  3 ------------ 6  \ par
  4 ------------ 5  /
  5 ------------ 4  \ par
  6 ------------ 3  /
  7 ------------ 2  \ par
  8 ------------ 1  /


Com a interligação física pronta, vá ao setup de cada placa-mãe e confira se a porta COM1 está habilitada.

Relembrando, no Linux, COM1 é chamada de ttyS0:

DOS/Windows        Linux
  COM1           /dev/ttyS0
  COM2           /dev/ttyS1
  COM3           /dev/ttyS2
  COM4           /dev/ttyS3

Na máquina que será acessada, estou rodando o Fedora 16 e as instruções foram testadas nele. Edite as opção de boot e adicione:

console=ttyS0,115200

Caso queira deixá-las permanentes, leia Opções de boot permanentes no GRUB.

A opção diz para o kernel usar a porta serial /dev/ttyS0 como o dispositivo /dev/console.

Ver: https://github.com/mirrors/linux-2.6/blob/master/Documentation/serial-console.txt

O systemd usa o que o kernel oferece e coloca o agetty a rodar em todas as portas seriais que você especificar com a opção de boot console. Ou seja, ele automaticamente iniciará o serviço serial-getty@ttyS0.service e você terá um terminal pronto lhe esperando na porta serial. Mais informações: http://0pointer.de/blog/projects/instances.html

Na máquina cliente, estou rodando o Windows 7. Nele, a Microsoft removeu o venerável HyperTerminal. É possível copiar alguns arquivos do Windows XP e rodar o programa no 7, mas não vale a pena. Existe um programa melhor: o PuTTY.



Siga as duas imagens e pronto. Para não precisa fazer o mesmo toda vez que abrir o programa, salve uma "sessão" nele. Depois de configurar, volte para "Session", no campo "Saved Sessions" digite alguma coisa para identificar e clique em "Save". Assim, da próxima vez que abir o PuTTY, basta carregar essa sessão com um duplo clique.

Não é SSH!

Nenhum comentário:

Postar um comentário