This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM62X: CAN error :bus-off

Part Number: PROCESSOR-SDK-AM62X

Tool/software:

problem description: 

    Using the AM62X SK E PROC142A development board, the dtb file uses k3-am625-sk.dtb. The SDK I use is ti-processor-sdk-linux-am62xx-evm-09.02.01.10.

    I have configured three CAN channels, which CAN be activated normally. When sending data, bus is prompted to off, and the TX signal is always high. Using other CAN modules to test RX, data is detected in RX, but the system cannot receive data. The CAN phenomenon in test 3 is consistent .

Log:

root@at761:~#
root@at761:~# ls /boot/dtb/ti/
k3-am625-sk.dtb
root@at761:~#
root@at761:~# ip link set can0 type can bitrate 5000
root@at761:~# ip link set can0 up
[20934.418697] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
root@at761:~# 
root@at761:~# 
root@at761:~# cansend can0 123#DEADBEEF
[20954.374502] can: controller area network core
[20954.379037] NET: Registered PF_CAN protocol family
[20954.397678] can: raw protocol
root@at761:~# [20954.484514] m_can_platform 4e08000.can can0: bus-off

root@at761:~# ifconfig -a
can0: flags=129<UP,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

can1: 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

can2: 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 150  

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.4.139  netmask 255.255.255.0  broadcast 192.168.4.255
        inet6 fe80::1e63:49ff:fe22:4eba  prefixlen 64  scopeid 0x20<link>
        ether 1c:63:49:22:4e:ba  txqueuelen 1000  (Ethernet)
        RX packets 5540  bytes 427193 (417.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 125  bytes 13146 (12.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 70:ff:76:1e:d1:e2  txqueuelen 1000  (Ethernet)
        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

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        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
root@at761:~# 
root@at761:~# dmesg | grep can
[    0.402691] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.416040] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.429386] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.442733] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    6.311248] m_can_platform 4e08000.can: m_can device registered (irq=0, version=32)
[    6.348309] m_can_platform 4e18000.can: m_can device registered (irq=0, version=32)
[    6.405864] m_can_platform 20701000.can: m_can device registered (irq=406, version=32)
[20934.418697] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
[20954.374502] can: controller area network core
[20954.397678] can: raw protocol
[20954.484514] m_can_platform 4e08000.can can0: bus-off
root@at761:~#

DTS:

&mcu_mcan0 {
        status = "okay";
};

&mcu_mcan1 {
        status = "okay";
};

&main_mcan0 {
        status = "okay";
};