gpt4 book ai didi

linux - 防止 usbhid 声明设备

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:15:57 24 4
gpt4 key购买 nike

为了调用我的 USB 驱动程序的 _probe 函数,我需要先阻止 usbhid 声明它。为此,我编写了一个取消绑定(bind)设备的 UDEV 规则。

SUBSYSTEM=="usb", DRIVER=="usbhid", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="ffff", RUN="/bin/sh -c 'echo -n $id:1.0 > /sys/bus/usb/drivers/usbhid/unbind'"

虽然这可行,但分发驱动程序的标准做法是什么?我还必须打包这条规则吗?有没有办法让我自己的驱动程序优先于 usbhid?

最佳答案

内核根据 MODULE_DEVICE_TABLE 为每个设备选择驱动程序。 HID 设备表被认为比通用 USB 设备表更具体,因此如果您的设备声明 USB HID 设备类,那么您的驱动程序可能也应该包含一个 HID 类 MODULE_DEVICE_TABLE。

匹配算法优先于特定的匹配而不是通用的基于类的匹配,所以如果你的设备表条目包含一些它独有的 USB 或 HID 设备属性,你的驱动程序应该优先于通用的 usbhid 驱动程序.

如果您的 idVendor 和 idProduct 标识符实际上都是 0xffff,那么我猜您正在处理的原型(prototype)设备还没有正确的 USB 供应商/设备标识符。你会想要解决这个问题。

关于linux - 防止 usbhid 声明设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51858074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com