Linux용 널 모뎀 만들기

Linux용 널 모뎀 만들기

Debian 6 scrape에서 가상 직렬 포트를 만들려고 합니다. 기본 요구 사항은 다음과 같습니다.

  1. 포트가 실제 직렬 포트인 것처럼 연결하는 기능(IE에서는 전송 속도, 정지 비트 등을 설정할 수 있음)

  2. com 포트 쌍은 변경되지 않은 상태로 유지되어야 합니다.

  3. COM 포트 쌍 이름은 재부팅 시 고정되어야 합니다. 컴퓨터를 다시 시작할 때마다 코드 설정을 변경하고 싶지 않습니다.

socat -d -d pty, raw, echo=1 pty, raw, echo=1오늘은 성공적으로 생성된 /dev/pts/5합계를 /dev/pts/6쌍으로 사용하여 간단히 socat을 사용해 보았습니다 . 그러나 socat을 실행하는 터미널을 닫으면 쌍이 종료됩니다. tty0tty가 옵션인지도 궁금합니다. 나는 사용했다com0comWindows는 과거에 큰 성공을 거두었습니다.

내 질문은 Linux에서 여러 COM 포트를 에뮬레이트할 수 있도록 널 모뎀 쌍을 만드는 가장 좋은 방법은 무엇입니까?

답변1

터미널을 닫으면 socat도 종료됩니다.

실행해 보세요

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

그런 다음 터미널을 닫을 수 있어야합니다

답변2

나는 이 솔루션이 "지속적"이라고 생각하지 않지만 이름은 상징적이라 할지라도 정적일 것입니다. Kotte의 답변 덕분에 터미널이 닫힌 후에도 socat이 계속 실행됩니다.

socat -d -d PTY,link=/home/someuser/COM0 PTY,link=/home/someuser/COM1 & disown

답변3

정지 비트는 실제 UART가 있는 경우에만 존재하므로 에뮬레이션할 필요가 없습니다. 전송 속도는 데이터를 전송할 수 있는 속도의 상한선일 뿐이므로 시뮬레이션 프로그램을 작성할 때 데이터 속도를 적절한 속도로 제한하면 됩니다. 그런 다음 일반 기존 파이프 또는 FIFO를 사용하여 에뮬레이터를 소비자에 연결할 수 있습니다.

pseudo-tty는 실제로 전송 속도 및 기타 매개변수에 대해 아무 작업도 수행하지 않고 이전 버전과의 호환성을 위해 전달하기 때문에 귀찮게 할 이유가 없습니다.

관련 정보