FTDI的UDEV规则不完全正常
我知道这个问题已被多次询问,但我无法使其发挥作用。 我有一个FTDI串口USB转换器。 我在/etc/udev/rules.d/
生成了10-fhss-usb.rules
/etc/udev/rules.d/
:
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTTA5DMA", SYMLINK+="fhss", GROUP="dialout", MODE="0777", RUN+="echo USB CONNECTED!"
我还将我的用户添加到了dialout
组:
sudo usermod -a -G dialout $ USER
和groups $USER
返回:
jvgomez : jvgomez adm dialout sudo plugdev lpadmin sambashare
(plugdev组是在另一篇文章之后创建的)现在,当我连接USB时,运行ls -al
我可以看到:
$ ls -al /dev/fhss lrwxrwxrwx 1 root root 7 Jun 4 17:13 /dev/fhss -> ttyUSB0 $ ls -al /dev/ttyUSB0 crw-rw-r-- 1 root dialout 188, 0 Jun 4 17:13 /dev/ttyUSB0
echo USB CONNECTED!
消息永远不会显示。 当我使用screen /dev/fhss/
它立即说[screen is terminating]
。 为了使它工作,我必须运行chmod
$ sudo chmod a+rwx /dev/fhss
现在:
$ ls -al /dev/ttyUSB0 crwxrwxrwx 1 root dialout 188, 0 Jun 4 17:13 /dev/ttyUSB0
1)我错过了什么? 我仍然需要运行chmod,这是我想要避免的。 2)使用SUBSYSTEM=="tty"
和SUBSYSTEM=="usb"
什么区别?
欢迎任何帮助!
编辑:添加NAME =“my_device”如Usb中提出的udev规则从未为我工作过没有改变任何东西。
要在Ubuntu上进行FTDI突破:
使用root权限打开文件/ etc / group:
sudo nano /etc/group
之后,搜索tty:x5:
和dialout:x20:
将您的用户添加到此论坛,在每行前面输入您的用户名:
tty:x5:
dialout:x20:
您还可以使用接下来的两个命令来避免搜索文件:
sudo usermod -aG tty sudo usermod -aG dialout
其中
,是您的用户名。
最后,重新启动计算机。
如果要使用udev规则,请连接FTDI模块,然后运行:
lsusb
这将显示vendorID和productID。 例如:
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
其中8087是vendorID,0024是productID。
然后,创建一个这样的规则:
ATTRS{idVendor}="8087", ATRRS{idProduct}="0024", MODE="0660", GROUP="dialout"
我在Bit Bang模式下使用FT232RL芯片并遇到了相同的权限问题。 由于我不理解的原因,上面提出的规则对我不起作用。 然而,通过一些修改,我得到了它的工作。
希望这可以对某人有所帮助:
$ lsusb
:
Bus 001 Device 023: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
如上所述,我将用户添加到了dialout
和tty
: $ sudo usermod -aG dialout $USER $ sudo usermod -aG tty $USER
但是,/ /etc/udev/rules.d/99-libftdi.rules
的行是不同的:
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS="idProduct"=="6001", OWNER="user", MODE="0777", GROUP="dialout"
可能是关键的区别是SUBSYSTEM=="usb"
。