Você precisa remover o pós-processamento de /dev/lp0
. Tente o seguinte:
(
stty -F /dev/lp0 -opost
cat /dev/ttyS0
) > /dev/lp0
Colocar os dois comandos em um subshell e redirecionar sua saída para /dev/lp0
impede que as configurações stty sejam redefinidas para padrão quando nenhum processo tiver mais /dev/lp0
aberto (entre o stty
e o cat
).
Talvez você também precise alterar /dev/ttyS0
configurações, por exemplo remover qualquer processamento de entrada: stty -F /dev/ttyS0 -icanon -echo min 8 time 1
(o min 8 time 1
significa que as leituras retornarão assim que pelo menos um byte for lido e nenhuma entrada adicional estiver disponível após 1/10 de segundo ou se mais entradas forem disponibilizadas as leituras retornarão depois de no máximo 8 bytes lidos).