FreeBSD에 직렬 장치 나열

FreeBSD에 직렬 장치 나열

FreeBSD에서 직렬 통신 장치를 나열하는 방법을 찾고 있습니다.

컴퓨터에는 온보드 직렬 콘솔( ttyS0)과 내부 아날로그 모뎀이라는 두 가지가 설치되어 있습니다.

다음을 통해 내부 모뎀에 대한 정보를 찾을 수 있습니다 pciconf.

# pciconf -lbcevV pci0:5:8:0
none0@pci0:5:8:0:   class=0x078000 card=0x8d881043 chip=0x270214f1 rev=0x01 hdr=0x00
    vendor     = 'Conexant Systems, Inc.'
    class      = simple comms
    bar   [10] = type Memory, range 32, base 0xd1000000, size 65536, enabled
    bar   [14] = type I/O Port, range 32, base 0xa800, size 8, enabled
    cap 01[40] = powerspec 2  supports D0 D3  current D0

따라서 이것은 분명히 모뎀이며 공급업체 ID를 통해 Conexant RD01-D270 내부 아날로그 모뎀의 칩과 일치한다는 것을 알 수 있습니다.

dmidecode -t connector이것을 찾아보겠습니다:

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: COM1
    Internal Connector Type: 9 Pin Dual Inline (pin 10 cut)
    External Reference Designator:  
    External Connector Type: DB-9 male
    Port Type: Serial Port 16450 Compatible

따라서 이것은 분명히 온보드 직렬 인터페이스입니다.

문제는 어떤 장치입니까? 온보드 직렬 인터페이스가 이라고 상당히 안전하게 가정할 수 있지만 /dev/ttyS0이는 단지 추측일 뿐입니다. 사실 이것은 FreeBSD이므로 아마도 /dev/console. 그런데 어떤 모뎀인가요? 시리얼 콘솔이나 다이얼러일 줄 알았는데, 그건 /dev/cuau0추측일 뿐입니다.

추측 등을 하지 않고 이를 알아낼 수 있는 믿을 수 있는 방법이 있습니까?

답변1

사용pstat(8). 모든 터미널이 표시되며 여기서 가상 터미널(ttyv*)과 ptys를 빼고 직렬 터미널(이 경우 ttyu0 및 ttyu1)은 남깁니다.uart(4):

% pstat -t
      LINE   INQ  CAN  LIN  LOW  OUTQ  USE  LOW   COL  SESS  PGID STATE
     ttyu0     0    0    0    0     0    0    0     0     0     0 IC
     ttyu1     0    0    0    0     0    0    0     0     0     0 IC
     ttyv0  1920    0    0  192  1984    0  199 37695 87297 87297 Oicl
     ttyv1  1920    0    0  192  1984    0  199     7   852   852 Oil
     ttyv2  1920    0    0  192  1984    0  199     7   853   853 Oil
     ttyv3  1920    0    0  192  1984    0  199     7   854   854 Oil
     ttyv4  1920    0    0  192  1984    0  199     7   855   855 Oil
     ttyv5  1920    0    0  192  1984    0  199     7   856   856 Oil
     ttyv6  1920    0    0  192  1984    0  199     7   857   857 Oil
     ttyv7  1920    0    0  192  1984    0  199     7   858   858 Oil
     ttyv8     0    0    0    0     0    0    0     0     0     0 -
     ttyv9     0    0    0    0     0    0    0     0     0     0 -
     ttyva     0    0    0    0     0    0    0     0     0     0 -
     ttyvb     0    0    0    0     0    0    0     0     0     0 -
     pts/1  1920    0    0  192  1984    0  199 99999   874   882 Oi
     pts/3  1920    0    0  192  1984    0  199   104 79048 79048 Oi
     pts/2  1920    0    0  192  1984    0  199     3 19896 32414 Oi
     pts/4  1920    0    0  192  1984    0  199    38 46538 46538 Oi
     pts/0  1920    0    0  192  1984    0  199 65737 50951 50956 Oil
     pts/5  1920    0    0  192  1984    0  199     0 50987 50993 Oi

답변2

드라이버가 로드되지 않았기 때문에 dmesg에서 이 모뎀의 드라이버를 볼 수 없습니다. 이는 아마도 FreeBSD에 해당 드라이버가 없다는 의미일 것입니다. 이는 모뎀이 CX11252-15 칩셋을 사용하고 하드웨어 모뎀이 아니라 폐쇄 소스 드라이버가 포함된 "소프트 모뎀" 또는 "winmodem"이기 때문입니다. FreeBSD에는 WinModem에 대한 기본 지원이 포함되어 있지 않습니다.

또한 "isa" 비트는 생각만큼 이상하지 않습니다. 많은(대부분? 모두?) PC에는 여전히 레거시 장치를 지원하기 위한 내부 PCI-ISA 브리지가 있습니다. 온보드 모뎀과 직렬 포트, PS2 kb/마우스, RTC 등이 모두 이 범주에 속합니다.

관련 정보