Setting up CAN

Hi, I’m using two Nvidia Jetson AGX Orin devices, and I’m trying to communicate between them using CAN. I’m attempting to utilize the GPIO can0 on both of them, but encountering some issues.

Below is the script I use to initialize them:

busybox devmem 0x0c303018 w 0x458
busybox devmem 0x0c303010 w 0x400
busybox devmem 0x0c303008 w 0x458
busybox devmem 0x0c303000 w 0x400

sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan

sudo ip link set can0 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on
sudo ip link set can0 up

However, there is no electronic signal on pin 29 and 31. The GPIO pins are connected to the CAN transceiver. I’m monitoring the signal using Saleae, and I’m concerned that there is absolutely nothing.

Even when using the loopback mode, there is no signal, and even the Loopback test from (Controller Area Network (CAN) — Jetson Linux<br/>Developer Guide 34.1 documentation) doesn’t work (there is nothing in candump). I can send 10 messages, and then I get an error that the buffer is full.

Any help will be appreciated.

Hi szymon.bogucki,

Are you using the devkit or custom board for AGX Orin?
What’s your Jetpack version in use?

The loopback test here is internal loopback test so that there would not any packet could be captured externally.

How do you send and receive the CAN packet?
Please also share the block diagram of your connection for further check.

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

*** Please note that this reply is generated by LLM automatically ***

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***