我正在研究在 Linux 中与 USB 设备进行通信的方法,并且不希望编写 Linux 内核驱动程序。我知道 libusb 存在并且是一个可以工作的用户级库,但是我们的嵌入式设备不支持 usbfs(并且更改内核以添加支持真的很痛苦)。
所以我的问题基本上是这样的:是否可以/建议通过直接读取和写入 /dev/USB 或与 USB 设备对应的 udev 文件与 USB 设备进行通信,从而绕过对自定义 Linux 驱动程序和 usbfs 的需求?
我希望在 /dev/USB 或 udev 设备文件打开后,只需通过文件类型的读/写命令直接读/写协议数据包就可以使用 USB 设备协议进行通信。
请提出想法和建议。
跟进:
由于我需要与之通信的 USB 设备是 USB HID 类设备,因此我可以通过直接读取/写入 /dev/hidraw0(或适当的 /dev/hidraw 设备)来使用 libudev 和标准 Linux USB HID RAW 驱动程序. 无需为简单的 USB HID 设备编写自定义驱动程序。