![当 USB 鼠标插入 Linux PC 时内核会做什么?](https://linux22.com/image/172953/%E5%BD%93%20USB%20%E9%BC%A0%E6%A0%87%E6%8F%92%E5%85%A5%20Linux%20PC%20%E6%97%B6%E5%86%85%E6%A0%B8%E4%BC%9A%E5%81%9A%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我正在尝试编写一个在检测到 USB 鼠标时加载的内核模块。我对这个问题很陌生,我用谷歌搜索了这个问题,但找不到任何合适的解决方案。
谁能解释一下这个流程吗?
答案1
非常笼统的问题,所以非常肤浅的答案:
USB 事件冒泡到处理新 USB 设备的内核部分。这涉及内核中可以按需加载模块的部分。这反过来会查找具有alias
适合 USB 供应商和产品 ID(或其他 USB 字段)的模块。它还可以通过USB类别来决定。
许多 USB 鼠标都是 HID(人机接口设备)标准 USB 设备。在这种情况下,HID 层启动,内核将读取鼠标的 HID 描述符,并相应地解释 HID 事件。
因此,如果您可以在问题中包含有关它是什么类型的 USB 鼠标(通过lsusb -v
)以及为什么它不能与可用驱动程序一起使用的信息,那将会很有帮助......