Can can't send data on agx orin

jp5.1.1 AGX Orin

Problem: The CAN bus fails to send data, but receiving data is normal. The following log will be printed:

Experiment:

The resistance of the CAN bus is 60 ohms (120 ohms on the Orin side, 120 ohms for the customer device, and when combined, it is 60 ohms).

The Orin and the computer can send and receive data normally, and the customer device can also send and receive data with the computer normally.

jp5.1.1 AGX Orin
问题:canbus 无法发送数据,接受数据正常。会打印如下log:
实验:

  1. can总线电阻是60欧姆(orin这边120欧姆,客户设备120欧姆,并在一起60欧姆)。
  2. orin和电脑 正常收发数据,客户设备也能和电脑 正常收发数据

[  106.789072] mttcan c320000.mttcan can1: Bit1 Error Detected
[  106.789280] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x77c
[  106.789532] mttcan c320000.mttcan can1: Bit1 Error Detected
[  106.789719] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x76c
[  106.789925] mttcan c320000.mttcan can1: Bit1 Error Detected
[  106.790200] mttcan c320000.mttcan can1: Bit1 Error Detected
[  106.790376] mttcan c320000.mttcan can1: Bit1 Error Detected
[  106.790584] mttcan c320000.mttcan can1: Bit1 Error Detected
[  106.790761] mttcan c320000.mttcan can1: Stuff Error Detected
[  106.790956] mttcan c320000.mttcan can1: Bit1 Error Detected
[  106.791142] mttcan c320000.mttcan can1: Bit1 Error Detected
[  106.791328] mttcan c320000.mttcan can1: entered bus off state
[  106.791498] mttcan c320000.mttcan can1: Bit1 Error Detected

dmesg_202505061054.txt (124.5 KB)

Hello,

Thanks for visiting the NVIDIA Developer forums. Your topic will be best served in the Jetson category.

I have moved this post for better visibility.

Cheers,
Tom

Hi 252830387,

Are you using the devkit or custom board for AGX Orin?

Could you also verify with the latest Jetpack 5.1.5(r35.6.1)?

[  106.791328] mttcan c320000.mttcan can1: entered bus off state

It seems your CAN enter into bus off state, which may be caused of wrong connection.
Could you share the block diagram of your connection between AGX Orin and your CAN device?

can H接设备H,L接设备L。

Please also help to answer the rest of my questions.

You have to confirm that CAN-H not shorted with CAN-L in any case.

没有短路,接到笔记本上电上都能正常收发数据

Please use the latest Jetpack 5.1.5(r35.6.1) to verify.

You can also try adding sjw 1 when you are setting up CAN interface.

可以用jp6.2来验证吗? jp6.2 有没有此功能

Yes, you can also verify with the latest JP6.2.
There’s a patch fixing CAN bus off related issue.

JP6.2还是有相同的问题,canbus 能接受 无法发送,log如下:
dmesg_202505231401.txt (130.7 KB)

[   60.906389] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x712
[   61.566339] mttcan c320000.mttcan can1: Format Error Detected
[   61.566347] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x712
[   61.646336] mttcan c320000.mttcan can1: Format Error Detected
[   61.646342] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x712
[   61.646598] mttcan c320000.mttcan can1: Format Error Detected
[   61.646601] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x712
[   61.666165] mttcan c320000.mttcan can1: Stuff Error Detected
[   61.666170] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x711
[   61.666440] mttcan c320000.mttcan can1: Format Error Detected
[   61.666444] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x712
[   62.366275] mttcan c320000.mttcan can1: Stuff Error Detected
[   62.366288] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x711
[   63.366300] mttcan c320000.mttcan can1: Format Error Detected
[   63.366313] mttcan c320000.mttcan can1: IR 0x8000000 PSR 0x712
[   63.426296] mttcan c320000.mttcan can1: Format Error Detected
[   63.686289] mttcan c320000.mttcan can1: Format Error Detected
[   64.046234] mttcan c320000.mttcan can1: Stuff Error Detected
[   64.146067] mttcan c320000.mttcan can1: Stuff Error Detected
[   64.526203] mttcan c320000.mttcan can1: Stuff Error Detected
[   64.586266] mttcan c320000.mttcan can1: Format Error Detected
[   64.866263] mttcan c320000.mttcan can1: Format Error Detected
[   64.906257] mttcan c320000.mttcan can1: Format Error Detected
[   65.046257] mttcan c320000.mttcan can1: Format Error Detected
[   65.806241] mttcan c320000.mttcan can1: Format Error Detected

Have you tried this or checked if adding sjw 4 could help for your current issue?

Are you connecting the CAN device on CAN0 or CAN1?
From the log you shared, it seems more like CAN1(c320000.mttcan).

can0和can1都有问题,两个都试过

Have you tried this or checked if adding sjw 4 could help for your current issue? ->这个有什么办法检查吗,或者给我们补丁,我们合进去

Is my understanding correct as following?
can0 or can1 <—> Host => PASS
CAN device <—> Host => PASS
can0 or can1 <—> CAN device => FAIL
can0 <—> can1 => ?

What’s your CAN device(客户设备) in use?

It is just an option, which could be added in the command when you setup CAN interface.
e.g.

$ sudo ip link set can0 up type can bitrate 500000 dbitrate 1000000 berr-reporting on sjw 4

有没有对于补丁,我们准备合入jp5.1.1上

Please try to apply the patch from AGX Orin: CAN bus does not automatic recover from BUS_OFF state - #26 by KevinFFF to check if it could help for your case.

And also, please help to answer the questions from my previous response.

Is this still an issue to support? Any result can be shared?

如下是不是说明已经启动sjw4

Correct, you can run ip command to check current configuration.
It is sjw 4 in current result.

这个不是sj4的补丁,这个是can空间满了无法发送的,有没有对应的补丁,谢谢

已经验证在jp5.1.5上can能正常发送,如何在jp5.1.1上合入此补丁。客户版本算法和app已经在jp5.1.1上适配好了