Mttcan can0: entered error passive state

root@z:~# ifconfig can0
can0: flags=128<NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 110  

root@z:~# sudo modprobe can
root@z:~# sudo modprobe can_raw
root@z:~# sudo modprobe mttcan
root@z:~# sudo ip link set can0 up type can bitrate 500000
[  155.707132] mttcan c310000.mttcan can0: Bitrate set
[  155.707360] mttcan_controller_config: ctrlmode 0
[  155.707504] mttcan c310000.mttcan can0: Bitrate set
root@z:~# [  155.924835] mttcan c310000.mttcan can0: entered error warning state
[  155.925060] mttcan c310000.mttcan can0: entered error passive state
[  155.925658] mttcan c310000.mttcan can0: entered bus off state
ip -details -statistics link show can0
5: can0: <NO-CARRIER,NOARP,UP,ECHO> mtu 16 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 10
    link/can  promiscuity 0 minmtu 0 maxmtu 0 
    can state BUS-OFF (berr-counter tx 248 rx 0) restart-ms 0 
          bitrate 500000 sample-point 0.870
          tq 20 prop-seg 43 phase-seg1 43 phase-seg2 13 sjw 1 brp 1
          mttcan: tseg1 2..255 tseg2 0..127 sjw 1..127 brp 1..511 brp_inc 1
          mttcan: dtseg1 1..31 dtseg2 0..15 dsjw 1..15 dbrp 1..15 dbrp_inc 1
          clock 50000000 
          re-started bus-errors arbit-lost error-warn error-pass bus-off
          0          0          0          1          1          1         numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
    RX:  bytes packets errors dropped  missed   mcast           
            24       3      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
             0       0      0       0       0       0 

Trying to enable can0, however, it always show as down on ip a and if i try putting it up, I get entered error passive state. Any idea?

Orin NX 8GB, DevKit carrier, 5.10.192-l4t-35.5.0+gdb857ecdbe10

clean boot and tried again:

root@z:~# 
root@z:~# dmesg | grep can0
[    7.984622] net can0: mttcan device registered (regs=00000000c05b4b29, irq=110)
[    8.892604] mttcan c310000.mttcan can0: bit-timing not yet defined
[    8.892768] mttcan c310000.mttcan can0: failed to open can device
root@z:~# sudo modprobe can
root@z:~# sudo modprobe can_raw
root@z:~# sudo modprobe mttcan
root@z:~# sudo ip link set can0 up type can bitrate 500000
[   98.056529] mttcan c310000.mttcan can0: Bitrate set
[   98.056764] mttcan_controller_config: ctrlmode 0
[   98.056915] mttcan c310000.mttcan can0: Bitrate set
root@z:~# [   98.580039] mttcan c310000.mttcan can0: entered error warning state
[   98.580247] mttcan c310000.mttcan can0: entered error passive state
[   98.580813] mttcan c310000.mttcan can0: entered bus off state

Hi robyawyx,

What’s your Jetpack version in use?

You issue is about it enters into bus-off state.
Can you share the block diagram of your connection for can0?
Do you use CAN transceiver in your setup?

Jetson Linux release: R35.5.0 JetPack release: 5.1.3

Im using Zubax GNSS 2.2: High-performance board-level positioning module with compass and barometric altimeter for robots and unmanned vehicles - GNSS 2 - Zubax Robotics with Zubax Babel https://files.zubax.com/products/com.zubax.babel/Zubax_Babel_Datasheet.pdf and the CAN Bus Header- J16

root@z:~# ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
[ 2322.497232] mttcan c310000.mttcan can0: Bitrate set
root@z:~# ip link set up can0
[ 2323.817100] mttcan_controller_config: ctrlmode 30
[ 2323.817265] mttcan c310000.mttcan can0: Bitrate set
root@z:~# [ 2323.987051] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 2323.987252] mttcan c310000.mttcan can0: IR 0x8000000 PSR 0x71d
[ 2323.987464] mttcan c310000.mttcan can0: entered error warning state
[ 2323.987671] mttcan c310000.mttcan can0: entered error passive state
[ 2323.987866] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 2323.988040] mttcan c310000.mttcan can0: IR 0x9800000 PSR 0x77d
[ 2323.988241] mttcan c310000.mttcan can0: entered bus off state
[ 2323.988419] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 2323.988587] mttcan c310000.mttcan can0: IR 0xa000000 PSR 0x7e5
[ 2324.995457] mttcan_controller_config: ctrlmode 30
[ 2324.995652] mttcan c310000.mttcan can0: Bitrate set
[ 2324.995826] mttcan c310000.mttcan can0: wait for bus off seq
[ 2325.008085] mttcan c310000.mttcan can0: Bit0 Error Detected
[ 2325.008267] mttcan c310000.mttcan can0: IR 0xa000000 PSR 0x70d

Ah. No, I’m not using a CAN transceiver. That might be the issue. Will update later

CAN transceiver is necessary for CAN transaction for transform CAN-TX/CAN-RX to CAN-H/CAN-L to communicate with your other CAN devices.

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