Linux에서 직렬 포트를 찾을 수 없습니다.

Linux에서 직렬 포트를 찾을 수 없습니다.

내 컴퓨터에 Debian6.0이 설치되어 있습니다. 4개의 컴포트가 있는데 그 중 2개를 찾을 수 없습니다. 시스템 BIOS를 보면 포트 주소가 다음과 같은 것을 알 수 있습니다.

PORT      ADDRESS      IRQ
1         3F8          4
2         2F8          3
3         3E8          10
4         2E8          11

데비안은 포트 1과 2를 찾을 수 있지만 3과 4는 찾을 수 없습니다. 내가 이해한 바로는 이 정보를 사용하여 포트를 설정할 수 있습니다 setserial. 나는 시도했다:

setserial /dev/ttyS2 port 0x03e8 irq 10 baud_base 115200

그러나 나는 다음을 받습니다:

/dev/ttyS2: No such file or directory

/dev이름을 지정하여 파일을 생성하는 것이 안전한가요 ttyS2? 동일한 명령을 다시 실행해 보시겠습니까?

편집하다:

조던의 요청에 따라:

# cat /proc/devices
Character devices:
  1 mem
  2 pty
  3 ttyp
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
 10 misc
 13 input
 29 fb
128 ptm
136 pts
180 usb
189 usb_device
253 rtc
254 hidraw

Block devices:
259 blkext
  7 loop
  8 sd
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd

편집하다:

그래서 다음을 사용하여 장치 파일을 만들었습니다.

mknod -m 666 /dev/ttyS2 c 4 66

COM 포트를 설정하려고 합니다.

setserial /dev/ttyS2 port 0x03e8 irq 10 autoconfig

그러나 받았습니다:

/dev/ttyS2: No such device or address

실제로 하드웨어에는 두 개의 추가 직렬 포트가 있습니다.

답변1

8250.nr_uarts = 4Grub 부트 로더에는 부트 라인에 대한 매개변수가 있습니다 . 그 후 다음을 사용하여 직렬 포트를 설정할 수 있습니다.setserial

https://www.tldp.org/HOWTO/Serial-HOWTO-15.html#ss15.3

답변2

정의되지 않은 UART 직렬 포트와 ARCHMI PC의 Linux에서 비슷한 문제가 발생했습니다. dmesg | grep 일련번호에 결과가 표시되지 않았습니다. 여러번 시도한 끝에 BIOS 문제라는 것을 알게 되었습니다. "빠른 시작" 옵션을 비활성화한 후 모든 것이 원활하게 실행되었고 직렬 포트가 UART를 올바르게 로드했으며 dmesg에 결과가 표시되었습니다. 혹시라도 도움이 된다면 말이죠.

관련 정보