최신 컴퓨터에 직렬 포트가 없는데도 일부 Linux 배포판에 왜 여전히 / dev / ttyS0, ttyS1 등이 있습니까?


34

많은 새로운 랩탑 및 데스크탑 컴퓨터에는 9 핀 / 25 핀 직렬 포트가 없습니다. 왜 많은 리눅스 배포판은 여전히 포함 않는 /dev/ttyS0, dev/ttyS1장치 파일을?

때문에 udev동적으로 장치 파일을 만들 수 있습니다, 왜 /dev/ttyS0, /dev/ttyS1여전히 정적으로 생성? 때마다 나는 부팅, /dev/ttyS0그리고 /dev/ttyS1거기에 있습니다.

그건 그렇고 : 나는 데비안 7.0을 사용하고 있습니다.

답변:


41

/dev노드는 표준 PC 직렬 포트 드라이버가 사용중인 커널에 컴파일되어 있고 UART를 찾고 있기 때문에 나타납니다 . 이로 인해 /sys/devices/platform/serial8250(또는 호환되는 것)이 나타나므로 udev 는 해당 /dev노드를 만듭니다 .

이러한 UART는 대부분 마더 보드 칩셋의 많은 기능 중 하나 일 것입니다. DB-9 커넥터를 이러한 IC UART 핀에 연결하는 것이 점점 일반화되고 있지만 칩셋의 직렬 UART는 여전히 흔합니다.

일부 마더 보드에는 각 직렬 포트에 대한 헤더 커넥터 가 있으며 해당 커넥터를 PC 후면으로 라우팅하려면 어댑터 케이블을 구입해야합니다.

DB-9M 어댑터 케이블에 대한 10 핀 헤더

동일한 칩셋을 사용하는 다른 마더 보드는이 기능이 실리콘으로 제공 되기는하지만 헤더 공간을 조금만 절약하고 PCB 공간을 약간 절약하기 위해 헤더 커넥터를 노출시키지 않을 수도 있습니다.

일부 직렬 UART는 대량 생산 된 PC 칩셋 IC에 무시할만한 비용을 추가하는 반면, 마더 보드의 최종 소매 비용에 약간의 비용이 추가되어 DB-9 커넥터를 보드 에지로 실행합니다. PCB 공간에도 비용이 든다. 보드 가장자리의 공간은 특히 소중합니다.

RS-232 직렬 포트에 연결된 장치가 있는지 검사하는 표준 방법은 없습니다.

/dev장치와 호스트 OS간에 상당히 복잡한 협상이 있기 때문에 마더 보드에 포트가 있다고해서 노드가 생성되지 않지만 장치를 연결하는 USB는 대조 USB 입니다. 실제로 장치는 OS에 자신을 알리므로 장치에 udev적절한 /dev노드를 만들어 반응 할 수 있습니다 .


11
또한 많은 노트북 마더 보드가 직렬 컨트롤러를 가지고 있다고 언급하는 것이 좋습니다. 직접 컨트롤러가 없으므로 어디에서나 향할 수 없으므로 노트북을 분해하고 테스트 포인트에 납땜하지 않고는 사용할 수 없으며 많은 제조업체가이를 사용하여 생산 라인에서 몇 가지 기본 점검을 수행합니다 운송 전에 메인 보드의 기본 기능 수준을 보장합니다. 그러나 Linux에 관한 한 이것은 직렬 포트가 있음을 의미하며 직렬 컨트롤러가있는 모든 보드에서 예상되는 것처럼 인스턴스화합니다.
Vality

@Vality, 당신은 이것에 대한 유용한 정보를 알고 있습니까? 나는 내일 쓸모없는 것으로 간주되어 (a) Linux 및 (b) 어설프게 랩탑에 액세스합니다.
Chris H

1
@ChrisH 글쎄, 그것은 노트북에 다소 의존합니다. 모델에 따라 데이터 시트 또는 노트북 마더 보드의 해킹 안내서를 찾아야합니다. 일부 모델은 직렬 헤더에 쉽게 납땜하기 위해 올바른 레이아웃을 갖습니다. 더 싼 보드는 보드에 대한 테스트 포인트가 흩어져 있습니다. 운이 좋으며 이전의 경우 헤더에 납땜 할 수 있다면 케이블을 연결하십시오. 아마도 소켓에 들어갈 수 있도록 랩톱의 작은 구멍을 자르면 포트가 생깁니다. 5 볼트 또는 3.3 볼트이므로 RS232로 사용하지 마십시오. 어떤 노트북입니까?
Vality

@Vality acer netbook-정확한 모델이 없습니다.-일반 리소스에 대해 정말로 궁금했습니다. 실제로 돌아 오기 전에 시간이 걸릴 것입니다. 감사합니다.
Chris H

이 문제는 기본적이고 보수적 인 이전 버전과의 호환성입니다. 사람들이 리눅스를 좋아하는 이유입니다. 커널에서 "빠른 이동 및 중단"을하지 마십시오. 커널이 앞으로 나아가 야 할 타당하고 보편적 인 이유가있을 때만 상황을 바꿔야합니다.
JakeGould

4

가상화 하에서 Linux를 실행한다고 상상해보십시오. 많은 에뮬레이터는 여전히 콘솔을 직렬 포트로 출력하는 데 의존합니다. 편리한 표준입니다. 또한 헤드리스 서버는 여전히 통신에 직렬 포트를 사용합니다.


그러나 그 중 어느 것도 장치 노드가 생성되는 이유는 아닙니다. 커널에 관한 한 장치가 있기 때문에 생성됩니다. CMOS에서 직렬 UART를 비활성화하면 작동하지 않습니다.
GnP

1
QEMU는 터미널 내부의 VM을 실행하려는 경우를 사용하는 예입니다 stackoverflow.com/questions/19565116/...
치로 틸리新疆改造中心法轮功六四事件

0

많은 (대부분의) 서버가 여전히 직렬 액세스 (ttyS0)를 제공한다고 언급 할 가치가 있습니다. 거의 매일 iLO / iDRAC를 통해 Serial-over-LAN 연결을 통해 연결해야합니다. @Patrick이 지적했듯이 네트워킹 등을 재구성 할 때 직렬 포트를 통해 가상 머신에 연결합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.