我想创建负责获取/设置某些usb设置的Linux应用,尤其是负责以下内容的设置:
USB端口
USB主机控制器和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应该是什么?
答案 0 :(得分:0)
device_file_name:应该是USB挂载的文件。通常,它在/ mnt /下。 您可以使用命令dmesg。
答案 1 :(得分:0)
字符串device_file_name
应该替换为USB设备节点文件的路径。您提到的文档说明,此类文件的路径类似于/dev/bus/usb/BBB/DDD
。
您应该检查open
和ioctl
返回的值,以查看操作是否成功。