尝试从设备读取Raspberry Pi上的FT_DEVICE_NOT_FOUND-sudo无法正常工作

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

第一篇文章,随时欢迎进入我。

试图将FT_Open()用于FTDI设备。该功能在FTDI驱动程序的示例“读取”程序中使用,目前在该程序中失败。我在树莓派4上运行此程序,但也在Ubuntu上尝试出现相同错误。

在两个设备上,FTDI都在lsusb的结果中找到,显示了我需要连接的序列号。我尝试使用FT_Open()通过端口号打开,但这不起作用,返回了FT_DEVICE_NOT_FOUND的ftStatus代码。

[在运行示例'read'程序时,我试图使用sudo来纠正此问题,但是这不起作用,但是被提到是对先前问题的解决。

这里是代码和正在打印的错误消息。这与我的笔记本电脑和树莓派上的代码相同,它们都导致相同的问题。

    if(ftStatus != FT_OK) {
        /* 
            This can fail if the ftdi_sio driver is loaded
            use lsmod to check this and rmmod ftdi_sio to remove
            also rmmod usbserial
         */
        printf("FT_Open(%d): %d failed\n", iport, ftStatus);
        return 1;
    }

我期望它甚至不会打印,但是目前我正在得到

FT_Open(6): 2 failed.

关于做什么的任何想法?该FTDI设备的productId不同,因为它实际上是PLMS Developments出售的Nistune Consult Cable。我正在尝试通过Linux连接到它,目前仅支持Windows。

编辑:好的,所以我将要使用的FT232R芯片上的EEPROM重新编程为默认设置后,最终还是可以使它正常工作。

但是我尝试这样做而不需要这样做。我想将默认的vendorID与其他productID一起使用。以前,每次拔下设备电源时,都会重新加载ftdi_sio和usbserial模块。这将导致它永远无法正确连接。正如我在其他问题中看到的那样,可以解决此问题。

现在,我需要找到一种在Linux驱动程序软件中接受自定义productID的方法。我尝试更改所有似乎相关的信息,但又无法识别该设备。

c raspberry-pi serial-port ftdi d2xx
1个回答
0
投票

首先,您应该使用以下命令设置自定义VID-PID值。

ftStatus = FT_SetVIDPID(custom_VID, custom_PID);
© www.soinside.com 2019 - 2024. All rights reserved.