답변:
나는 이것이 다음 명령이라고 생각합니다.
dmesg | grep tty
하나의 직렬 포트가있는 내 Linux 상자에서 실행하면 단일 ttyS0 출력 라인이 생성됩니다. 직접 시도해 보면 내가 무슨 뜻인지 알 수 있습니다.
tty
하여 tty의 이름을 얻을 수 있습니다 . OP가 "직렬 포트가 어떤 직렬 포트에서 getty
실행되고 있습니까?"라는 질문을 제기하지 않았기 때문에 이것이 의미하는 바라고 생각합니다.
에서 감지 된 UART를 확인하십시오 /proc/tty/driver/serial
. uart:unknown
의미가 있는 줄 : 아무것도 감지되지 않았으며 존재하지 않을 수도 있습니다.
# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:16550A port:000002F8 irq:3 tx:111780 rx:1321 RTS|DTR|DSR
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
무언가가 연결되어 라인 CTS, DSR 또는 CD (입력 라인)를 구동하는 경우 실제로 무언가가 있다는 것을 확신 할 수 있습니다. rx- 바이트 수에 대해서도 마찬가지입니다.
프로그래밍 방식으로 dmesg에서 출력을 읽는 것이 어려운 경우, / dev / serial / by-id 폴더에는 장치의 식별 가능한 데이터 이름을 따서 명명 된 sym 링크가 있고 특정 / dev / tty *를 가리 킵니다. 에 연결되어 있습니다.
이것이 배포에 특정한 특수한 udev 규칙인지 확실하지 않지만 우분투에서는 잘 작동합니다.
ttyS0
관통 3
대응 COM1
통해 4
각각. 일반적으로 동일한 하드웨어 리소스를 가지고 있으며 항상 감지 할 수있는 것은 아니므로 항상 존재합니다.
setserial
ttyS0에 당신의 시리얼 포트의에 사용하는 자원을 매핑 할 수 있습니다. linux.die.net/man/8/setserial COM4 이외의 다른 것들은 일반적으로 리눅스가 그것을 감지하고 적절하게 시리얼 장치를 추가 할 수있는 충분한 보조 하드웨어를 가지고 있기 때문에 일반적으로 필요하지 않습니다.
데이터를 얻는 setserial
데 사용 되는 명령도 있습니다 /proc/tty/driver/serial
.
# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3