Cannot receive 29bit (extended) canbus messages

(1) My configuration:Jetson orin NX 16G (r35.3.1) connected to waveshare transceiver

sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
sudo ip link set can0 type can bitrate 250000 restart-ms 100
sudo ip link set can0 up

(2)candump can0
shows only messages with up to 8 bytes (not including 8 bytes).

when connecting jetson TX2 with spacely board I got all the messages.
I checked my wires and connections and everything looks good. I am working with the two jetsons on the same bus so I run them simultaneously.

Thank you,
Ehud

Hi esharet2020,

Are you using the devkit or custom board for Orin NX?
Could you help to verify with latest R35.4.1?

Is your connection for Orin NX the same as TX2?
Is there any error message in dmesg when you hit the issue?

I’m using seeed studio J4012 with r35.3.1 on the Orin NX.
the connections are the same, both TX2 and Orin are on the same bus. I tried different locations on the bus and checked my can transceiver. If I send the CAN messages from the TX2 everything is fine but if there is a different component that sends the CAN data, we cannot see messages with up to 8 bytes.

dmesg | grep can:
mttcan c310000.mttcan can0: entered error warning state
mttcan c310000.mttcan can0: entered error passive state
mttcan c310000.mttcan can0: entered error passive state
mttcan c310000.mttcan can0: entered error passive state

Could you help to apply the following patch for Orin NX and check if it could help for your case?
MTTCAN on Orin NX issues - #22 by KevinFFF

It is not the same case. His problem was that mttcan fails to recover from a failure.
My problem is that my Orin NX going into ERROR-PASSIVE state after receiving a packet from another device on the bus but stay in ERROR-ACTIVE if the jetson TX2 sends the packets

I checked another transceiver exept from the waveshare SN65HVD230 and got the same result

What do you mean about the “different component”?

Could you share the block diagram of your connections?
Is there other device on the can bus other than TX2 and Orin NX?

I am using a can player YDVR-04N which I checked and working good. I have 120 ohm on the bus (and checked with 60 ohm too).
when running this, the TX2 gets all the messages completely while the Orin NX entering from ERROR-ACTIVE status to ERROR-PASSIVE from the first message received. when checking with candump can0 I can see only packets with less than 7 bytes.

If I send packets from the TX2 to the ORIN or ORIN to TX2, the bus is ok and the packets received completely.
I checked another can transceiver and the result was exactly the same (MCP2562-E/SN)

image

From your block diagram, are you also using CAN transceiver for TX2?

I’ve checked with internal.
Both TX2 and Orin NX should support both STD ID and EXT ID (29bit) in SW.
Up to 64 bytes can be send in one message.

We would like to know the what ID and data length you are using.
Please share the full packet you send from CAN player(YDVR-04N).

I’m using spacely board for the TX2 and it’s tranceiver working good.
It happen with all the packets that their data is larger than 7 bytes, not only extended. for example,
ID 2F7, data: A2 98 C2 03 6A BE 3E 5B
ID 606, data: 56 A7 D2 54 0A B7 2A 11

Solved!

changed the configuration to:
sudo ip link set can0 type can bitrate 250000 sjw 4 restart-ms 100 berr-reporting on

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.