All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg@grandegger.com>
To: Johannes Holtz <johannes.holtz@compador.de>, xenomai@xenomai.org
Subject: Re: RTCan missing frames
Date: Mon, 11 Feb 2019 17:46:17 +0100	[thread overview]
Message-ID: <154ddc3c-8813-14c1-53e8-61d337ab0d69@grandegger.com> (raw)
In-Reply-To: <e469590e-a04f-657d-9563-efbaa62e27c8@compador.de>

Hello,

Am 11.02.19 um 16:12 schrieb Johannes Holtz:
> Am 11.02.19 um 16:07 schrieb Wolfgang Grandegger:
>> Hello,
>>
>> at a first glance, your code looks good, but you are using the native
>> api.. more inline...
>>
>> Am 11.02.19 um 14:13 schrieb Johannes Holtz:
>>> Am 11.02.19 um 13:40 schrieb Wolfgang Grandegger:
>>>> Hello,
>>>>
>>>> Am 11.02.19 um 12:55 schrieb Johannes Holtz:
>>>>> Am 11.02.19 um 12:26 schrieb Wolfgang Grandegger:
>>>>>> Hello,
>>>>>>
>>>>>> Am 11.02.19 um 10:16 schrieb Johannes Holtz via Xenomai:
>>>>>>> Hi,
>>>>>>>
>>>>>>> In my application i set up a RTCAN socket and a pair of rt-threads.
>>>>>>> One
>>>>>>> to read and one to write. Writing works perfectly and I receive
>>>>>>> answers
>>>>>>> in the initial phase of the program.
>>>>>>>
>>>>>>> In particular I send CANopen NMT messages out and receive the
>>>>>>> responses
>>>>>>> from the other Nodes in the Network.
>>>>>>>
>>>>>>> 2019-02-11 09:52:13.309[       500][    CAN TX] > NMT Node 0:0:
>>>>>>> CAN ID 0x000 FC 0x0 DLC 2
>>>>>>>            0       82 00
>>>>>>> 2019-02-11 09:52:13.310[       503][    CAN RX] > NMT Error Control
>>>>>>> Node
>>>>>>> 0:8:
>>>>>>> CAN ID 0x708 FC 0xe DLC 1
>>>>>>>            0       00
>>>>>>> 2019-02-11 09:52:13.311[       503][    CAN RX] > NMT Error Control
>>>>>>> Node
>>>>>>> 0:9:
>>>>>>> CAN ID 0x709 FC 0xe DLC 1
>>>>>>>            0       00
>>>>>>> 2019-02-11 09:52:13.317[       509][    CAN RX] > NMT Error Control
>>>>>>> Node
>>>>>>> 0:3:
>>>>>>> CAN ID 0x703 FC 0xe DLC 1
>>>>>>>            0       00
>>>>>>> 2019-02-11 09:52:13.317[       509][    CAN RX] > NMT Error Control
>>>>>>> Node
>>>>>>> 0:4:
>>>>>>> CAN ID 0x704 FC 0xe DLC 1
>>>>>>>            0       00
>>>>>>> 2019-02-11 09:52:13.317[       509][    CAN RX] > NMT Error Control
>>>>>>> Node
>>>>>>> 0:5:
>>>>>>> CAN ID 0x705 FC 0xe DLC 7
>>>>>>>            0       00 06 07 00
>>>>>>>            4       00 01 01
>>>>>>> 2019-02-11 09:52:13.317[       509][    CAN RX] > NMT Node 0:0:
>>>>>>> CAN ID 0x000 FC 0x0 DLC 3
>>>>>>>            0       07 00 00
>>>>>>> 2019-02-11 09:52:13.326[       519][    CAN RX] > TIME Node 0:1:
>>>>>>> CAN ID 0x101 FC 0x2 DLC 0
>>>>>>>
>>>>>>> As you can see, I capture 7 frames. However, the RX count from
>>>>>>> /proc/rtcan/devices is 10.
>>>>>>>
>>>>>>> If I send specific SDO requests to one of the node which have
>>>>>>> answered I
>>>>>>> don't capture a response but the RX count increases and rtcanrecv
>>>>>>> program captures the correct response. Only my application's read
>>>>>>> doesn't return.
>> What do you mean with "doesn't return". rt_can_recv(MSG_DONTWAIT) should
>> not block. What does it return?
> It only returns EAGAIN like there is nothing to read.

UI suggest to write a simple test program to demonstrate the issue. It
should just open the socket and trying to receive messages... just the
necessary stuff. First with a blocking recv() and then non-blocking.

What hardware and software are you using (arch, board, linux, xenomai)?

Wolfgang.


  reply	other threads:[~2019-02-11 16:46 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-11  9:16 RTCan missing frames Johannes Holtz
2019-02-11 11:14 ` Philippe Gerum
2019-02-11 11:53   ` Johannes Holtz
2019-02-11 14:18   ` Johannes Holtz
     [not found] ` <5f653b5a-e82f-ce42-c8c6-3fa05ccce53d@grandegger.com>
2019-02-11 11:55   ` Johannes Holtz
2019-02-11 12:40     ` Wolfgang Grandegger
2019-02-11 13:13       ` Johannes Holtz
2019-02-11 15:06         ` Wolfgang Grandegger
2019-02-11 15:12           ` Johannes Holtz
2019-02-11 16:46             ` Wolfgang Grandegger [this message]
2019-02-12 10:42               ` Johannes Holtz
2019-02-12 11:24                 ` Wolfgang Grandegger
2019-02-12 11:35                   ` Johannes Holtz
2019-02-12 14:38                   ` Johannes Holtz
2019-02-12 15:00                     ` Wolfgang Grandegger
2019-02-12 15:19                       ` Johannes Holtz
2019-02-12 17:05                         ` Wolfgang Grandegger
2019-02-12 17:24                           ` Johannes Holtz
2019-02-12 17:53                             ` Wolfgang Grandegger
2019-02-12 18:14                               ` Steve Freyder
2019-02-12 18:20                                 ` Wolfgang Grandegger
2019-02-13  9:37                               ` Johannes Holtz
2019-02-13 10:20                                 ` 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=154ddc3c-8813-14c1-53e8-61d337ab0d69@grandegger.com \
    --to=wg@grandegger.com \
    --cc=johannes.holtz@compador.de \
    --cc=xenomai@xenomai.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.