EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: asyn timeout
From: Mark Rivers <[email protected]>
To: "'Paduan Donadio, Marcio'" <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 2 Jun 2017 20:25:11 +0000

Hi Márcio,

 

Have you looked at the asyn R4-29 release notes?  It says this:

 

****************************

drvAsynIPPort now also directly supports the asynOption interface for 2 key/value pairs.

  - key="disconnectOnReadTimeout", value="Y" or "N". This option replaces the USERFLAG_CLOSE_ON_READ_TIMEOUT that was introduced in R4-27.

   The advantage of using the asynOption interface is that this behavior can now be changed at run-time, rather than being set once when the driver is created.

****************************

 

Since your device sends data every second, you can set the "disconnectOnReadTimeout" option and then read the device with a 10 second timeout.  If it times out then it will reset the connection.  Would this work for you?

 

Mark

 

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Paduan Donadio, Marcio
Sent: Friday, June 02, 2017 2:55 PM
To: [email protected]
Subject: Re: asyn timeout

 

 

Hello, everybody.

 

I am sorry to resurrect such an old thread. Mark, did you implement the optional keepalive support to the asyn socket driver, yet?

 

Here in SLAC we are seeing a scenario where it would be really useful. We have an equipment that sends data each second through a serial to ethernet converter. This equipment does not accept any commands. Eventually, the converter reboots and Asyn receive no warning. So, for Asyn, we have an alive connection with no data, and for the converter, there is no active connection.

 

I tried this using only telnet without an IOC running and the behavior is the same: telnet does not know that the connection was broken with the converter.

 

The keepalive parameter would help us a lot in this case.

 

By now, we are implementing the workaround you suggested in tech-talk "Force TCP/IP reconnect from Asyn/Streamdevice" thread (http://www.aps.anl.gov/epics/tech-talk/2017/msg00863.php).

 

Thank you!

 

Márcio Paduan Donadio

Software Engineer - SLAC - TID/AIR/ACS

 

----------------------------------------------

Subject: Re: asyn timeout

From: Pedro Gigoux <[email protected]>

To: Mark Rivers <[email protected]>

Date: Mon, 19 Oct 2015 18:24:12 -0300

Hola Mark,

 

I'd be happy to test the keepalive option when it's ready. It may not happen immediately since the instrument is a shared resource and the time to use it is allocated in blocks.

 

Thank you,

Pedro.

 

On 19 October 2015 at 16:10, Mark Rivers <[email protected]> wrote:

Hi Pedro,

 

 

 

It seems like it might be a good idea to add optional keepalive support to the asyn socket driver.  If I were to create a branch on github that implemented this would you be able to test it?

 

 

 

Mark

 


Replies:
Re: asyn timeout Paduan Donadio, Marcio
References:
Re: asyn timeout Paduan Donadio, Marcio

Navigate by Date:
Prev: Re: asyn timeout Paduan Donadio, Marcio
Next: RE: Force TCP/IP reconnect from Asyn/Streamdevice Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: asyn timeout Paduan Donadio, Marcio
Next: Re: asyn timeout Paduan Donadio, Marcio
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024