Monotosh Das wrote:
> Hello jan,
> Thank you for your prompt reply.
> 
> As mentioned by you I have turned on the Internal Debug flag in the
> configuration and rebuild it.... and the application started working
> (atleast started sending and receiving data with the Winsock program
> with running on a windows PC).
> Following message was printed in the kernel log...
> "Assertion failed!
> /usr/src/rtnet-0.9.8/stack/ipv4/udp.c:rt_udp_recvmsg:398 skb != NULL".

Uhh, that's not nice. It means that the socket got the clear signal that
there should be some data in its queue, but it isn't. Either we are
loosing data in the socket queue, or the underlying rtdm_sem is somehow
broken.

Do you already get this for the very first run (or with pulled cable)
when there can't be any packet in the queue?

> So my conclusion is that we have to turn on this flag during installation.

...at least when something fishy is going on (like an oops). Still, this
assertion never triggered anywhere yet, and most involved RTnet code is
fairly matured (disclaimer: personal believe).

> 
> I have observed following non real-time characteristics....
> 1) The rtnet socket loses some initial data.
> 2) It is loosing Data in alternate cycles.... on this point I am not
> giving that much stress before I could point out the actual culprit...
> it may be the windows brother who is not delivering data on time... or
> may be the sampling time of the rtai is varying...
> 3) Even after closing the application in the windows side, the rtnet
> still receives 16 packets....

Might all be related to the core issue of queuing and signalling arrived
packets. Let's concentrate on the bug that is screaming loudest.

> 
> I require following help from you...
> is there any clue how to specify the wait period in the receive socket?
> presently it is operating in Non Blocking mode.....

Well, to check if it's an issue with non-blocking mode for the socket,
try using a small timeout (e.g. 1000 ns). That should fire immediately
if there is no packet pending, practically giving the same behaviour.
The polling period must not have any influence (except that you will run
into overflow/packet drops if the remote station keeps sending faster
than you poll).

Moreover, you may want to attach a packet sniffer to the link between
the Windows and the RTnet box (a hub is required then to grab unicast
traffic), or use RTcap on the RTnet box (see READMEs). The latter has
the advantage that we see which packets made it to the RT-NIC, the
former would also capture potentially dropped frames - comparing both
will reveal this.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to