Problema:
Estou tentando fazer uma conexão serial direta com um roteador (neste caso um MikroTik) através da porta serial. Eu tentei o formato que encontrei em vários links no Google:
sudo screen /dev/serialDevice baudRate
No entanto, essa forma de comando nunca é bem-sucedida.
Eu apertei "Return" várias vezes após o comando, pois essas postagens instruem para chegar a um prompt de login, mas nenhum prompt de login é exibido, não importa quantas vezes eu pressione "Enter".
Resposta curta:
A forma do
screen
comando que usei foi:No caso do meu roteador MikroTik RB4011, meu
screen
comando bem-sucedido ficou assim:Onde
cs8
está a taxa de bits do roteador eixoff
para " No Flow Control ". Os detalhes da conexão serial - incluindo a taxa de transmissão de 115200 - para o roteador foram obtidos do PDF do Guia do Usuário do fabricante.O nome do dispositivo para o cabo serial no Linux foi derivado da saída de
udevadm monitor
quando conectei o cabo ao meu host Linux.Resposta longa:
Embora este exemplo use o roteador MikroTik, ele deve ser adaptável a outros dispositivos de rede que oferecem acesso à porta serial com pequenas modificações.
O cabo serial do console usado no exemplo é encontrado AQUI na Amazon e comprovadamente funciona com Linux e MikroTik sem a necessidade de drivers especiais.
Etapa 1: Obtenha os parâmetros seriais do dispositivo.
Apenas conectar um cabo serial entre seu laptop e o roteador não é suficiente: seu laptop precisa se comunicar com o roteador usando as mesmas configurações que ele.
No guia do usuário que acompanha o dispositivo serial, o fabricante publicará os parâmetros de conexão serial. MikroTik me diz que para o RB4011 neste exemplo:
"Porta do console RJ45 para acesso ao console serial, definido por padrão para 115200 bit/s, 8 bits de dados, 1 bit de parada, sem paridade "
Esta informação será fornecida ao
screen
comando na Etapa 3 .Etapa 2: encontrar o fim lógico do cabo serial no Linux
Depois de fazer a conexão FÍSICA entre seu roteador e laptop com o cabo serial devemos encontrar a extremidade LÓGICA do cabo como o Linux o vê para fornecer o
screen
comando como destino.Execute o comando abaixo ANTES de inserir o cabo serial na porta USB do seu host Linux:
O feedback em tempo real (truncado abaixo para facilitar a leitura) rolará na tela:
Saia do comando com
ctrl c
O Linux vê nosso cabo serial como: " ttyUSB0 ". Nós fornecemos isso como um alvo
screen
na Etapa 3 .Etapa 3: executar
screen
o comandoAgora que determinamos os parâmetros de conexão do nosso dispositivo serial na Etapa 1 e identificamos o dispositivo lógico do cabo serial na Etapa 2 , temos todos os principais detalhes necessários para formar e executar o
screen
comando para (finalmente) conectar ao roteador.A forma do comando será:
sudo screen /dev/( nome do dispositivo de udevadm ) ( baudRate ) ( TransmissionRate ) ( flowControl )
Usando as configurações do fabricante para a conexão serial, especificaremos os "8 bits"
cs8
e, como o MikroTik NÃO usa o Flow Control, definiremos isso comoixoff
. Nosso comando agora terá a seguinte aparência:Observe que o comando acima é conhecido por funcionar com o MikroTik RB4011, mas pode ser necessário ajustá-lo para o seu dispositivo específico.
man screen
para revisar configurações alternativas às do meu exemplo.Em vez de usar
screen
, você pode usarminicom -s
, mas acho quescreen
é mais simples, pois você pode simplesmente anexar os parâmetros de conexão e não passar por um menu de configuração separado.