CAN Transmitt Buffer full

I have a working script on my computer that sends a lot of messages to 6 can node ids. When I run the script from my computer and send around 800 messages per second i have no problem. I use canopen library and read/write with RemoteNode and SDOClient.
When I switch to Jetson nano Im getting LAG, meaning the messages are send with delay and after a bit i got an error that the buffer is full. I am using USB2CAN from innomaker. My cpu load is around 20% when I send most of the messages.
What could lead to this delay I am experiencing ?
What could possibly fix it ?

Hi rosen1,

Are you using the devkit or custom board for Jetson Nano?
What’s your Jetpack version in use?

Do you mean that your script work as expected on host PC but get issue on Jetson Nano?

How do you test CAN transmission? Is that loopback or send/receive with 2 CAN devices?

1 Like

Yes, my script works perfectly on my laptop, but have problems on jetson nano. I have the devkit B01. My jeptpack version is 4.6 with Linux kernel 4.9 and 18.04 Ubuntu. It works fine until i start to send a lot of commands for short period. Then they are executed but with significant delay, as if they are qued and processed really slow, which is not optimal for me. Im using rosbag file for logging.

Have you tried to change the higher data rate with the following instruction with FD enabled?
Controller Area Network (CAN) — To set the interface properties

Or configuring TDCR for higher bit rates?
Controller Area Network (CAN) — To configure the TDCR for higher bit rates

I cannot enable can FD. When i write :
ip link set can0 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on
i get RTNETLINK answers: Operation not supported

I also have problem with kernel:
cat /proc/device-tree/mttcan@c310000/status
cat: /proc/device-tree/mttcan@c310000/status: No such file or directory

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.

Could you try enter su mode and run the command?

$sudo su
#ip link set can0 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on

Do you load the kernel module for CAN or enable this node in device tree?

modprobe mttcan