Raspberry Pi 4 B 上带有 MCP2515 的 CAN 屏蔽 Ubuntu

CAN-shield with MCP2515 on Raspberry Pi 4 B with Ubuntu

我想 运行 一个带有 MCP2515 控制器的 CAN shield 连接到 Raspberry Pi 4 Model B。它已经在 Raspbian 下工作但是因为我需要 ROS2 我想 运行 它现在在 Ubuntu (20.04) 下。在这里它不再起作用了。

我所做的是编辑 /boot/config.txt 并添加以下行:

dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=12000000,interrupt=25 
dtoverlay=spi-bcm2835

但是ifconfig can给出

can: error fetching interface information: Device not found

这个问题似乎与this one非常相似: spi-bcm2835 模块未显示为 lsmoddmesg 的输出:

[    1.428843] spi-bcm2835 fe204000.spi: could not get clk: -517

这是 Raspberry Pi 上 Ubuntu 的普遍问题吗?如果是这样,是否有解决此问题的方法?

对于 ubuntu,启动分区安装在 /boot/firmware 下,有 3 个文件:config.txt、syscfg.txt 和 usercfg.txt。 usercfg.txt被config.txt包含,推荐承载用户自定义配置。因此,将您的行保存在 usercfg.txt 中应该可以使它工作

usercfg.txt

ifconfig

candump by can-utils