직렬 통신에 문제가 있습니다. [닫기]

직렬 통신에 문제가 있습니다. [닫기]

나는 직렬 통신 전문가가 아니며 오래 전에 이것을 시도했습니다. 나의 즉각적인 목표는 SUN Sparc T5140의 서비스 프로세서에 연결하는 것이었지만 이후 여러 장치에 연결을 시도했지만 매번 동일한 결과를 얻었습니다. 빈 화면/터미널이 나타나고 커서가 움직이지 않으며 화면/터미널에 아무 일도 일어나지 않습니다.

호스트(다른 호스트도 시도)와 대상 사이에 9핀 직렬 포트에 연결된 스트레이트 연결 케이블(널 모뎀 케이블)이 있습니다.

다음과 같이 내가 사용하고 있는 포트를 확인했습니다.

0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 RTS|DTR
1: uart:16550A port:000002F8 irq:3 tx:0 rx:0

이를 통해 전기적 연결이 있는 것이 ttyS0임을 알 수 있습니다.

나는 또한 다양한 모드/속도 등을 대략적으로 시도했습니다.

나는 minicom, screen, putty와 같은 다양한 클라이언트를 사용해 보았지만 모두 아무것도 표시하지 않고 어떤 입력도 허용하지 않는 빈 화면/터미널로 끝났습니다. 시도하지 않은 클라이언트가 더 있지만 필요하지 않다고 생각하며 문제는 다른 곳에 있습니다.

케이블을 고민하다가 오늘 믿을 수 있는 매장에서 구입했는데 전기적 연결이 보이니까 맞을 거라 생각했는데...? 그런데 여기서는 잘 모르겠네요...

ttyS0 또는 ttyS1 이외의 것을 사용하면 화면에 다음이 표시됩니다.

[root@tc1 ~]# screen /dev/ttyS2
[screen is terminating]

통신이 없거나 장치가 구성되지 않았음을 의미하는 것 같습니다.

내 빈 터미널의 스크린샷

답변1

이를 통해 전기적 연결이 있는 것이 ttyS0임을 알 수 있습니다.

죄송합니다. 하지만 당신은 틀렸습니다.

RTS 및 DTR 신호는 단순히 무언가가 로컬에서 포트를 활성화하고 있음을 나타냅니다. 즉 , 프로그램 또는 screen유사한 minicom프로그램 이 컴퓨터의 포트에서 실행되고 있음을 나타냅니다. 둘 다 나가는 신호이기 때문에 원격 끝에 대해서는 전혀 공개되지 않습니다. 포트를 활성화하는 로컬 프로세스의 PID를 얻으려면 루트를 사용하십시오 .ModemManageragettyfuser -u /dev/ttyS0

믿을 수 없다면, 실행 하고 screen /dev/ttyS1실행되는 동안 cat /proc/tty/driver/serial다른 창에서 다시 실행해 보세요 . 이제 ttyS1 RTS 및 DTR 신호도 활성화된 것을 볼 수 있습니다.

반면에 CTS 및 DSR 신호는 두 가지를 나타냅니다.

  • 케이블실제로는 있어요어떤 방식으로든 연결된 전선(일부 직렬 케이블에는 들어오는 데이터, 나가는 데이터 및 접지의 세 가지 전선만 있음)
  • CTS 및 DSR 신호가 RTS 및 DTR 없이 단독으로 나타나는 경우그때까지이는 반대편에 뭔가가 있어야 함을 나타냅니다. 일부 널 모뎀 케이블은 한쪽 끝의 장치가 연결된 상황에 대한 해결 방법으로 각 커넥터의 로컬 DTR을 로컬 DSR에 연결하고 로컬 RTS를 로컬 CTS에 연결합니다.~ 해야 하다하드웨어 핸드셰이크를 사용하여 상대방 장치할 수 없다해. 이 경우 포트에 전원이 공급되고 나가는 RTS 및 DTR 신호가 어설션되면 케이블의 다른 쪽 끝이 전혀 연결되지 않은 경우에도 들어오는 CTS 및 DSR 신호가 항상 존재합니다.

직렬 연결이 작동하기 전에 매개변수를 숙지해야 하는 경우도 많습니다. 가장 일반적인 변수는 연결의 전송 속도(속도)입니다. T5140의 콘솔 포트에서 처음에는 9600bps를 시도했습니다. 다른 장치도 38400 또는 115200bps를 사용할 수 있습니다. 내 경험상 이것이 가장 일반적인 값입니다.

다른 매개변수에는 데이터 비트 수(현재 가장 일반적인 값은 8), 패리티 비트(가장 일반적인 값은 "없음") 및 정지 비트 수(가장 일반적인 값은 1)가 포함됩니다.

모든 매개변수가 정확하더라도 다른 쪽 끝은 유효한 문자를 입력으로 받을 때까지 아무 것도 보내지 않을 수 있습니다. 따라서 시작되면 screen또는 minicomEnter 키를 한두 번 누르십시오.

대부분의 직렬 콘솔 연결은 "원격 에코" 원칙을 따릅니다. 즉, 입력할 때 입력한 문자는 화면에 표시되지 않고 단순히 직렬 포트 밖으로 전송됩니다. 이러한 문자는 원격 측에서 해당 문자를 에코할 때만 표시됩니다. 이를 통해 화면에 표시되지 않고 비밀번호를 입력하는 등의 작업이 가능하며(원격 측에서는 비밀번호 입력 에코를 비활성화하기 때문에) 입력한 문자가 올바르게 수신되었음을 알려줍니다.

minicom사람이 사용하도록 의도되지 않은 직렬 연결에서는 이 원격 에코 기능을 생략할 수 있습니다. 이러한 연결 문제를 해결하려면 터미널 에뮬레이션 프로그램("화면 및 예: ) 에서 "로컬 에코" 기능을 활성화해야 할 수도 있습니다 . 및 원격 에코가 적용되면 입력하는 모든 내용이 화면에 나타납니다.

관련 정보