我想创建负责获取/设置一些 USB 设置的 Linux 应用程序,尤其是负责以下设置的设置:
USB 端口
USB 主机 Controller 和 USB 驱动
USB 设备
我遵循了 linux api 文档:https://www.kernel.org/doc/html/v4.14/driver-api/usb/usb.html我发现可以通过ioctl来完成 我找到了一个 ioctl 请求列表,例如 USBDEVFS_GETDRIVER。
我发现如果我想要第一个小测试它可以是这样的:
struct usbdevfs_getdriver usbdriver;
int fd = open("device_file_name", O_RDWR);
ioctl(fd, USBDEVFS_GETDRIVER, (struct usbdevfs_getdriver*) &usbdriver);
这是正确的方法吗?我代码第二行的 device_file_name 应该是什么?
最佳答案
字符串 device_file_name
应该替换为 USB 设备节点文件的路径。您提到的文档解释了此类文件的路径类似于 /dev/bus/usb/BBB/DDD
。
您应该检查 open
和 ioctl
返回的值以查看操作是否成功。
关于c - USB Linux API : call ioctl requests from user space app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56950646/