当前位置:首页>Linux>Linux环境下配置can0设备为开机自启动systemd服务

Linux环境下配置can0设备为开机自启动systemd服务

  • 2026-09-23 14:59:29
Linux环境下配置can0设备为开机自启动systemd服务
本文是前两篇CAN主题的后续,感兴趣的可以查看之前的文章:
1、Jetson Orin NX 外设CAN总线使用教程
2、Jetson Orin NX 外设CAN总线数据收发测试
创建自启服务文件
sudo nano /etc/systemd/system/can0.service
文件内容
[Unit]Description=CAN0 Interface Auto StartAfter=network.target[Service]Type=oneshotExecStart=/usr/sbin/ip link set can0 type can bitrate 500000ExecStartPost=/usr/sbin/ip link set can0 upRemainAfterExit=yes[Install]WantedBy=multi-user.target

加载开机启动

sudo systemctl daemon-reloadsudo systemctl enable can0.servicesudo systemctl start can0.service# 查看运行状态systemctl status can0.service

设备启动状态如下

● can0.service - CAN0 Interface Auto Start     Loaded: loaded (/etc/systemd/system/can0.service; enabled; vendor preset: enabled)     Active: active (exited) since Mon 2026-07-13 10:12:41 CST; 12min ago    Process: 1175 ExecStart=/usr/sbin/ip link set can0 type can bitrate 500000 (code=exited, status=0/SUCCESS)    Process: 1228 ExecStartPost=/usr/sbin/ip link set can0 up (code=exited, status=0/SUCCESS)   Main PID: 1175 (code=exited, status=0/SUCCESS)        CPU: 6msJul 13 10:12:41 ros-nx systemd[1]: Starting CAN0 Interface Auto Start...Jul 13 10:12:41 ros-nx systemd[1]: Finished CAN0 Interface Auto Start.

配套调试工具

sudo apt update && sudo apt install can-utils# 监听can0所有报文candump can0# 发送测试帧验证硬件cansend can0 123#1122334455667788
重启系统验证
sudo reboot
系统开机成功后验证是否已自动开启
ifconfig
可以看到设备状态已经变为UP
can0: flags=193<UP,RUNNING,NOARP>  mtu 16        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)        RX packets 0  bytes 0 (0.0 B)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 0  bytes 0 (0.0 B)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0        device interrupt 200

最新文章

随机文章