Почему некоторые дистрибутивы 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, знаете ли вы какую-либо полезную информацию по этому вопросу - у меня есть доступ к ноутбуку, который завтра будет считаться устаревшим и, следовательно, готовым для (а) Linux и (б) работы.
Крис Х

1
@ChrisH Ну, это в некоторой степени зависит от ноутбука, вам потребуется найти спецификацию или, по крайней мере, руководство по взлому для материнской платы ноутбука, в зависимости от модели, некоторые будут иметь правильную компоновку, чтобы легко припаять последовательный заголовок, хотя некоторые более дешевые доски просто имеют несколько разбросанных контрольных точек о плате. Если вам повезло, и в предыдущем случае вы можете просто припаять разъем, подключить к нему кабель, возможно, вырезать небольшое отверстие в вашем ноутбуке, чтобы в него вошла розетка, и тогда у вас будет порт. Помните, что это будет 5 или 3,3 вольт, поэтому не используйте его как RS232. Что это за ноутбук?
Vality

@Vality - нетбук acer - здесь нет точной модели - мне просто интересно узнать об общих ресурсах, пройдет некоторое время, прежде чем я об этом узнаю - спасибо.
Крис Х

Вопрос простой, консервативный, обратной совместимости. Вот почему людям нравится Linux. Вы не «двигаетесь быстро и ломаете вещи» в ядре. Вещи действительно должны измениться только тогда, когда есть веская и достаточно универсальная причина для движения ядра вперед.
JakeGould

4

Представьте себе, что Linux работает под виртуализацией, многие из эмуляторов по-прежнему полагаются на вывод консоли на последовательный порт. Это удобный стандарт. Кроме того, безголовый сервер все еще использует последовательный порт для связи.


Но ни одна из этих причин не является причиной создания узла устройства. Он создан, потому что устройство там, что касается ядра. Если вы отключите последовательный UART на CMOS, он не будет.
GnP

1
QEMU - это пример, который использует его, если вы хотите запустить виртуальную
машину

0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.