2-CH CAN-Bus(FD) Shield on Rpi4B

Hi,

Currently, I am trying to use your ‘2-CH CAN-Bus(FD) Shield’ product on rpi4b.

I’ve followed guide from here

However, when I check dmesg log(which is expected to prompt success for both of spi0.0 and 1.0), spi1.0 shows ‘crc error’.

As a result, I can use can0 only.
Is there any workaround or guidance about this problem?

Thank you.

Hi @koesnow, can you share the output after entering the command dmesg | grep spi .

https://wiki.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi/

Here is the result of ‘dmesg | grep spi’ what you mentioned.

[ 3.556098] mcp25xxfd spi0.0: MCP2517 successfully initialized.
[ 3.588383] mcp25xxfd spi1.0: CRC read error: computed: ec03 received: 0000 - data: be 00 04 00 00 00 00
[ 3.588403] mcp25xxfd spi1.0: CRC read of clock register resulted in a bad CRC mismatch - hw not found
[ 3.588423] mcp25xxfd spi1.0: Probe failed, err=84
[ 3.588489] mcp25xxfd: probe of spi1.0 failed with error -84

@koesnow I’m really sorry, we will update the software today. @turmary Please update the latest kernel drivers

I’m also using a raspberry 4 with the latest raspbian image dated: 2020-05-27
This is the response I get from dmesg | grep spi
[4.019666] mcp25xxfd spi1.0: CRC read error: computed : ec03 received: 0000 - data: be 00 04 00 00 00 00
[4.019682] mcp25xxfd spi1.0 CRC read of clock register resulted in a bad CRC mismatch - hw not found
[4.019702] mcp25xxfd spi1.0: prob failed, err=84

similar error messages for spi0.0

Raspberry pi 3 with raspbian image dated: 2020-05-27 seems to work ok.
Just make sure to Enable SPI via raspi-config before ./install.sh
Thanks

Did anyone manage to get both CAN0 and CAN1 up and running? @Baozhu
i’ve a more recent kernal and still getting only one CAN0 up on SPI0.0
I read that there is a mode B where both CAN channels can operate on a single SPI

here’s my erros on a RPI-3B+

pi@raspberrypi:~ $ uname -an
Linux raspberrypi 5.4.51-v7+ #1326 SMP Fri Jul 17 10:45:25 BST 2020 armv7l GNU/Linux
pi@raspberrypi:~ $ dmesg | grep spi
[    5.972140] mcp25xxfd spi0.0: MCP2517 successfully initialized.
[    6.030871] mcp25xxfd spi1.0: CRC read error: computed: ec03 received: 0000 - data: be 00 04 00 00 00 00
[    6.030895] mcp25xxfd spi1.0: CRC read of clock register resulted in a bad CRC mismatch - hw not found
[    6.030912] mcp25xxfd spi1.0: Probe failed, err=84
[    6.030967] mcp25xxfd: probe of spi1.0 failed with error -84
pi@raspberrypi:~ $ ifconfig can0
can0: flags=128<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

I’ve just instructed one person, and you can look at the discussion here. @grealish

1 Like

Raspberry 3B, recently bought 2-CH CAN_BUS Shield, problems are:

  1. SPI 0.0 (one of the CAN module) can not be initialized. Followed your post and installed seeed-linux-dtoverlays instead of the pi-hat and still facing the same issue. (all kernel are up to date)
    interestingly, I have unplugged the shield (when i reboot) it still says CAN1.0 successfully initialised
  2. CanGen not receiving any data (with the module could initialise) and often throw an error: “No buffer space available”
    @Baozhu can you please help to start the troubleshooting process?
    I have tried to linked it with an Arduino CAN shield but no success and tested it with an oscilloscope and couldnt see any signal