Чому в деяких дистрибутивах Linux все ще є / dev / ttyS0, ttyS1 тощо, хоча новіші комп'ютери не мають такого послідовного порту?


34

Багато нових ноутбуків та настільних комп'ютерів не мають 9-контактних / 25-контактних послідовних портів. Чому багато дистрибутиви Linux все ще містять /dev/ttyS0, dev/ttyS1файли пристроїв?

Так udevможе створювати файли пристроїв динамічно, чому /dev/ttyS0, по- /dev/ttyS1як і раніше створюватися статично? Кожен раз, коли я завантажуюся /dev/ttyS0і /dev/ttyS1перебуваю там.

До речі: я використовую Debian 7.0.

Відповіді:


41

Ці /devвузли з'являються через те, що стандартний драйвер послідовного порту ПК збирається в ядро, яке ви використовуєте, і він знаходить UART . Це призводить до появи /sys/devices/platform/serial8250(або чогось сумісного), тому udev створює відповідні /devвузли.

Ці UART, швидше за все, є однією з багатьох особливостей чіпсету вашої материнської плати. Серійні UART в чіпсеті все ще є досить поширеними, хоча все рідше і рідше підключається роз'єм DB-9 до цих штифтів IC UART.

На деяких материнських платах є роз'єм заголовка для кожного послідовного порту, і вам потрібно придбати адаптерний кабель, якщо ви хочете направити цей роз'єм на задню частину ПК:

10-контактний заголовок до кабелю адаптера DB-9M

Інші материнські плати, що використовують один і той же набір чіпів, можуть навіть не підключити роз'єм заголовка, навіть якщо функція доступна в кремнії, щоб заощадити трохи місця на друкованій платі та кілька центів для роз'єму заголовка.

Кілька серійних UART додають незначну вартість для масово виготовленого ПК мікросхема ПК, тоді як це додає кілька доларів до кінцевої роздрібної вартості материнської плати для запуску роз'єму DB-9 до краю плати. Існує також вартість у просторі друкованої плати; простір біля краю дошки особливо дорогоцінний.

Не існує стандартного способу перевірити наявність пристрою, підключеного до послідовного порту RS-232.

Контрастний USB, коли сама наявність порту на материнській платі не спричиняє створення /devвузла, а підключення пристрою робить, тому що між пристроєм та хост-ОС є досить складні узгодження. Фактично, пристрій повідомляє про себе в ОС, тому udevможе реагувати, створивши відповідний /devвузол для пристрою.


11
Я також рекомендую згадати, що багато материнських плат ноутбуків -до- мають послідовний контролер, він просто нікуди не керується, тому його не можна використовувати без розбирання ноутбука та пайки на тестові пункти, багато виробників використовують це для проведення деяких базових перевірок на виробничій лінії забезпечити базовий рівень функціонування на материнській платі перед доставкою. Однак, що стосується Linux, це означає, що є послідовний порт, і він створює його, як можна було очікувати для будь-якої плати з послідовним контролером.
Vality

@Vality, чи знаєте ви будь-яку корисну інформацію з цього приводу - я отримую доступ до ноутбука, який завтра буде визнаний застарілим і тому дозрів для (a) Linux та (b) майстерності.
Кріс Х

1
@ChrisH Ну, це дещо залежить від ноутбука, вам потрібно буде знайти аркуш даних або хоча б хакерський посібник для материнської плати ноутбука, залежно від моделі, деякі матимуть правильну компоновку, щоб легко паяти на послідовний заголовок, хоча деякі дешевші дошки просто мають кілька розсіяних тестових точок щодо дошки. Якщо вам пощастило, і чим раніше, ви можете просто припаяти заголовок, підключити до нього кабель, ймовірно, вирізати невеликий отвір у своєму ноутбуці, щоб розетка вмістилася, тоді у вас буде порт. Пам'ятайте, що це буде 5 або 3,3 вольт, тому не використовуйте його як RS232. Що це за ноутбук?
Vality

@ Vality acer netbook - у мене немає точної моделі тут - я просто цікавився загальних ресурсів, справді пройде деякий час, перш ніж я обійдуся цим - дякую.
Кріс Х

Проблема полягає в базовій, консервативній, зворотній сумісності. Тому люди люблять Linux. Ви не «переміщаєте швидко і не ламаєте речі» в ядрі. Все дійсно потрібно змінити лише тоді, коли є ясна (і досить універсальна) причина, щоб ядро ​​рухалося вперед.
JakeGould

4

Уявіть, що Linux працює під віртуалізацією, багато емулятора все ще покладаються на виведення консолі на послідовний порт. Це зручний стандарт. Крім того, безголовий сервер все ще використовує послідовний порт для зв'язку.


Але жодна з цих причин не створює причин створення вузла пристрою. Він створений тому, що пристрій є там, що стосується ядра. Якщо вимкнути серійний UART на CMOS, він не буде.
GnP

1
QEMU приклад , який використовує його , якщо ви хочете запустити віртуальну машину всередині терміналу: stackoverflow.com/questions/19565116 / ...
Чіро Сантіллі新疆改造中心法轮功六四事件

0

Варто зазначити, що багато (більшість?) Серверів все ще забезпечують послідовний доступ (ttyS0). Мені потрібно підключатися через послідовне з'єднання через локальну мережу через iLO / iDRAC майже щодня. Як зазначав @Patrick, я підключаюсь до віртуальних машин через послідовний порт, а також під час налаштування мереж тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.