为什么我有 32 个 ttyS

为什么我有 32 个 ttyS

我似乎有 ttyS0 一直到 ttyS31,我的机器上唯一真实的(好吧是虚拟的,但至少它们能做一些事情)串行端口是 ttyACM0 和 rfcomm0,所有这些 ttyS 是做什么的?

答案1

通过内核配置设置 CONFIG_SERIAL_8250_RUNTIME_UARTS,串行 tty 的最大可能数量被硬编码为 32

仅当 8250 UART 驱动程序在机器上找到串行 UART 时,/dev/ttyS* 字符设备才会发挥作用。

内核配置了如此高的值是因为有些机器支持那么多的 UART。

答案2

我想你正在研究/dev。ttyS* 设备始终可用,即使不可用时也是如此。事实上,如果你尝试写入它们,你会得到 EIO:

# echo > /dev/ttyS12
-bash: echo: write error: Input/output error

相关内容