tty0tty를 사용하여 가상 직렬 포트 (Linux 널 모뎀 에뮬레이터) 설정


9

Linux에서 가상 직렬 포트 에뮬레이터를 설정하고 싶습니다. 포트를 영구적으로 유지하기 위해 다시 시작할 때마다 포트를 사용할 수 있습니다. 이런 식으로 socat 을 그 목적으로 사용해 보았습니다 .

socat -d -d pty,raw,echo=0 pty,raw,echo=0

그러나 테스트 프로그램에서 이러한 VSP (가상 직렬 포트)를 사용하는 동안 종종 포트 사용 중 문제가 발생합니다. 또한 영구 / 영구적 VSP를 만드는 것이 어렵다는 것을 알게되었습니다. 나는 이제 내 목적을 위해 tty0tty를 시험 해보고 싶다. 그러나 문서와 그 사용법에 대한 설명서는 거의 없습니다. 누구든지 이것을 밝힐 수 있습니까? socat에 대한 해결책이 있다면 의견을 말하십시오.

답변:


13

설치

  1. 다음 소스 중 하나에서 tty0tty 패키지를 다운로드하십시오.

  2. 그것을 추출

    • tar xf tty0tty-1.2.tgz
  3. 제공된 소스에서 커널 모듈 빌드
    • cd tty0tty-1.2/module
    • make
  4. 새 커널 모듈을 커널 모듈 디렉토리에 복사하십시오.
    • sudo cp tty0tty.ko /lib/modules/$(uname -r)/kernel/drivers/misc/
  5. 모듈 장착
    • sudo depmod
    • sudo modprobe tty0tty
    • / dev / ( ls /dev/tnt*) 에 새로운 시리얼 포트가 보일 것입니다
  6. 새 직렬 포트에 적절한 권한 부여
    • sudo chmod 666 /dev/tnt*

이제 직렬 포트에 /dev/tnt0(1,2,3,4 등) 으로 액세스 할 수 있습니다 . 연속 포트는 서로 연결되어 있습니다. 예를 들어, / dev / tnt0 및 / dev / tnt1은 직접 케이블을 사용하는 것처럼 연결됩니다.

부팅 전반에 걸쳐 지속

/ etc / modules (Debian) 또는 /etc/modules.conf 파일을 편집하십시오.

nano /etc/modules

다음 줄을 추가하십시오.

tty0tty

경고

참고 이 방법은 모듈이 커널 업데이트를 통해 유지하지 않습니다 , 당신이 이제까지 커널 업데이트 그렇다면 확실히 다시 tty0tty 구축 과정을 반복합니다.

모든 커널 업데이트에서 모듈을 이동하지 않으면 systemctl --failed해당 서비스 systemd-modules-load.service종료 " failed" 가 반환됩니다 . 또한 journalctl -xe | grep "Failed to find".


1
고마워 친구, 잘 작동했습니다. 다른 곳에서는 이것을 찾을 수 없었습니다.
yuva

1
:) 내가 도울 수있어서 기쁘다!
Ruraj

tty0ttyMac OS도 지원 합니까 ?
Foad

을 사용하여 빌드하고 커널 모듈을로드 할 수는 kextutil있지만 시도한 적이 없습니다!
Ruraj

화려한 설명. 모든 점은 훌륭하고 깔끔합니다. 항상 그러한 반응을 보게되어 기쁘다
master_clown
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.