Experimental Physics and Industrial Control System
If the diagnostics on each end don't solve the problem you may want to look at the network traffic with Wireshark.
Mark
-----Original Message-----
From: Iain Marcuson [mailto:[email protected]]
Sent: Friday, April 21, 2017 8:50 AM
To: Mark Rivers; [email protected] >> EPICS Tech Talk
Subject: RE: Bandwidth limits in asyn
I wrote a C program to read the data, and it also fails at about the same point. The camera is a custom one, so I can put any diagnostics on it I want.
Iain.
> -----Original Message-----
> From: Mark Rivers [mailto:[email protected]]
> Sent: Thursday, April 20, 2017 5:17 PM
> To: Iain Marcuson <[email protected]>
> Subject: RE: Bandwidth limits in asyn
>
> It does not sound to me like the error you are getting has anything to do with
> the fact that you are using asyn or EPICS. Have you tried a simple C test
> program to read the data from the device? It seems like a low-level
> communication problem. What is the camera device on the other end of the
> wire? Do you have access to any diagnostics on that end?
>
> Mark
>
>
> -----Original Message-----
> From: Iain Marcuson [mailto:[email protected]]
> Sent: Thursday, April 20, 2017 3:50 PM
> To: Mark Rivers
> Subject: RE: Bandwidth limits in asyn
>
> I am using recv() on a socket opened in the constructor. Recv() returns a -1
> and perror() says "Bad address". In the mockup server I made using Python,
> it reported "socket.error: [Errno 104] Connection reset by peer".
>
> Iain.
>
> > -----Original Message-----
> > From: Mark Rivers [mailto:[email protected]]
> > Sent: Thursday, April 20, 2017 4:47 PM
> > To: Iain Marcuson <[email protected]>; tech-
> > [email protected] >> EPICS Tech Talk <[email protected]>
> > Subject: RE: Bandwidth limits in asyn
> >
> > What function does your readInt16Array function call to do the network
> > transfer? Are you using the native socket calls, i.e. recv() or recvfrom()?
> >
> > Are you using the EPICS osiSock.h to make your driver portable to
> > different OS?
> >
> > When you say "the connection breaks" what exactly do you mean? Is
> > recv() or recvfrom() returning 0 or a negative number?
> >
> > Mark
> >
> >
> > -----Original Message-----
> > From: Iain Marcuson [mailto:[email protected]]
> > Sent: Thursday, April 20, 2017 3:36 PM
> > To: Mark Rivers; [email protected] >> EPICS Tech Talk
> > Subject: RE: Bandwidth limits in asyn
> >
> > I am calling my own asynPortDriver function with the readInt16Array
> > method. This is 1 Gbit Ethernet. On my most recent run, it took
> > 0.854 seconds to receive 19214960 bytes.
> >
> >
> > > -----Original Message-----
> > > From: Mark Rivers [mailto:[email protected]]
> > > Sent: Thursday, April 20, 2017 4:06 PM
> > > To: Iain Marcuson <[email protected]>; tech-
> > > [email protected] >> EPICS Tech Talk <[email protected]>
> > > Subject: RE: Bandwidth limits in asyn
> > >
> > > How are you reading the data, i.e. are you calling the drvAsynIPPort
> > > driver from your driver?
> > >
> > > If so, how have you called drvAsynIPPortConfigure? What value are
> > > you specifying for the timeout?
> > >
> > > Is this 1 Gbit Ethernet?
> > >
> > > What is the time between when you start the transfer and it breaks
> > > after
> > > 17640000 bytes?
> > >
> > > Mark
> > >
> > >
> > > -----Original Message-----
> > > From: [email protected] [mailto:tech-talk-
> > > [email protected]] On Behalf Of Iain Marcuson
> > > Sent: Thursday, April 20, 2017 2:28 PM
> > > To: [email protected] >> EPICS Tech Talk
> > > Subject: Bandwidth limits in asyn
> > >
> > > I've been writing an asyn driver to receive data from a camera, but
> > > I seem to be hitting some sort of limit. The total size to transmit
> > > is
> > > 35280000 bytes, but the connection breaks at around 17640000 bytes.
> > > In a mockup test, I was able to transfer all the data by sending 16k
> > > with a pause of 0.5 seconds between each packet. The receiving
> > > routine just buffers all the incoming data until it reads the
> > > predetermined amount. Is there something else I need to be doing to
> > > get
> > all the data?
> > >
> > > Thank you,
> > >
> > > Iain.
- References:
- Bandwidth limits in asyn Iain Marcuson
- RE: Bandwidth limits in asyn Mark Rivers
- RE: Bandwidth limits in asyn Iain Marcuson
- RE: Bandwidth limits in asyn Mark Rivers
- RE: Bandwidth limits in asyn Iain Marcuson
- Navigate by Date:
- Prev:
Re: dbreport or similar? Michael Davidsaver
- Next:
EPICS Archiver Appliance does not transfer PVs to "Being archived" Abdalla Ahmad
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: Bandwidth limits in asyn Iain Marcuson
- Next:
dbreport or similar? Steve Kinder
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024