I am trying to get a Matlab MEX to run in Linux. It uses FTDI's D2XX library v1.3.6 (Documentation).
FT_CreateDeviceInfoList(&ftdi_count)
gives me an ftdi_count
of 1, so the FTDI chip is detected.
However, when iterating through the device list from FT_GetDeviceInfoList(device_list, &ftdi_count)
, my FT_DEVICE_LIST_INFO_NODE
structure is all zeros, so obviously the code cannot find the device with the description it is looking for:
(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}
My first guess was that udev wasn't set up. But the problem persists with
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}="6014", MODE="0666"
lsusb -v
has access to the values:
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
[...]
What can I do to make the FTDI functions work?