como reativar a entrada em um console serial

2

Eu tenho um roteador antigo que roda o Linux e gostaria de ter um console serial. Isso costumava funcionar bem, mas depois de uma atualização de firmware, agora só posso obter a saída no console e não posso dar nenhuma entrada de volta ao dispositivo. Durante a inicialização, há uma linha que diz "A entrada do console está desativada" que não estava lá antes.

Sem alterar o firmware, como reativar a entrada no console serial?

... minhas tentativas até agora ...

Eu posso fazer o login na LAN e carregar quaisquer arquivos (e cruzar ferramentas de compilação, se necessário), e há uma pequena partição flash não-volátil do usuário, então qualquer solução que me obrigue a escrever um programa rápido usando ioctl ou outros está bem. O Linux embarcado tem os arquivos do sistema como /sys/bus e /sys/devices/platform/serial8250.0 e assim por diante, caso isso seja útil. Os arquivos /dev/console , /dev/ttyS0 , /dev/tty todos têm permissões de leitura e gravação. Executar getty -L 115200 ttyS0 faz um prompt de login aparecer no console serial, mas não consigo aceitar nenhuma entrada. Adicionando a linha

::respawn:-/bin/sh

para inittab faz o busybox fornecer um prompt de shell ... mas, novamente, o console serial não recebe informações.

relatórios dmesg

Kernel command line: root=/dev/ram rw init=/init console=ttyS0,115200

e stty

speed 38400 baud; line=0;  

junto com um monte de configurações sem importância, stty -a -F /dev/ttyS0

speed 115200 baud; stty: /dev/ttyS0  
line = 0;  

(e um monte de configurações que não parecem importantes, mas vou digitá-las se as pessoas precisarem delas.)

Eu estou perdido aqui, então não tenho certeza de quais informações são necessárias.
Alguma idéia para resolver este enigma? Tenho a sensação de que há algo simples que esqueci de tentar.

    
por CuriousPuzzleSolver 26.01.2012 / 09:47

2 respostas

1

O exemplo do busybox inittab parece um pouco diferente,

# Example of how to put a getty on a serial line (for a terminal)
#
#::respawn:/sbin/getty -L ttyS0 9600 vt100
#::respawn:/sbin/getty -L ttyS1 9600 vt100

você poderia tentar?

    
por 26.01.2012 / 12:49
0

Eu vejo que este é um post muito antigo, mas lembro de ter visto algum problema semelhante depois de atualizar uma TV Samsung. Provavelmente o modelo do roteador que você possui pertence a alguma empresa que não permite modificações externas como OpenWRT etc. Por exemplo, uma forma comum de desabilitar o acesso ao terminal shell é desativá-lo nos fontes do kernel /linux-2.6.35.11/drivers/char/n_tty.c ou compilar o kernel com: CONFIG_SERIAL_INPUT_DISABLE_STRING ...

    
por 09.01.2014 / 18:42