【问题标题】:RPI/Raspbian SocketCAN configuration issuesRPI/Raspbian SocketCAN 配置问题
【发布时间】:2020-09-08 07:04:44
【问题描述】:

这里是 Python 和 RPi n00b。试图让 CANopen 在我的 RPI 上工作,并认为我已经完成了 8/10 的通信。

目标设备是一个 RPi 3+,安装了 Raspbian Buster 和 5.4.51-v7+ linux 内核,连接到 Kvaser Leaf USB CANopen 适配器。众所周知,CANopen 适配器硬件很好,可以很好地与 Windows 软件配合使用。

相关信息: -安装can-utils -安装了python-can 4.0.0
- 似乎已经成功安装了 Kvaser 驱动程序(终于让 make 完成而没有错误) -vcan 似乎工作正常 - 使用 can-utils 使用这个方便的虚拟罐适配器成功传输和接收测试数据包

我可以先设置can socket:

sudo modprobe can

但是当我尝试初始化实际硬件时,它会失败并出现以下错误:

sudo ip link add dev can0 type can
RTNETLINK answers:Operation not supported

显然我错过了一些东西,但不知道是什么。我注意到其他人也有类似的问题(尽管硬件不同)。请告知解决方案和 TIA。

【问题讨论】:

  • 是什么让您认为它与软件有关,而不是常见的 CAN 硬件初学者错误之一?见What are the most common causes of CAN bus communication errors?
  • 好点。我已确保 CAN 总线已通过两个活动节点和一个嗅探器(均在短电缆长度上)正确连接和终止,但根据 USB 适配器上的 LED 和系统无法启动 can0,总线甚至从未激活插座。当我说我迫不及待地想要解决硬件问题而不是配置错误时,请相信我!

标签: raspberry-pi can-bus socketcan canopen


【解决方案1】:

您需要卸载 CANlib,然后重新启动 socketcan 才能工作。

遵循以下程序:

如果您不再拥有 linuxcan 压缩包,请再次下载它:http://www.kvaser.com/downloads 解压linuxcan:tar -xf linuxcan.tar.gz 在 linuxcan 目录中,运行 make 以构建所需的所有内容,然后才能卸载 现在使用 sudo make uninstall 卸载 CANlib 您应该会看到类似以下内容:

Uninstalling pciefd
Remove SocketCAN Kvaser PCI driver from blacklist.
Uninstalling pcican2
Remove SocketCAN Kvaser PCI driver from blacklist.
Uninstalling pcican
Remove SocketCAN Kvaser PCI driver from blacklist.
Uninstalling virtualcan
Uninstalling usbcanII
Remove SocketCAN Kvaser USB driver from blacklist.
Uninstalling mhydra
Uninstalling leaf
Remove SocketCAN Kvaser USB driver from blacklist.
Uninstalling common

现在您可以重新启动,ip 链接命令应该可以工作了。

【讨论】:

    【解决方案2】:

    您需要卸载“Kvaser Linux Drivers and SDK”并安装"Kvaser SocketCAN device driver"

    【讨论】:

      猜你喜欢
      • 2018-02-12
      • 2019-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多