如何解决 CAN 总线接口 Linux 18.4.4LTS 的“未找到 updown 配置”问题

如何解决 CAN 总线接口 Linux 18.4.4LTS 的“未找到 updown 配置”问题

我正在尝试让 SocketCAN 接口工作。我添加了 slcan0 适配器并尝试以candump slcan0我确定 CAN 设备正在运行的比特率运行。我没有看到终端中打印任何数据,但我确定 CAN 设备正在以 200Hz 的频率发送数据。

我正在使用 Lawicel CANUSB 设备并遵循以下步骤:http://pascal-walter.blogspot.com/2015/08/installing-lawicel-canusb-on-linux.html

绑定接口后,当我打印系统日志时,得到以下信息:

May 26 10:11:33 username gnome-software[3664]: Failed to load snap icon: local snap has no icon
May 26 10:11:34 username gnome-software[3664]: message repeated 4 times: [ Failed to load snap icon: local snap has no icon]
May 26 10:15:43 username systemd[1]: Started Session 3 of user aceinna.
May 26 10:15:57 username slcand[3923]: starting on TTY device /dev/ttyUSB0
May 26 10:15:57 username slcand[3923]: attached TTY /dev/ttyUSB0 to netdevice slcan0
May 26 10:15:57 username slcand[3923]: netdevice O#015 renamed to slcan0
May 26 10:15:57 username NetworkManager[1543]: <info>  [1590513357.4839] manager: (slcan0): new Generic device (/org/freedesktop/NetworkManager/Devices/4)
May 26 10:15:57 username systemd-udevd[3925]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
May 26 10:15:57 username NetworkManager[1543]: <info>  [1590513357.4957] devices added (path: /sys/devices/virtual/net/slcan0, iface: slcan0)
May 26 10:15:57 username NetworkManager[1543]: <info>  [1590513357.4958] device added (path: /sys/devices/virtual/net/slcan0, iface: slcan0): no ifupdown configuration found.
May 26 10:16:23 username wpa_supplicant[1539]: wlp59s0: WPA: Group rekeying completed with bc:ee:7b:57:ed:fc [GTK=CCMP]
May 26 10:16:23 username wpa_supplicant[1539]: wlp59s0: WPA: Group rekeying completed with bc:ee:7b:57:ed:fc [GTK=CCMP]
May 26 10:17:01 username CRON[3944]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

问题是“未找到 ifupdown 配置”

如何配置 CAN 接口的 ifupdown 配置?

我尝试过的一件事是将以下几行添加到 /etc/network/interfaces

auto can0
iface can0 inet manual
        #pre-up ip link set $IFACE type can bitrate 125000 listen-only off
        pre-up /sbin/ip link set $IFACE type can bitrate 250000 triple-sampling on
        up /sbin/ifconfig $IFACE up
        down /sbin/ifconfig $IFACE down

注意:绑定接口时我尝试使用 can0 作为适配器名称,以便与 /etc/network/interfaces 中的接口名称匹配。

我还使用更新了 ifupdown 包

apt-get ifupdown

有人能指出正确的方向吗,我应该看什么?

提前致谢。

答案1

我最初尝试将我的 CAN 收发器连接到 Linux 并使用打印 CAN 数据包candump

当我使用以下方式将 CAN 接口绑定到 slcan 后,出现了此错误消息sudo slcand -o -c -f -sX /dev/ttyUSBX slcan0

此错误出现在 syslog 文件中,请使用以下命令sudo tail -n 10 -f /var/log/syslog

事实证明,当我在下一步中将 SocketCAN 接口设置为 UP 时,此问题得到解决sudo ip link set up slcan0

我想未发现 ifupdown 配置错误没有让 candump 打印 CAN 消息。我错了。问题出在 CAN 终端电阻上。我的 CAN 网络没有终端电阻。只要我在 CAN 设备中启用终端电阻,我就能够使用candump

在这里记录这个问题以防将来有人遇到这个问题。

相关内容