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
.