Control area network issue on Orin nx

For CAN1 …
Cannot find device “can1”
RTNETLINK answers: Device or resource busy
Cannot find device “can1”
SIOCSIFTXQLEN: No such device
SIOCGIFINDEX: No such device

Oh ok.since you are using only CAN0

CAN1 is not there …

I run the script for both. This message is coming for CAN1

You mean you have done the setup for both CAN0 and CAN1 on your system

No, I just run the script for testing. But it not work. After that I restart and remove CAN1 and again run the script. But still it not work. Frame on tx come for time then it stop. I check this on DSO.

1 Like

I found similar issue but for different board

I am getting this on shell.

tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sh enable_can_nx.sh
[sudo] password for tel_orin3:
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ cangen can0 -g 400 -I 42A -L 1 -D i -v -v
can0 42A [1] 00
can0 42A [1] 01
can0 42A [1] 02
can0 42A [1] 03
can0 42A [1] 04
can0 42A [1] 05
can0 42A [1] 06
can0 42A [1] 07
can0 42A [1] 08
can0 42A [1] 09
can0 42A [1] 0A
can0 42A [1] 0B
can0 42A [1] 0C
can0 42A [1] 0D
can0 42A [1] 0E
can0 42A [1] 0F
can0 42A [1] 10
can0 42A [1] 11
can0 42A [1] 12
can0 42A [1] 13
can0 42A [1] 14
can0 42A [1] 15
can0 42A [1] 16
can0 42A [1] 17
can0 42A [1] 18
can0 42A [1] 19
can0 42A [1] 1A
can0 42A [1] 1B
can0 42A [1] 1C
can0 42A [1] 1D
can0 42A [1] 1E
can0 42A [1] 1F
can0 42A [1] 20
can0 42A [1] 21
can0 42A [1] 22
can0 42A [1] 23
can0 42A [1] 24
can0 42A [1] 25
can0 42A [1] 26
can0 42A [1] 27
can0 42A [1] 28
can0 42A [1] 29
can0 42A [1] 2A
can0 42A [1] 2B
can0 42A [1] 2C
can0 42A [1] 2D
can0 42A [1] 2E
can0 42A [1] 2F
can0 42A [1] 30
can0 42A [1] 31
can0 42A [1] 32
can0 42A [1] 33
can0 42A [1] 34
can0 42A [1] 35
can0 42A [1] 36
can0 42A [1] 37
can0 42A [1] 38
can0 42A [1] 39
can0 42A [1] 3A
can0 42A [1] 3B
can0 42A [1] 3C
can0 42A [1] 3D
can0 42A [1] 3E
can0 42A [1] 3F
can0 42A [1] 40
can0 42A [1] 41
can0 42A [1] 42
can0 42A [1] 43
can0 42A [1] 44
can0 42A [1] 45
can0 42A [1] 46
can0 42A [1] 47
can0 42A [1] 48
can0 42A [1] 49
can0 42A [1] 4A
can0 42A [1] 4B
can0 42A [1] 4C
can0 42A [1] 4D
can0 42A [1] 4E
can0 42A [1] 4F
can0 42A [1] 50
can0 42A [1] 51
can0 42A [1] 52
can0 42A [1] 53
can0 42A [1] 54
can0 42A [1] 55
can0 42A [1] 56
can0 42A [1] 57
can0 42A [1] 58
can0 42A [1] 59
can0 42A [1] 5A
can0 42A [1] 5B
can0 42A [1] 5C
can0 42A [1] 5D
can0 42A [1] 5E
can0 42A [1] 5F
can0 42A [1] 60
can0 42A [1] 61
can0 42A [1] 62
can0 42A [1] 63
can0 42A [1] 64
can0 42A [1] 65
can0 42A [1] 66
can0 42A [1] 67
can0 42A [1] 68
can0 42A [1] 69
can0 42A [1] 6A
can0 42A [1] 6B
can0 42A [1] 6C
can0 42A [1] 6D
can0 42A [1] 6E
can0 42A [1] 6F
can0 42A [1] 70
can0 42A [1] 71
can0 42A [1] 72
can0 42A [1] 73
can0 42A [1] 74
can0 42A [1] 75
can0 42A [1] 76
can0 42A [1] 77
can0 42A [1] 78
can0 42A [1] 79
can0 42A [1] 7A
can0 42A [1] 7B
can0 42A [1] 7C
can0 42A [1] 7D
^Ctel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sudo ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
RTNETLINK answers: Device or resource busy
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sudo ip link set down can0
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sudo ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ cangen can0 -g 400 -I 42A -L 1 -D i -v -v
can0 42A [1] 00
write: Network is down
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ cangen can0 -g 400 -I 42A -L 1 -D i -v -v
can0 42A [1] 00
write: Network is down
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sudo ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sudo ip link set can0 up
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ cangen can0 -g 400 -I 42A -L 1 -D i -v -v
can0 42A [1] 00
can0 42A [1] 01
can0 42A [1] 02
can0 42A [1] 03
can0 42A [1] 04
can0 42A [1] 05
can0 42A [1] 06
can0 42A [1] 07
can0 42A [1] 08
can0 42A [1] 09
can0 42A [1] 0A
can0 42A [1] 0B
write: No buffer space available
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sudo ip link set down can0
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ cangen can0 -g 400 -I 42A -L 1 -D i -v -v
can0 42A [1] 00
write: Network is down
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sudo ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ sudo ip link set can0 up
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$ cangen can0 -g 400 -I 42A -L 1 -D i -v -v
can0 42A [1] 00
can0 42A [1] 01
can0 42A [1] 02
can0 42A [1] 03
can0 42A [1] 04
can0 42A [1] 05
can0 42A [1] 06
can0 42A [1] 07
can0 42A [1] 08
can0 42A [1] 09
can0 42A [1] 0A
can0 42A [1] 0B
write: No buffer space available
tel_orin3@tel-orin3-desktop:~/Desktop/can_test$

And there is no output on pins. The script I use I already share on my previous post.

Hi, Any update on this…

Since you are using CAN adapter connected on host PC, how do you configure CAN interface there?

Please share the full dmesg after you hit the issue for further check.


This is the setting and I use this…
#!/bin/bash

sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo busybox devmem 0x0c303010 32 0x0000C400
sudo busybox devmem 0x0c303018 32 0x0000C458
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
sudo ip link set down can0
sudo ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on
sudo ip link set up can0
sudo ifconfig can0 txqueuelen 1000

cangen can0 -g 400 -I 42A -L 1 -D i -v -v
exit 0

There are LED’s on the USB to CAN converter. When something receive they glow. But there is nothing. I send some test data but nothing comes on orin

This script and python lib is working…


#!/bin/bash
sudo busybox devmem 0xc303000 32 0x0000c400
sudo busybox devmem 0xc303008 32 0x0000c450
sudo modprobe can
sudo modprobe can-raw
sudo modprobe mttcan
sudo ip link set can0 up type can bitrate 500000
#cangen can0 -v
#candump can0
exit 0


import the library

import can
import time
import sys

create a bus instance

many other interfaces are supported as well (see below)

#bus = can.Bus(interface=‘socketcan’,channel=‘vcan0’,receive_own_messages=True)

bus = can.interface.Bus(bustype=‘socketcan’, channel=‘can0’, bitrate=500000)

send a message

message = can.Message(arbitration_id=123, is_extended_id=True,
data=[0x11, 0x22, 0x33])

i=0

while i<100:
bus.send(message, timeout=0.5)
print(“\nMessage send count=”,i)
i=i+1
time.sleep(500/1000)

iterate over received messages

for msg in bus:
print(“{:X}: {}”.format(msg.arbitration_id, msg.data))

or use an asynchronous notifier

notifier = can.Notifier(bus, [can.Logger(“recorded.log”), can.Printer()])

sys.exit()


But when I try to send CAN message using ‘cangen’ it is not working. So any reason for this?
And if any one suggest C LIB for CAN bus on orin

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