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?
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
dá
speed 38400 baud; line=0;
junto com um monte de configurações sem importância,
stty -a -F /dev/ttyS0
dá
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.
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?
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
...