我在类似 zedboard 的平台上运行嵌入式 Linux。我需要为将插入其中的一些不同设备创建 udev 规则。
我在内核中安装了 gadgetfs 和 configfs,并将它们构建为模块。如果我加载模块,我就可以使用适当的 USB 设备,例如通过 USB 连接到笔记本电脑或其他设备的以太网。
当我想要支持热插拔并因此需要使用 udev 规则时,问题就开始了。因此,我运行了 udevadm Monitor,但插入任何 USB 设备时,它不会显示任何内核或 udev 触发器。如果我加载模块,我可以在模块加载时看到 USB 设备的内核/udev 触发器。
这是正常行为吗?我认为内核应该通过触发器报告 USB 已插入,无论我是否有支持它的模块。常规 USB 驱动程序也内置于内核中,但似乎根本不起作用,这就是我转而使用 gadgetfs 和 configfs 的原因。
有谁知道为什么我的 udev 在没有加载小工具模块的情况下不显示触发事件?如果插入 USB 时看不到触发事件,则无法自动热插拔。
我的USB控制器是chipidea,我在OTG模式下使用它。