问题描述
自从我从Ubuntu 10.04(Lucid Lynx)更新到Ubuntu 12.04(Precise Pangolin)以来,如果我没有root用户访问权限,则无法访问/ttyUSB0中连接的设备。
更具体地说,我使用USB-to-serial com端口转换器使用名为PuTTY的软件访问和配置Cisco设备。碰巧,由于我升级到12.04,因此当我以gksudo putty
的身份运行PuTTY时,它只会看到连接的设备。如果不是,则显示“无法连接到端口/ttyUSB0”。
我已经设法通过chmod 666
更改了权限,并且可以使用,但是如果我断开USB设备的连接并重新连接,它只能回到根目录。如何永久允许非root用户访问?我有一个线索,可能是通过udev规则,但我不知道该怎么做。
观察:制造商和驱动程序是”PROLIFIC”
最佳方案
这可能与modemmanager as detailed here有关。
我删除了(sudo apt-get remove modemmanager
),它解决了我的问题。
但是,您仍然需要属于dialout
组。
次佳方案
该设备很可能已连接到用户组dialout
。只需将您的用户添加到拨出组中,即可对设备拥有适当的权限。
sudo usermod -a -G dialout $USER
(您可能需要注销并重新登录,以使新组生效。)
无需弄乱权限或udev规则。
第三种方案
sudo adduser <the user you want to add> dialout
sudo reboot
由”Try now”提及对我有用。检查您是否将dialout
作为ttyUSB0
的组:
ls -l /dev/ttyUSB0
在我的情况下,输出为:
crw-rw---T 1 root dialout 188, 0 Feb 12 12:01 /dev/ttyUSB0