Depois de mais algumas horas de pesquisa intensiva e testando muitas opções diferentes, eu cheguei com uma solução.
Primeiro de tudo, eu tive que ativar o terminal adicionando linha:
ttyS1
no arquivo /etc/securetty
.
Sem isso você não pode acessar o terminal em /dev/ttyS1
.
Em segundo lugar, testei muitas configurações diferentes de socat e o seguinte comando funciona:
/usr/local/bin/socat tcp-l:2020,reuseaddr,fork,crlf file:/dev/ttyACM0,echo=0,b115200,raw,crnl,icanon=1
No entanto, esta solução não é perfeita. O terminal quebra a linha após cada prompt de comando para que a entrada do usuário seja digitada na próxima linha. Além disso, após a execução de cada comando aparece um prompt de comando vazio (como eu tinha entrado comando vazio imediatamente após o que eu realmente tinha inserido).
Suponho que eu deva configurar /dev/ttyACM0
corretamente com stty, mas ainda estou pesquisando o tópico.