On 10/12/2010 12:53 PM, Michal Sojka wrote: > On Mon, 11 Oct 2010, Wolfgang Grandegger wrote: >> On 10/11/2010 05:01 PM, "Müller, René" wrote: >>> Now we have two cases, one with missing frames and one without: >>> Case 1: >>> - candump -l -s2 can0 -> logging in an file which is stored in RAM >>> - we get all messages in the logfile >>> >>> Case 2: >>> - candump -l -s2 can0 -> logging in an file which is stored on an >>> CompactFlash-card >>> - the CF-card is connected via the IDE-interface without DMA (we don't get >>> DMA working with the CF-card, unfortunately it only works with harddrives) >>> - we are loosing messages: >>> - every 35s we are missing messages in blocks, never we are missing 1 >>> message, always 5-6 at once >>> >>> Anyone had similar problems? Any hints? >> >> Sounds like a receive buffer overrun when the application is not able to >> read messages fast enough. You could use setsockopt(... ,SOL_SOCKET, >> SO_RCVBUF, ....) to increase the buffer size. It's also possible to >> detect dropped CAN frames as described here: > > I'm not sure whether this is receive buffer overrun. AFAIK 5200 has some > problems with ATA. People using 5200 with CF complain about hudge > latencies caused by ATA interrupts. I do not know whether this is > related to using DMA or not. > > The CAN controller on 5200 has hardware buffers only for 2 messages. The
The MPC5200 manual speaks about "4 receive buffers with FIFO storage scheme" making packet losses in the hardware even more unlikely. Wolfgang. _______________________________________________ Socketcan-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-users
