All of lore.kernel.org
 help / color / mirror / Atom feed
* RTCan missing frames
@ 2019-02-11  9:16 Johannes Holtz
  2019-02-11 11:14 ` Philippe Gerum
       [not found] ` <5f653b5a-e82f-ce42-c8c6-3fa05ccce53d@grandegger.com>
  0 siblings, 2 replies; 23+ messages in thread
From: Johannes Holtz @ 2019-02-11  9:16 UTC (permalink / raw)
  To: 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.

I have not altered the filters and the RX and TX timeouts are at 
100micro sec. I also don't get error frames. The RX_BufFull indicator 
from /proc/rtcan/sockets keeps growing.

Also the rtcanrecv utility shows garbage if i let it run but if I 
restart it after each request the first response is printed correctly.


Can you give me any advice? I followed every example and documentation 
about rtcan but I'm running out of ideas what the cause could be.

I'm still using the "old" 2.6.3 xenomai but I sincerely hope this is not 
an old known issue. I rather hope there is something wrong with my approach.

I'm thankful for every hint.

Cheers,

Johannes





^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2019-02-13 10:20 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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.