cif*_*fer 39 linux udev serial-port
许多新的膝上型计算机和台式计算机没有 9 针/25 针串行端口。为什么许多 Linux 发行版仍然包含/dev/ttyS0,dev/ttyS1设备文件?
由于udev可以动态地创建设备文件,为什么/dev/ttyS0,/dev/ttyS1还是静态创建?每次我开机,/dev/ttyS0并/dev/ttyS1在那里。
顺便说一句:我正在使用 Debian 7.0。
War*_*ung 45
/dev出现这些节点是因为标准 PC 串行端口驱动程序已编译到您正在使用的内核中,并且它正在查找UARTs。这会导致/sys/devices/platform/serial8250(或兼容的)出现,因此udev创建相应的/dev节点。
这些 UART 很可能是主板芯片组的众多功能之一。芯片组中的串行 UART 仍然很常见,尽管 DB-9 连接器连接到这些 IC UART 引脚的情况越来越少。
在某些主板上,每个串行端口都有一个接头连接器,如果您想将该连接器连接到 PC 背面,则必须购买适配器电缆:

使用相同芯片组的其他主板甚至可能不会暴露插头连接器,即使该功能在硅中可用,纯粹是为了节省一些 PCB 空间和几美分的插头连接器。
几个串行 UART 为批量生产的 PC 芯片组 IC 增加的成本可以忽略不计,而将 DB-9 连接器连接到板边缘的主板的最终零售成本增加了几美元。PCB空间也有成本;板边的空间尤为宝贵。
没有标准方法可以探测连接到 RS-232 串行端口的设备是否存在。
对比 USB,在主板上仅仅存在端口不会导致/dev创建节点,但插入设备会导致创建,因为设备和主机操作系统之间存在相当复杂的协商。实际上,设备向操作系统宣布自己,因此udev可以通过/dev为设备创建适当的节点来做出反应。