linux 下 HID 设备 节点文件 访问 查找 VID PID
如题:
我的 HID 设备在windows XP 系统可以枚举,找到,通过 readfile,writefile读写
在linux 下 枚举成功,但是在 /dev 目录下,看到的节点文件 是“1-1”,可以 open,
但是 ioctl时,拿到的VID PID 都是 0 代码如下:
int fd = 0;
struct hiddev_devinfo device_info;
if (argc != 2)
{
fprintf(stderr, "usage: %s hiddevice - probably /dev/usb/hiddev0\n", argv[0]);
exit(1);
}
if ((fd = open(argv[1], O_RDONLY)) < 0)
{
perror("hiddev open");
exit(1);
}
else
{
printf("Open_OK!");
}
ioctl(fd, HIDIOCGDEVINFO, &device_info);
printf("vendor 0x%04hx product 0x%04hx version 0x%04hx ",device_info.vendor, device_info.product, device_info.version);
问题:
1。hid 设备枚举后,在 /dev下生成的 设备节点文件 是 由 系统自带的 HID 设备驱动自动生成的吗?
设备节点文件的名称是 怎么确定的?比如我的设备 是“1-1”,不解。
2.对 hid的操作是 依据 /dev下的设备节点文件名,直接 open 操作,还是要像 windows XP 下一样,找 GUID ,
在匹配 VID PID?
3. linux 下有没有相关的 库 去操作 hid 设备?
------解决方案--------------------友情帮顶..
------解决方案--------------------需要创建设备文件,一般是:
mknod /dev/usb/hiddev0 c 180 96