I am currently working on a project, which involves interfacing of Xavier NX dev board with a existing CAN bus networks. The network has 2 existing CAN message IDs, Bus operates at 250 kbps of baud rate & uses CAN 2.0B standard.
I am using CAN transceiver provided by Waveshare for accessing the CANH and CANL from NX board. I have done all the pre required CAN configurations in the Xavier boot sequence using mttcan module.
The issue is, I am able to get the data from one CAN msg ID but not from the other one when I tried using candump can0 command in terminal. And also I get CRC error, passive state error & bit error in boot screen when I reboot or power on the Xavier board.
First I thought it is because of bad termination, but then I hooked up my CANBus Analyzer tool to the bus and I am receiving all the CAN ID messages properly.
So it must be a software related issue, if I am not wrong. Please help me out.
I am using following configuration commands for enabling CAN:
sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
sudo ip link set can0 type can bitrate 250000 dbitrate 2000000 berr-reporting on fd on
sudo ip link set up can0