저는 Linux 박스의 직렬 포트를 Solaris 10 박스와 공유하려고 합니다(Solaris 시스템에는 직렬 포트가 없습니다).
리눅스 박스(모뎀 서버)에서 다른 리눅스 박스로 동일한 명령을 실행하면 모든 것이 정상입니다.
솔라리스에서 scout를 사용할 때 문제가 발생합니다.
Linux 상자에서 서버를 시작하려면 다음을 사용합니다.
$ socat tcp-l:54321,reuseaddr,fork 파일:/dev/ttyAMA0,nonblock,waitlock=/var/run/ttyAMA0.lock
클라이언트 측에서는 다음을 사용합니다.
/opt/csw/bin/socat pty,link=$HOME/dev/vmodem0,waitslave tcp:모뎀 서버 IP:54321
하지만 오류 메시지가 나타납니다:
bash-3.00# /opt/csw/bin/socat pty,link=$HOME/dev/vmodem0,waitslave tcp:modem-server-ip:54321 2015/09/10 21:07:10 socat[10085] E 구문 분석( ): 알 수 없는 옵션 "waitslave"
waitslave 옵션을 제거하면 시작되지만 /dev/vmodem0이 자체 상위 디렉토리에 대한 심볼릭 링크로 생성됩니다.
bash-3.00# ls -lad /dev/vmodem0 lrwxrwxrwx 1 루트 루트
0 9월 10일 21:06 /dev/vmodem0 ->bash-3.00# ls /dev/vmodem0/vmodem0/vmodem0/