gpt4 book ai didi

linux - FTDI D2XX FT_DEVICE_LIST_INFO_NODE 结构全为零

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:05 25 4
gpt4 key购买 nike

我正在尝试让 Matlab MEX 在 Linux 中运行。它使用 FTDI 的 D2XX 库 v1.3.6 ( Documentation )。

FT_CreateDeviceInfoList(&ftdi_count) 给我的 ftdi_count 为 1,因此检测到了 FTDI 芯片。

但是,当从 FT_GetDeviceInfoList(device_list, &ftdi_count) 遍历设备列表时,我的 FT_DEVICE_LIST_INFO_NODE 结构全为零,因此显然代码找不到具有它正在寻找的描述:

(gdb) p *p_device
$3 = {Flags = 1, Type = 3, ID = 0, LocId = 0, SerialNumber = '\000' <repeats 15 times>,
Description = '\000' <repeats 63 times>, ftHandle = 0x0}

我的第一个猜测是没有设置 udev。但是问题仍然存在

SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}="6014", MODE="0666"

lsusb -v 可以访问以下值:

Bus 001 Device 012: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0x6014 FT232H Single HS USB-UART/FIFO IC
bcdDevice 9.00
iManufacturer 1 FTDI
iProduct 2 [company that provided me with their] Kit v3
iSerial 3 FT266WVA
bNumConfigurations 1
[...]

我该怎么做才能使 FTDI 功能发挥作用?

最佳答案

问题是 Linux 会自动加载 VCP 驱动程序 (ftdi_sio)。

在问题中How can I get Linux device with FTDI D2XX driver API , Akira 展示了一个来自 A blog 的 udev 脚本卸载那个驱动程序。我修改它以与我的 FT232H 芯片一起使用,它只有一个端口:

ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", RUN+="/bin/sh -c 'echo -n $kernel:1.0 > /sys/bus/usb/drivers/ftdi_sio/unbind;'"

关于linux - FTDI D2XX FT_DEVICE_LIST_INFO_NODE 结构全为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44529376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com