Criar um par de modem nulo linux

7

Eu estou olhando para criar portas seriais virtuais no Debian 6 squeeze. Requisitos básicos são:

  1. ser capaz de se conectar como se a porta fosse uma porta serial real (ou seja, ser capaz de definir bauds, interromper bits, etc.)

  2. os pares de portas precisam ser persistentes

  3. Os nomes de pares de porta com
  4. devem estar estáticos na reinicialização. Não quero alterar as configurações de código sempre que o computador é reinicializado

Eu tentei hoje socat brevemente usando socat -d -d pty, raw, echo=1 pty, raw, echo=1 que criou com sucesso /dev/pts/5 e /dev/pts/6 como um par. No entanto, assim que eu fechar o terminal em execução, o par é finalizado. Eu também estou querendo saber se tty0tty é uma opção? Eu usei o com0com no passado com janelas com grande sucesso.

A minha pergunta é qual é a melhor maneira de criar um par de modem nulo para que eu possa simular várias portas com no Linux?

    
por Richard 30.01.2013 / 18:55

3 respostas

5

Se você fechar o terminal, também matará socat.

Tente executá-lo com

socat -d -d pty, raw, echo=1 pty, raw, echo=1 &
disown

Então você deve poder fechar o terminal

    
por 30.01.2013 / 19:22
1

Os bits de parada só existem se você tiver um UART real para que não haja nada lá para simular. A taxa de transmissão é simplesmente o limite máximo de quão rápido você pode transferir dados, portanto, ao escrever seu programa de simulação, basta limitar a taxa de dados à velocidade adequada. Então você pode conectar o simulador ao programa consumidor com um cano velho comum ou fifo.

Não há razão para se preocupar com uma pseudo-tty, uma vez que eles não fazem nada com a taxa de transmissão e outros parâmetros, eles apenas a transmitem para compatibilidade com versões anteriores.

    
por 04.02.2013 / 19:02
1

Estou pensando que essa solução não será "persistente", no entanto, os nomes serão estáticos, mesmo que sejam simbólicos. socat continuará a rodar após o terminal ser fechado graças à resposta de Kotte

socat -d -d PTY,link=/home/someuser/COM0 PTY,link=/home/someuser/COM1 & disown
    
por 05.02.2013 / 20:16