所以我想知道:由于 libusb 提供对 USB 的用户空间访问,是否可以将现有的内核驱动程序移植到 libusb?
我确实理解它可能需要重写驱动程序,但是您认为可以编写一个依赖 libusb 来访问设备并将现有驱动程序链接到该设备的“虚拟内核”吗?本质上是在 libusb 和内核模块之间编写一个层,将内核 USB 命令转换为 libusb 命令。
何苦?例如,如果你想在 Android 上运行内核驱动程序,你需要确保它是为特定的内核版本/设备模型编译的。因此,应用程序将无法在所有设备上运行。另一方面,libusb 与大多数最新的 Android 设备完全兼容。