mcp251xfd: Bad message receiption

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear sirs,

I'm using the MCP2518FD CAN controller with Rasperry PI 4 and are suffering from wrong data reception.

My hardware is a Model 4 B with MCP2581 Click board(s) attached with a prototype (hand-made) interface PCB, as well
as baseboards for a CM4 with a single MCP2518 on it. The error occurs on both of them.

I have reduced my test case to a simple single thread self-receipt test:
    * TX two messages
    * Wait for RX and send out a new message on every receipt
    * TX for messages in total

Refer to the attached PDF for some error cases. Last send frames are at the top of the logs. You can see that wrong 
messages appear in the RX queue, which have been successfully transmitted in previous test loop. The data that is actually sent 
out is correct however (checked with an external logger for some cases).

The error appeared very often (every 1..10 minutes) when I was using kernel raspberrypi 5.15.32-v7l+ and reduced to
once in several hours when I switched to raspberrypi 6.0.12-v7l+. BTW I modified the loopback to external loopback
To check for correct transmission. No other changes to the driver as taken from the Raspbian repository.

I see infrequent mcp251xfd CRC read errors. I think those are due to the 2518 SPI errata. However they don't
occur at the time when the wrong messages are received (refer to the PDF).

Questions:
- Is this a known problem?
- What did change from 5.15.32 to 6.0.12 to reduce the error rate? Maybe this is just because of a change in execution timing?
- Any suggestion how I can step further in fixing this issue.

-----
Stefan Althöfer (stefan.althoefer@xxxxxxxxxxx)

Attachment: can_mcp2518fd_fail.pdf
Description: can_mcp2518fd_fail.pdf


[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux