Jetson linux v36.5 can bus can't work

my designed hardware is already verified OK on jetson linux 35.3.1, but when I use v36.5 to bring it up, can bus is not working, test step and error logs as following:

busybox devmem 0x0c303018 w 0xc458
busybox devmem 0x0c303010 w 0xc400
busybox devmem 0x0c303008 w 0xc458
busybox devmem 0x0c303000 w 0xc400
modprobe can
modprobe can_raw
modprobe mttcan
ip link set can0 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on
ip link set can1 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on
candump -x any &
cansend can0 123#abcdabcd

[  202.979376] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979390] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x71d
[  202.979414] mttcan c310000.mttcan can0: entered error warning state
[  202.979420] mttcan c310000.mttcan can0: entered error passive state
[  202.979424] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979428] mttcan c310000.mttcan can0: IR 0x9800000 PSR 0x77d
[  202.979445] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979449] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[  202.979488] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979493] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[  202.979540] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979543] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[  202.979591] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979593] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[  202.979643] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979645] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[  202.979695] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979697] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[  202.979747] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979749] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[  202.979799] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979801] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x77d
[  202.979851] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979910] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.979955] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.980007] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.980060] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.980112] mttcan c310000.mttcan can0: Bit0 Error Detected
[  202.980171] mttcan c310000.mttcan can0: entered bus off state
[  202.980173] mttcan c310000.mttcan can0: Bit0 Error Detected

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

Based on the provided information, it appears that you are experiencing issues with the CAN bus on your custom Jetson AGX Orin hardware when using JetPack 5.0.2 (L4T 35.1) but not when using JetPack 4.6.1 (L4T 32.5.1).

To troubleshoot this issue, I recommend the following steps:

  1. Verify CAN bus configuration: Ensure that the CAN bus is properly configured in the device tree and kernel configuration. You can refer to the Jetson Linux documentation for more information on configuring the CAN bus.

  2. Check CAN bus signals: Verify that the CAN bus signals (CAN_H and CAN_L) are present on the expansion headers and that they are not shorted or damaged.

  3. Compare device tree configurations: Compare the device tree configurations between JetPack 4.6.1 and JetPack 5.0.2 to identify any differences that may be causing the issue.

  4. Check kernel versions: Verify that the kernel versions are compatible with the CAN bus driver. You can check the kernel version by running the command uname -r on the Jetson module.

  5. CAN bus driver: Ensure that the CAN bus driver is properly loaded and configured. You can check the driver status by running the command lsmod | grep can.

  6. Test with a different CAN bus device: Try testing the CAN bus with a different device to rule out any issues with the specific device you are using.

  7. Check error logs: Analyze the error logs to identify any specific error messages related to the CAN bus. You can check the error logs by running the command dmesg | grep can.

  8. Seek support: If none of the above steps resolve the issue, you may want to seek support from NVIDIA or a qualified developer who is familiar with the Jetson platform and CAN bus configuration.

In terms of comparing the two JetPack versions, here are some key differences that may be relevant to your issue:

  • Kernel version: JetPack 4.6.1 uses Linux kernel 4.9, while JetPack 5.0.2 uses Linux kernel 5.10. This kernel version difference may affect the CAN bus driver and configuration.
  • Device tree configuration: The device tree configuration may have changed between the two JetPack versions, which could affect the CAN bus configuration.
  • CAN bus driver: The CAN bus driver may have been updated or changed between the two JetPack versions, which could affect the CAN bus functionality.

By comparing the device tree configurations, kernel versions, and CAN bus driver versions between the two JetPack versions, you may be able to identify the root cause of the issue and find a solution.

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

make all power on and stb and can rx/tx to be right config, can work normally.