Argonne National Laboratory

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  2017  <20182019  2020  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  <20182019  2020 
<== Date ==> <== Thread ==>

Subject: RE: PMAC asyn autoconnect issue
From: Mark Rivers <rivers@cars.uchicago.edu>
To: 'Bruno Martins' <brunoseivam@gmail.com>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Cc: "omitto@frib.msu.edu" <omitto@frib.msu.edu>
Date: Mon, 12 Feb 2018 18:10:09 +0000

Hi Bruno,

 

What version of asyn are you using?

 

What version of tpmac are you using?

 

Ø  2018/02/12 12:00:14.826 pmacController::lowLevelWriteRead: Error from pasynOctetSyncIO->writeRead. command: #2 ? F P
2018/02/12 12:00:14.826 drvPmacAxisGetStatus: not all status values returned. Status: 3
Command :#2 ? F P

 

Note that Status: 3 is asynError, not asynDisconnected.

 

Are you sure that asyn really thinks the port is disconnected at this time?  You should run asynReport on that port to see whether asyn thinks it is disconnected or not.

 

One problem is that when you power-off an IP device on Linux it takes quite a while before the OS decides the socket is disconnected.  Before that time it returns an error like “Resource temporarily unavailable”.  During this time asyn will not try to reconnect, because it thinks it is still connected.

 

This behavior is one reason that the drvAsynIPPort driver was enhanced in R4-29 to support the disconnectOnReadTimeout option.  If this option is enabled then the port will automatically disconnect whenever there is a read timeout.

 

Mark

 

 

From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Bruno Martins
Sent: Monday, February 12, 2018 11:34 AM
To: tech-talk@aps.anl.gov
Cc: omitto@frib.msu.edu
Subject: PMAC asyn autoconnect issue

 

Hi,

I've been investigating an issue with the PMAC driver regarding reconnection via Ethernet. When the controller is powered off the IOC starts emitting messages like the following (as expected):

2018/02/12 12:00:14.826 pmacController::lowLevelWriteRead: Error from pasynOctetSyncIO->writeRead. command: #2 ? F P
2018/02/12 12:00:14.826 drvPmacAxisGetStatus: not all status values returned. Status: 3
Command :#2 ? F P

 

 

However, when the controller is powered on again, the IOC does not re-establish the connection (even though noAutoConnect is set to zero).

This is the sequence of calls that lead to these messages:

lowLevelWriteRead calls pasynOctetSyncIO->writeRead
pasynOctetSyncIO->writeRead calls pasynManager->queueLockPort

pasynManager->queueLockPort calls pasynManager->queueRequest

queueRequest sets checkPortConnect = TRUE

 

If checkPortConnected was FALSE autoConnectDevice would be called later on and a new connection would be attempted. But for this particular call chain checkPortConnected is always set to TRUE.

Now, since queueRequest fails a request is never queued and pasynManager->portThread's autoConnectDevice is also not reached.


So my question is how to properly configure/trigger an auto connect?

 

 

PS.: I found this old thread that might be related:

https://epics.anl.gov/tech-talk/2012/msg01216.php

 

Thanks!



Bruno


Replies:
RE: PMAC asyn autoconnect issue Mark Rivers
References:
PMAC asyn autoconnect issue Bruno Martins

Navigate by Date:
Prev: Matlab crash with labCA 3.5.1 Ha, Kiman
Next: RE: PMAC asyn autoconnect issue 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  2017  <20182019  2020 
Navigate by Thread:
Prev: PMAC asyn autoconnect issue Bruno Martins
Next: RE: PMAC asyn autoconnect issue 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  2017  <20182019  2020 
ANJ, 12 Feb 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·