【问题标题】:udev rules for FTDI device are not working in VMware Ubuntu 16.04FTDI 设备的 udev 规则在 VMware Ubuntu 16.04 中不起作用
【发布时间】:2018-06-12 15:21:55
【问题描述】:

我已经使用 Ubuntu 16.04 设置了一个 VMware (14.1.1) 环境,我试图通过 FTDI 的 D2xx 驱动程序控制一些 FTDI 设备。但是,我无法打开我的 FTDI 设备或与之通信。使用

FT_CreateDeviceInfoList(&NumDevs);

告诉我有可用的设备。但是,如果我尝试用

打开它
ftStatus = FT_OpenEx(const_cast<char*>(tmp),FT_OPEN_BY_SERIAL_NUMBER, &keyHandle);

它给了我一个错误(ftStatus = 2)。据我所知,这个错误意味着没有可用的设备。

如果我从 FTDI 驱动程序执行“EEPROM/读取”示例,一切正常。唯一的区别是我以超级用户身份执行它(sudo ./read)。因此,我制定了一条 udev 规则,希望能解决我的问题:

cd /etc/udev/rules.d

cd /etc/udev/rules.d

SUBSYSTEMS==”usb”,  ATTRS{idVendor}==”0403”, ATTRS{idProduct}==”faf0”, 
GROUP=”student”

sudo udevadm control –reload-rules

但是,问题仍然存在。如果我在非常相似的物理 Ubuntu 16.04 机器上运行完全相同的东西,那么一切都适用于这个 udev 规则。

在使用虚拟系统时如何定义这些规则有区别吗?但我还有一些其他 FTDI 设备可以很好地遵守这条规则:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="a8b0", GROUP="users", MODE="0666"

我遵循了 FTDI 的安装指南:http://www.ftdichip.com/Support/Documents/AppNotes/AN_220_FTDI_Drivers_Installation_Guide_for_Linux.pdf

【问题讨论】:

    标签: linux vmware udev ftdi d2xx


    【解决方案1】:

    经过一段时间的尝试,我实际上找到了解决方案。我发现在更改之间关闭系统很重要。

    我将我的用户添加到 tty 和拨出组:

    sudo usermod -aG tty user
    sudo usermod -aG dialout user
    

    这应该已经足够了。但是好像不行,所以我删除了我最后的udev规则并添加了:

    sudo gedit 99-ftdi.rules
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="faf0", GROUP="users", MODE="0666"
    sudo udevadm control --reload
    

    然后重启整个系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 2014-02-15
      • 2013-10-11
      相关资源
      最近更新 更多