Jetson tx2 CAN communication tutorial Problem

Hi I had a problem while doing CAN communication tutorial with Jetson TX2.

Currently my jetson’s environment is jetpack4.3 and I tested it by following the link above.

Bitrate 500k, pin number all confirmed correctly.

However, when I ran the cansend command, no error occurred, but I could not see any messages from candump.

In vcan, the CANSEND and CANDUMP commands work fine.
In addition, the CAN data from the car VCU we studied was also well received.

But transmission was a problem.
I could not send can data using any code or library.
What should I do?

Thank you.

Hi jmeef0802,
Can you tell me after system reboot, what are the steps you followed?
Did you load all required CAN modules?
There is no need to change pinmux in Tx2.
what are the can-utils command you used and tell me your connections also.

Thanks,
Shubhi

After rebooting the system

The module was compiled.

#modprobe can
#modprobe can_raw
#modprobe mttcan

and

#ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on

#ip link set up can0

#ip link set can1 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on

#ip link set up can1

Then open two terminals,
One side
#candump any
The other one
#cansend can0 200 # 80.00.5a.00.00.00.00.00

There was no error in all commands.

I sent it, but did not receive any messages.

But When running in a virtual CAN, communication was successful.

Thanks you.

Hi,
Can you try loopback test and see if data goes? For loopback, you have to short Tx and Rx pin of can0.
#modprobe can
#modprobe can_raw
#modprobe mttcan

#ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on loopback on

#ip link set up can0

candump can0 &
cansend can0 123#abcdabcd

Try same with can1.

Hi, thank you to reply.
All command seems to work well…
Is it J26 pin problem??
Then how to wake this pin in Jetson TX2?
or how do i check that pins are registered well ??

Hi,
If you have shorted pins and able to send/receive msgs in loopback then how are you saying it is pin problem?



Hi, shgarg
Thank you for your quick response.
This is ip details screen
and My jetson version is Jetpack 4.4
Could you check this status??

Hi,
Connections look fine.
First run dump in background then keep sending, also bring can down once then up again.
ip link set can0 down
ip link set can1 down
ip link set can0 up
ip link set can1 up
candump can1 &
cansend can0 123#abcdabcd

Let me know if you still face any issues.

Thanks,
Shubhi

This is the result of ip detail after above method.

I used the scope and measure the voltage can0 output but no voltage was detected while i’m sending data through can0.

so i think there might be problem in the can device driver e.g. wrong pin assignment.

ok, can you read this register:
install busybox devmem

  • $sudo apt-get install busybox devmem
  • $ busybox devmem 0x0c303020
  • $ busybox devmem 0x0c303018
  • $ busybox devmem 0x0c303010
  • $ busybox devmem 0x0c303008

regData

here is the reg data
thank you.

Register data is also fine.
Is your device up before sending msgs? Can you measure voltage at din, dout pins?
It is not the driver issue. Driver works fine on all Jetson boards.
If issue still exists, can you reboot the device and run all steps again once?