CAN bus issues

I have a Jetson Orin Nano Developer Kit with Jetpack 5.1.2 installed. I’m trying to connect it to a TALON SRX controller through CAN using a Waveshare SN65HVD230. I’ve followed the steps in Controller Area Network (CAN) — Jetson Linux Developer Guide documentation (nvidia.com) and I’m doing:

sudo busybox devmem 0x0c303018 w 0x458
sudo busybox devmem 0x0c303010 w 0x400

sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
ip link set can0 type can bitrate 500000
ip link set can0 up

After that, by typing ifconfig, I can see the can0 up; but when I try sending messages with cansend, by using candump I cannot see anything and the controller doesn’t receive any signals. Should I abilitate CAN communication in other ways?Thank you

Hi user1258552,

Have you verified the internal loopback test on Orin Nano devkit before connecting to TALON SRX?
(you don’t need to connect any external cable to verify internal loopback test)

Could you share the block diagram of your connection with TALON SRX?

It behaves in a strange way: if I start by doing the loopback test, it works and I can see the sent message twice as it should be. After that if I set the can0 down then reset it without the loopback function on and put it up again, I see it keeping sending and receiving messages even if the TALON doesn’t sense anything. I don’t know if maybe the loopback function is still active.
On the other hand, when, after rebooting the Jetson, I initialize at first the can without the loopback function on, e.g. with ‘ip link set can0 type can bitrate 500000’, then set can0 down, initialize again can0 with the loopback function on and everything disconnected, I cannot see the messages anymore.


There is also a 120 Ohm resistor between the Waveshare and the Talon

I’m curious about your connection on TALON SRX.
Why you short CANH/CANL at the right side of TALON SRX block?
I think they should connect to your device(motor!?).

Yes, I’m sorry, I haven’t drawn all the components, the TALON SRX I’m using has 4 pair of cables, 2 pair for CAN bus, 1 for power supply and 1 for controlling the device.

It is my first experience with CAN bus but for what I understood, there should be a main line with CANH and CANL with a 120 Ohm resistor to each termination and all the devices have to be connected to the main line, here a better schematic:

Hi, please check with vendor if the 120ohm is correct. And between Orin nano and device, it should be TX (nano)-> RX (device), RX (nano) → TX (device). Please check if your connection is correct.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.