2017-06-13 12 views
0

LinuxでMatlab MEXを実行しようとしています。 FTDIのD2XXライブラリv1.3.6(Documentation)を使用しています。FTDI D2XX FT_DEVICE_LIST_INFO_NODE構造体がすべて0です

FT_CreateDeviceInfoList(&ftdi_count)は、ftdi_countが1であるため、FTDIチップが検出されます。

(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} 

私の最初の推測では、ということでした:FT_GetDeviceInfoList(device_list, &ftdi_count)からデバイスリストを反復処理するとき

しかし、私のFT_DEVICE_LIST_INFO_NODE構造はそれほど明らかコードは、それが探しているの記述を持つデバイスを見つけることができない、すべてゼロです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の機能を動作させるために何ができますか?

答えて

0

問題は、Linuxが自動的にVCPドライバ(ftdi_sio)を読み込むことです。

質問How can I get Linux device with FTDI D2XX driver APIで、Akiraは、A blogからそのドライバをアンロードするためのudevスクリプトを表示します。私は、ポートが1つしかないFT232Hチップで動作するように修正しました。

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