tty 문제: "텍스트 좋은 데이터" 대신 바이너리가 엉망입니다.

tty 문제: "텍스트 좋은 데이터" 대신 바이너리가 엉망입니다.

Moxa Uport 1110 USB-직렬 장치와 함께 GPS를 사용하려고 합니다. UPort 드라이버가 정상적으로 설치되고 GPS에서 NMEA(텍스트) 데이터를 전송합니다. 그러나 명령을 내릴 때

cat /dev/ttyUSB0

내 터미널(중요한 경우 UTF8 로케일)에 바이너리 혼란이 표시됩니다. Windows에서는(따라서 다른 드라이버를 사용하지만 둘 다 공식적임) 잘 작동하며 데이터를 보고 GPS에 액세스할 수 있습니다.

일부 터미널 설정에 문제가 있는지 궁금합니다.

나는 이전에 안정적인 GPS 구성의 이유이기도 한 stty ispeed 9600을 게시한 적이 있습니다. 또한 stty ispeed를 낮은 수준에서 높은 수준까지 시도했지만 여러 유형의 혼란을 겪었습니다.

가끔은 드문 시도를 통해 좋은 글이 나타나기도 합니다.

내 현재 터미널 설정은 다음과 같습니다

 [root@blade gpsd-3.14]# stty -F /dev/ttyUSB0 
 speed 9600 baud; line = 0;
 eof = ^A; min = 1; time = 0;
 -brkint -icrnl -imaxbel
 -opost -onlcr
 -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

문제가 있는 곳을 찾는 데 도움을 주시면 감사하겠습니다.

답변1

내 경험에 따르면(몇 년 전부터) 장치가 꺼지면 물리적 회선 특성이 기본값으로 다시 재설정됩니다. 따라서 stty ... < /dev/ttyUSB0명령이 완료되면 장치가 종료되고 기본값으로 다시 재설정되므로 독립 실행형 명령으로 실행할 필요가 없습니다.

이 문제를 해결하려면 다음과 같이 해야 합니다.

sleep 3600 </dev/ttyUSB0 &    # Open the device and keep it open (for 1hr)
stty ... </dev/ttyUSB0        # Set the desired characteristics
cat /dev/ttyUSB0              # Read from the device
...
kill %1                       # Finished with the "sleep"

관련 정보