Socketcan timeout on Rpi5

I have installed RD version 2.5.0 on a Rpi 5 running Debian Bookworm 2024-11-19 64-bit using a waveshare dual canbus hat. I have socketcan running. I can cansend from can1 to candump on can0 (and vice-versa) if they are connected together.

However when I configure either can interface on RD I get a consistent timeout. Interestingly if I go to the cansocket settings page and run the Can Monitor I can see data I send using cansend from the other can interface but even in the monitor I get repeated Timeout Connecting messages. Data rate is 500k.

I’ve tried RD connected both to a car and a ecu simulator (can interfaces are jumpered together).

I imagine I’m missing something simple but have no idea what it is.

Very hard to say remotely why you are experiencing timeouts on SocketCAN connection. You can try to enable/disable CAN FD (Extended) on SocketCAN, but that is basically the only option available.

Also, using multiple SocketCAN connections on same CAN interface can cause other connections to hang, but that probably is not the case.

Thanks for replying. I did try CAN FD without change.

I have done some more reading and I think I had a misunderstanding of how RD works. I would like RD to directly run SAE J1979 CAN transactions over the socketcan interface (with the Raspberry Pi waveshare hat CAN interface connected to the OBD2 port CAN signals). I thought RD would automatically do this but I think I need a CAN Description file for it. Is this correct?

Yes, you always need an XML file unless you have selected one of the pre-defined ones from connection settings.