Hello,
my Application runs on RaspberryPi4 and utilizes three can interfaces
(can0-2), each has a tcan4550 chip on the spi0, spi4 and spi6 respectively.
This application communicate with up to 16 Nodes on each can-bus and
sends in 10ms cycle a messages, i.e. with IDs 0x200..0x20F to each Node
with no problem.
See a log from candump on pastebin (candump_any_only_tx):
https://pastebin.com/E9z6KGFu
I am using this overlay for it (tcan4x5x.dts)
https://pastebin.com/qtDzHqaL
Now, if I try to query a Status from each Node (one Query after the
other in 5ms intervals), that leads to the error 105 by write to socket
buffer. After that, buffer latchs up. A test with cansend on this
interface, after killing the application, returns also "write: No buffer
space available". This remains until ifdown.
Please see a log from candump with additional status query
(candump_any_with_rx)
https://pastebin.com/rZNSnYEh
I have connected a logic analyzer to all SPI interfaces to view the
traffic on SPI-Buses with sigrok / PulsView.
https://postimg.cc/QKtbS39q
https://postimg.cc/9zFJcG8q
https://postimg.cc/dDHn3LpN
If necessary, I can make dedicated capture and share diagrams.
$uname -a
Linux RPICAN-2 5.15.21-v7l+ #1 SMP PREEMPT Fri Feb 18 11:31:05 CET 2022
armv7l GNU/Linux
$modinfo tcan4x5x:
filename:
/lib/modules/5.15.21-v7l+/kernel/drivers/net/can/m_can/tcan4x5x.ko
license: GPL v2
description: Texas Instruments TCAN4x5x CAN driver
author: Dan Murphy <dmurphy@xxxxxx>
srcversion: DBF01ADB6B5CD83D778AAD9
alias: spi:tcan4x5x
alias: of:N*T*Cti,tcan4x5xC*
alias: of:N*T*Cti,tcan4x5x
depends: m_can
intree: Y
name: tcan4x5x
vermagic: 5.15.21-v7l+ SMP preempt mod_unload modversions ARMv7 p2v8
$modinfo m_can
filename:
/lib/modules/5.15.21-v7l+/kernel/drivers/net/can/m_can/m_can.ko
description: CAN bus driver for Bosch M_CAN controller
license: GPL v2
author: Dan Murphy <dmurphy@xxxxxx>
author: Dong Aisheng <b29396@xxxxxxxxxxxxx>
srcversion: 8FD811EC24C8442A2AF6D65
depends: can-dev
intree: Y
name: m_can
vermagic: 5.15.21-v7l+ SMP preempt mod_unload modversions ARMv7 p2v8