I've got the RPi 3 model B with raspian lite.

I've got a PiCAN 2 shield attached to my RPi and I'm using the screw terminals to connect to an ECU with an oscillator to monitor to verify. With the oscillator I can see patterns that represent CAN packets being sent. I can affect that pattern on the oscillator by sending packets of my own. My issue is I'm not able to candump nor cansniffer to see the packets being exchanged. Here is the manual I've followed thus far, I've seen some people mention in the /boot/config.txt it's best not to include the -overlay bit. I've done it with and without as well as using different values for the oscillator and interrupt flag.

The candump and others I have mentioned before come from the following repository. Which the manual I previously linked also has a copy off that you can download from there. I've used both versions of these as well. candump can0 is the command I use and the network interface seems to work fine but it just hangs as if it's waiting for CAN traffic that isn't there.

I've no idea what's wrong, no errors to search for or anything else. I'm at a complete loss. Any ideas or advice would be greatly appreciated.

What solved this for me was to terminate the CAN bus. Although the manual says to solder a 2-way jumper onto JP3, I found that just using a simple male-to-male jumper wire was enough to introduce termination to the CAN bus.

Furthermore, when I had two Raspberri Pi units connected via CAN using two PiCAN2 hats ("back-to-back"), they only needed one of them to be terminated. Without termination, no packets were being displayed by candump, but with termination of one or both PiCAN2s, all packets were being displayed.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.