Jetson Orin CAN Bus Access

Hi, I wanted to ask if anyone has had success accessing the CAN Buses on the Orin.

I have connected a CAN bus to CAN0 with following pinouts:

GND: Pin 30 (GND)
3.3V: Pin 17 (3.3 VDC)
CAN RX: Pin 29 (CAN0_DIN)
CAN TX: Pin 31 (CAN0_DOUT)

I have also tried a similar setup for CAN1.

Terminal commands run are:

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

after performing these steps, candump can0 and candump any return nothing. The device show up on ifconfig, but neither transmits nor receives anything.

The CAN is continuously transmitting, and confirmed to work, it was previously being used with a Jetson Xavier, where it output without problem.

Do the pins need to be assigned in the register similar to the Xavier? (Enabling CAN on Nvidia Jetson Xavier Developer Kit | by Ramin Nabati | Medium) According to the manual and JetsonHacks, it should work out of the box.

Thanks

Please refer to Controller Area Network (CAN) — Jetson Linux
Developer Guide 34.1 documentation (nvidia.com)
, that should be the same.

1 Like

Thank you, I got it to work.

For anyone with the same issue, the pins indeed need to be assigned in the register as with the Xavier.

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

does the trick.

2 Likes

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