对于隐藏设备应用程序执行失败

问题描述 投票:1回答:1

我对USB设备编程非常陌生,因此,如果问题很傻,请接受我的道歉。

我有一个要在嵌入式应用程序中使用的简单USB设备(这是一个滤镜轮设备)。供应商为我提供了一个基于hidapi的c源代码。我试图首先在Linux PC上运行一个简单的应用程序。我可以成功构建该项目,但是在运行该项目时,它会在枚举步骤以et值-1终止。

设备已连接到我的计算机。我完全迷失了如何识别设备的任何建议,我们将不胜感激。

我不知道可以在此处添加哪些信息,应用程序如下所示:

int main()
{
    hsfw_wheel_info *devs, *cur_dev;
    devs = enumerate_wheels();
    cur_dev = devs;
    while (cur_dev) {
        printf("Device Found - type: %04hx %04hx serial_number: %ls\n",cur_dev->vendor_id, cur_dev->product_id, cur_dev->serial_number);

        cur_dev = cur_dev->next;
    }

enumerate_wheels是使用hid_enumerate的函数。

谢谢

c linux hid
1个回答
0
投票

感谢@shellter。我从使用libusb的hid.c更改为用于本机linux的hid.c,并通过了枚举步骤。现在,它无法打开设备(/ dev / hidraw0)。 open(path,0_RDWR)调用不会打开设备。

我认为这是权限问题?我读了几篇我应该通过setuid修复它的文章,对于某个应该与隐藏设备进行通信的程序,我应该如何更改此权限?我可以设置一个环境变量吗?

非常感谢。

© www.soinside.com 2019 - 2024. All rights reserved.