RPI / Raspbian SocketCAN配置问题

问题描述

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驱动程序(最终完成制作,没有错误) -vcan似乎工作正常-已使用can-utils使用此便捷的虚拟can适配器成功发送和接收了测试数据包

我可以最初设置can套接字:

sudo modprobe can

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

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

很明显,我缺少了一些东西,但无法弄清楚是什么。我注意到其他人也遇到过类似的问题(尽管硬件不同)。请告知解决方案和TIA。

解决方法

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

请按照以下步骤操作:

如果您不再拥有 linuxcan tarball,请再次下载它: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 link 命令应该可以工作了。

,

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