Jetson Xavier NX device tree editing and CAN enabling


I have been trying to configure CAN-BUS on the JETSON XAVIER NX development board with a CAN transceiver SN65HVD230.

My requirement is to to make a change on CAN clock rate in device tree. I have details that what edit we have to made in order to do that. I followed the following procedure.

Actually i am facing multiple issues. The method we followed is downloading the jetson os and all like cuda using sdk manager. And then we edited the dtbs in the installed folder in the host pc. Then we run the flash command from tools folder. So i got a .img sd-card image. And then we put that in the sdcard by flashing using etcher. Now i am facing 2 problems:

  1. CAN is working and i can able to communicate. But some times CAN goes to the BUS off state. When we check the CAN status its showing CAN bus off state. Some time CAN goes to Error-passive state from Error-active. And the TX counter is increasing.

  2. After building the jetson using above mentioned method, Now when we run the application its asking for some dependency files ( .so ). But that dependencies and all are include in the sd-card image that we downloaded from Jetson download.

Can you suggest a method that we can able to edit the dtbs without kernel building. Because in kernel we dont want any edit. So how we will get a source which includes all this files including kernel, dtbs and dependency files. And what we need to do to build the image.

Thank you.

hello aravind.m90,

please refer to developer guide, CAN (Controller Area Network).
you may also download r32.5 L4T Driver Package (BSP) Sources for the source files, and migrate your modification to build the device tree blob for the usage.

What do you know about the CAN bus you are connecting to? Does it have terminators installed at each end of the bus? What you are describing sounds like the kind of problems you would see with too little or too much termination. You need to have appropriate terminators installed. Usually 120 Ohm.