前言
这个系列是记录我个人在学习过程中,遇到的一些问题,并记录了我成功的解决办法。
网站上,对于域控制器的使用介绍相对较少,这是基于arm64架构的Ubuntu系统,有些部分会略有区别,所以故此记录。
我使用的域控是Ubuntu20.04系统
遇到的问题
测试can通信接口是否正常时,输入sudo ip link set can0 down与sudo ip link set can0 up时,均会报错rtnetlink answers:device or resource busy。
即,无法关闭与开启can0通道。
如下是解决办法
1.先输入
sudo su
su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
此处就是将系统默认为root账户以增加权限
2.然后输入
sudo ip link set can0 down
sudo ip link set can0 up
此时,已重启can0通道
3.验证通道是否可用
candump can0
是一个用于接收和显示CAN总线数据的Linux命令。它可以监听指定的CAN接口(比如can0)上的CAN帧,并将接收到的CAN帧以文本形式显示出来。
此处我们可以使用另一台设备,如使用Windows设备+can卡的组合,连接can0通道后使用can卡连续发送数据,此时我的域控上已经可以显示can卡发来的报文。