AGX Orin dev kit CAN no signal on pins

I have the following setup :

  • A Jetson Orin AGX devkit (32GB) running Jetpack 6.2 (No custom board)

So in CLI in ran:

sudo busybox devmem 0x0c303018 w 0xc458 
sudo busybox devmem 0x0c303010 w 0xc400  
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
sudo ip link set can0 up type can bitrate 1000000
candump can0 &
cansend can0 123#12345678

But nothing is received, but if I take the internal loopback command with the loopback on parameter it does seem to work and I get the message back

I also tried the sudo /opt/nvidia/jetson-io/jetson-io.py approach and enabled the pins for can signaling there and let the unit reboot (saw in the boot up screen of the AGX that it loaded the custom pinmux like intended)

however, I retried a candump and cansend but again ended with no signal on the pins (checked with a logic analyzer)

After checking the logs after every trye these kebt up showing on the sudo dmesg:

[ 217.526751] mttcan c310000.mttcan can0: entered error passive state
[ 217.526759] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 217.526768] mttcan c310000.mttcan can0: IR 0x9810000 PSR 0x76d
[ 217.526791] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 217.526799] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[ 217.526823] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 217.526827] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[ 217.526858] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 217.526868] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[ 217.526892] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 217.526901] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x76d
[ 217.526945] mttcan c310000.mttcan can0: entered bus off state
[ 217.526953] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 217.526962] mttcan c310000.mttcan can0: IR 0xa000000 PSR 0x7e5

Hope you can help me get a CAN bus operational on the AGX Orin With Jetpack 6.2

Hi,
On Jetson platforms, we support using peripherals like CAN, SPI, I2C, UART… etc. for the user.
For CAN usage:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/HR/ControllerAreaNetworkCan.html
For the connection of peripheral on the devkit, please refer to expansion-headers guide and carrier board specification:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/HR/ConfiguringTheJetsonExpansionHeaders.html

For pin configuration, please refer to pinmux spreadsheet:
https://developer.nvidia.com/embedded/secure/jetson/agx_orin/jetson_agx_orin_pinmux_config_template.xlsm

By default, the configuration is used for the devkit. If you are using the custom carrier board, please configure it according to your custom board design.

There are also several examples which have been verified from us, please check
https://elinux.org/Jetson/L4T/peripheral/
Please share the full dmesg and device tree for us to check your status in detail.

Thanks!

Hi ae_spark,

If internal loopback test can run successfully, it means that you’ve configured CAN interface correctly.

How do you connect them at this moment?
Do you connect CAN transceiver in your setup?
If not, you have to get a CAN transceiver to transform CAN TX/RX to CAN-H/CAN-L for CAN protocol.

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