Greetings.
I have been trying to make the CAN controllers (can0, can1) on the Xavier AX work for two weeks, but I am still facing some issues.
- The Xavier AGX I have is flashed with Jetpack 4.6
- After reading many posts, I changed the clock source in the kernel device tree to PLLAON, in order to get accurate baudrate. Then, I flashed the modified kernel, and got accurate baudrates as requested. I could double check that with
ip -s -d link show can0
. And I am getting the 500K baudrate that was set - I am using the this transceiver, as suggested in this tutorial
- The transceiver has 120 Ohm resistor
- The transceiver is connected to a motor driver (ZLA8030L), which talks CAN 2 and CANopen.
- I dynamically set the CAN registers using
busybox
and bring it up (both can0 and can1) - Using
ip -s -d link show can0
I can see that the bus state isERROR-ACTIVE
- I execute
candump can0
and then power on the motor driver -
candump
shows that a message is received703 [1] 00
. It’s basically the NTM state of the node (ID=3). Then, no more messages are shown. Each time I switch ON the motor driver, I receive the same message - Using
ip -s -d link show can0
I can see that the number of received packets increase -
The issue is in the sending! Whenever I try to send a message using
cansend
, nothing happens!.ip -s -d link show can0
shows no increase in the the Tx packets. I currently don’t have an oscilloscope to debug the signals. - I am not setting
fd on
- I tried to connect Tx to Rx for can0, and execute
cansend 123@abcdabcd
, but I got nothing oncandump can0
- I tried different boards of the same transceiver, but all show the same issue. I can receive a message when I switch on the motor driver, but I am unable to send messages
- Could the transceivers be not suitable?
- Am I missing something on the hardware side, or the controller settings ?
@Shagrat any hints on how to debug/solve this?
Thank you.