在Ubuntu上添加usbcan设备

1. linux下添加can

将usbcan插入电脑,使用lsusb查看电脑是否检测到该can设备,识别出的can硬件为PCAN-USB
在这里插入图片描述

使用sudo ip addr查看can口状态,可以看出can0处于down状态

在这里插入图片描述

加载can需要的内核模块

sudo modprobe can
sudo modprobe can_raw
sudo modprobe can_dev

查看添加后的内核模块lsmod | grep can

在这里插入图片描述

设置波特率和错误重连间隔sudo ip link set can0 type can bitrate 500000 restart-ms 100

启动can0,sudo ip link set up can0

再次使用sudo ip addr | grep can0查看can0口状态,此时can0已经处于up状态

在这里插入图片描述

使用can-utils中提供的工具测试can0是否可以使用了

2.开机自动设置can

  1. 开机自动加载can需要的模块

    修改boot时的加载的内核模块配置文件

    cd /etc/modules-load.d
    sudo vi modules.conf
    

    在modules.conf中添加can需要的内核模块

    在这里插入图片描述

  2. 自动设置can参数

​ NetworkManager对can的配置效果不好,使用systemd-networkd服务配置can

​ 使能systemd-networkd,sudo systemctl enable systemd-networkd

​ 启动sudo systemctl start systemd-networkd

​ 添加can接口参数,cd /etc/systemd/network,创建配置文件vi 80-can.network,配置文件名可以任意取,文件是按照字母顺序处理的,添加以下内容

在这里插入图片描述

​ 重启systemd-networkd服务,sudo systemctl restart systemd-networkd

  1. 设置完成后可以使用ip -details link show can0查看can0的信息

3.添加vcan

在Linux上还支持创建虚拟的CAN接口

  1. 手动添加vcan

    添加vcan-dev,sudo ip link add dev vcan0 type vcan

    设置mtu,sudo ip link set vcan0 mtu 16,canfd只需要将16改为72

    set-up,sudo ip link set up vcan0

  2. 开机自动设置vcan

    设置自动加载内核模块vcan,sudo vi/etc/modules-load.d/modules.conf,在文件末尾添加vcan

    创建vcan虚拟设备,在etc/systemd/network目录下创建80-vcan0.netdev,内容如下

    在这里插入图片描述

    创建配置文件vi 80-vcan0.network

    在这里插入图片描述

    重启systemd-networkd服务sudo systemctl restart systemd-networkd

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值