为什么“lspci”命令没有列出串行端口?

为什么“lspci”命令没有列出串行端口?

我在VirtualBox中启用了两个串口,然后lspci在Ubuntu中输入命令,结果是这样的:

在此输入图像描述

串口没有列出来,是不是因为串口不是PCI总线的一部分?

答案1

是因为串口不是PCI总线的一部分吗?

是的。 x86 硬件上的传统 PC 串行端口通过旧式 ISA I/O 端口和中断与应用程序连接。

请记住,在绝大多数情况下,RS-232 数据速率会降​​低到 kHz 范围。 PCI 对 RS-232 没有优势。

附加 PCI 串行端口卡可能会出现在lspci输出中,但这更多的是关于可用插槽,而不是 PCI 到 RS-232 的适用性。

答案2

“为什么”已经得到解答,但让我补充一下,您可以使用以下命令列出 ISA 总线上的串行端口lspnp(如果您已安装):

$ /sbin/lspnp
00:00 PNP0c01 System board
00:01 PNP0c02 Motherboard resources
...
00:09 PNP0501 16550A-compatible serial port
...

您还可以在 中找到这些/sys/bus/pnp/devices/,或者您可以将 I/O 端口 ( /proc/ioports) 或内存映射 I/O ( /proc/iomem) 作为根查看。

旧式 ISA 总线实际上实现为LPC总线或当前的计算机,并将成为嵌入式串行接口将来。

相关内容