부팅 시 직렬 포트 속도를 설정하는 가장 좋은 방법은 무엇입니까?

부팅 시 직렬 포트 속도를 설정하는 가장 좋은 방법은 무엇입니까?

Debian Wheezy를 실행하는 컴퓨터의 /dev/ttyS1~ttyS9에 연결된 계측기가 있습니다. 다양한 장비가 서로 다른 속도로 통신합니다.

이와 같은 여러 줄을 사용하는 것보다 전송 속도를 설정하는 더 좋은 방법이 있습니까?

stty -F /dev/ttyS1 19200 raw -echo
stty -F /dev/ttyS2 4800  raw -echo
etc...

rc.local에서?

답변1

설치하다직렬 패킷 설정. 직렬 포트 설정을 저장하고 부팅 시 복원할 수 있습니다.

또는 udev 규칙을 통해 포트가 감지되면 프로그램을 실행하십시오. 다음과 같이 입력하세요(테스트되지 않음) /etc/udev/rules.d/zzz_serial.rules.

KERNEL=="ttyS1", RUN+="/bin/stty -F /dev/ttyS1 19200 raw -echo"

답변2

내가 아는 한.

/etc/rc.local파일은 상자별 사용자 정의를 생성하는 데 가장 적합한 장소입니다. 이는 이러한 유형의 사용자 정의 변경을 위해 특별히 만들어졌으며 대부분의 시스템 관리자가 Unix/Linux 시스템을 다룰 때 가장 먼저 찾는 곳입니다.

답변3

setserial 패키지는 시작 시 직렬 설정을 복원합니다. 설치가 완료되면 파일을 편집하면 됩니다./var/lib/setserial/autoserial.conf

###PORT STATE GENERATED USING AUTOSAVE-ONCE###
###AUTOSAVE-ONCE###
#
# If you want to configure this file by hand, use
# dpkg-reconfigure setserial
# and change the configuration mode of the file to MANUAL. 
# If you do not do this, this file may be overwritten automatically the next 
# time you upgrade the package
#
/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal skip_test
/dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200 spd_normal skip_test
/dev/ttyS2 uart 16550A port 0x03e8 irq 0 baud_base 115200 spd_normal skip_test
/dev/ttyS3 uart 16550A port 0x02e8 irq 0 baud_base 115200 spd_normal skip_test
/dev/ttyS4 uart 16550A port 0x02d0 irq 0 baud_base 115200 spd_normal skip_test
/dev/ttyS5 uart 16550A port 0x02c0 irq 0 baud_base 115200 spd_normal skip_test

내 경험상 파일의 주석에 다르게 나와 있더라도 파일을 직접 수정해도 괜찮습니다. ###AUTOSAVE-ONCE###파일 상단의 행을 이동하여 seterial을 "대화식으로" 사용할 수도 있습니다 . 그런 다음 구성에 만족할 때까지 필요한 만큼 setserial을 호출하십시오. 이 시점에서 컴퓨터를 다시 시작하면 최신 구성이 /setserial/autoserial.conf.

관련 정보