解决USBCAN在没有sudo权限下一直打开失败的问题

背景:使用USBCAN控制电机,USBCAN通过usb接口连接工控机,工控机是ubuntu系统,运行修改好后的C++程序发现一直打开设备失败,是一直失败不会成功
在这里插入图片描述
但是用sudo ./test 就能很快成功打开。

问题原因:
查阅了许多网上资料,原因好像是普通用户操作linux系统的外设需要权限,所以在加有sudo的条件下才能成功打开设备。

解决方法:
法一:
在终端中输入chmod指令,指定在当前终端下某个外设挂载点的权限,指令如下:

 sudo chmod 777 /dev/bus/usb/001/005

缺点:重启后需要重新配置
法二:
用udevadm查看设备信息

sudo udevadm info --attribute-walk --name=/dev/bus/usb/001/005

在这里插入图片描述1)进入/etc/udev/rules.d/目录下

cd /etc/udev/rules.d/

2)在该目录下创建对应外设的规则文件,后缀为.rules,名字自己取。以usbcan为例子,创建usbcan.rules文件

sudo touch usbcan.rules
sudo gedit usbcan.rules

3)在规则文件下输入以下信息

KERNELS==“1-3”,SUBSYSTEMS==“usb”,ATTR{idVendor}“0c66”,ATTR{idProduct}“000c”,MODE:=“0777”, SYMLINK+=“usbcan”

注意这些信息是在上面查到的你自己设备的信息,不要直接照搬上面的
4)保存,退出规则文件。然后重启udev服务并重新插拔外设的USB

sudo service udev reload
sudo service udev restart

参考:
1)https://blog.csdn.net/sinat_14854721/article/details/115789609
2)https://blog.csdn.net/wjhtu_csdn/article/details/116926645
3)https://blog.csdn.net/bigdog_1027/article/details/79009603


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值