0

我有一些只支持 USB 1.1 的旧电脑。板载有uhci控制器。据我所知,没有内置 USB 集线器。uhci 控制器有 2 个物理 USB 端口。

但是当 linux 启动时,它显示它识别出 2 端口 USB 虚拟根集线器。我想知道这个“根集线器”是否是 USB 堆栈的某种抽象层?当板载没有这样的设备时,linux如何识别根集线器?

这个虚拟根集线器是否对这 2 个 USB 端口进行了某种映射,只是为了使 USB 堆栈更易于编程?

4

1 回答 1

1

是的,你的想法是正确的。没有单独的集线器设备。

简化:USB 架构区分主机和设备。在主机中有主机控制器。你的是UHCI类型。根集线器是主机控制器架构的一部分。简洁的描述在这里。完整的详细信息可在USB 2.0 规范中找到。可能需要注意的是,根集线器抽象是 USB 主机规范不可或缺的一部分,不仅仅是 linux USB 堆栈使用这种抽象。

诸如 linux 之类的软件将知道如何探测主机控制器硬件,它会读取提供必要详细信息的寄存器,例如存在多少端口。

这里的最佳答案中有一些额外的好信息。

于 2013-09-05T15:43:22.317 回答