From: Wolfgang Grandegger <wg@grandegger.com>
To: "j.p.lammertink" <j.p.lammertink@kubicas.com>
Cc: linux-can@vger.kernel.org
Subject: Re: Losing CAN messages with socket-CAN
Date: Thu, 04 Apr 2013 17:11:47 +0200 [thread overview]
Message-ID: <515D9833.3030405@grandegger.com> (raw)
In-Reply-To: <20130404144412.8D1AC7DAB3329@bmail06.one.com>
On 04/04/2013 04:44 PM, j.p.lammertink wrote:
> Hi Marc,
>
> Thanks for the fast response. I've collected answers to your questions and
> pasted them below.
>
> Best Regards,
>
> Jeroen Lammertink
>
> --------------------------------------------------------------------------
>
> <> We are sending batches of 80 CAN messages using socket CAN to transfer an
> <> image for download. After the 80 messages we wait for a response
>
> <Are you evaluating the return value of the write() or sendmsg() systemcall?
>
> We do evaluate the write call to the socket with an assert. I’ve included
> the code below. (See CCanPort::Write()). I’ve also included the code in
> which the socket is created, just to be complete. When the problem (of
> losing CAN messages) happens, the Assert is not triggered. So I deduce
> that the socket remains unaware of the losing of messages.
>
> <> consisting of a single CAN message. Within the messages we have coded a
> <> sequence number, so that we can detect lost messages. Besides the CAN
> <> device that is subject of download, we have also a (hardware) CAN sniffer
> <> on the CAN bus. We typically log CAN messages when we put them in the
> <> socket. With this set-up we typically detect losing a short series of
> <> (mostly 5) CAN messages, somewhere halfway the batch of 80. No other
> <> devices are present on the CAN bus.
>
> <> I've dumped below some version and set-up info of Ubuntu, socket-can and
> <> ifconfig.
>
> <> Is this problem known?
> <> May this problem be related to using an old version of socket can?
>
> < This is either a userspace problem or a buggy driver. The driver problem
> < may have been fixed in the meantime.
>
> <> How can I upgrade Ubuntu to the latest versions of socket-can?
>
> < First we have to figure out what's broken.
>
> <> --------------------------------------------------------------------------
> <> bmterra@q7buntu:~/user/jla$ uname -a
> <> Linux q7buntu 3.5.0-26-generic #42~precise1-Ubuntu SMP Mon Mar 11 22:19:42
> <> UTC 2013 i686 i686 i386 GNU/Linux
> <> bmterra@q7buntu:~/user/jla$ cat /proc/net/can/version
> <> rev 20090105 abi 8
> <> bmterra@q7buntu:~/user/jla$ ifconfig can0
> <> can0 Link encap:UNSPEC HWaddr
> <> 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
> <> UP RUNNING NOARP MTU:16 Metric:1
> <> RX packets:1128 errors:0 dropped:0 overruns:0 frame:0
> <> TX packets:4400 errors:0 dropped:0 overruns:0 carrier:0
> <> collisions:0 txqueuelen:1024
> <> RX bytes:9024 (9.0 KB) TX bytes:34176 (34.1 KB)
> <> Interrupt:18
> <> --------------------------------------------------------------------------
>
> < Which CAN hardware are you using?
>
> Qseven module PQ7-M105IT
> with Intel Platform Controller HUB EG20T IOH
> with a “BOSCH CAN Protocol Version 2.0B Active
> (ISO 11519, ISO 11898, and SAEJ2411)” CAN controller
Which driver do you use? (check "ip -d -s link show can0").
> This CAN controller identifies itself (according to data sheet) as follows:
> Vendor Identification Register 8086h
> Device Identification Register 8818h
> Revision Identification Register 00h
> Class Code Register 0C0900h
Ah, the "pch_can" driver does have known issues. End of last year I sent
some patches to improve the "pch_can" or, even better, make the "c_can"
driver work on the EG20T as well. See:
http://marc.info/?l=linux-can&m=135531975013055&w=2
Are you able to build and use a recent mainline kernel? I need to figure
out how to help you best.
Wolfgang.
next prev parent reply other threads:[~2013-04-04 15:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-04 14:44 Losing CAN messages with socket-CAN j.p.lammertink
2013-04-04 15:11 ` Wolfgang Grandegger [this message]
-- strict thread matches above, loose matches on Subject: below --
2013-04-04 16:16 j.p.lammertink
2013-04-04 21:12 ` Wolfgang Grandegger
2013-04-05 13:31 j.p.lammertink
2013-04-07 13:13 ` Wolfgang Grandegger
2013-04-07 21:05 ` Kurt Van Dijck
2013-04-08 14:43 j.p.lammertink
2013-04-18 10:34 j.p.lammertink
2013-04-24 9:11 j.p.lammertink
2013-04-24 10:59 ` Wolfgang Grandegger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=515D9833.3030405@grandegger.com \
--to=wg@grandegger.com \
--cc=j.p.lammertink@kubicas.com \
--cc=linux-can@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.