我似乎有 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