Experimental Physics and Industrial Control System
|
Mark,
Moving the E5810 Reboot call before the asynSetTraceMask solved the
problem when using asyn 4.5
Moving the E5810 Reboot call before the vxi11Configure calls solved the
problems when using asyn 4.8
Thanks for your help.
Rob
Mark Rivers wrote:
Hi Robert,
When I tried using asynSetTraceMask with my ioc that was
working using asyn 4.5, the ports that I set asynTraceMask
for would no longer connect.
That is very interesting. When you set asynTraceMask that actually
results in a call to pasynCommon->connect. That happens at the time of
the call to asynSetTraceMask. So it is should be connecting to the
device at that point.
But then you have this line:
## Reboot the GPIB gateway
E5810Reboot("192.168.0.63",0)
I am not familiar with the VXI-11 and GPIB gateway, but is it possible
that rebooting the gateway is breaking the connection that has already
been made because you set the asynTraceMask?
Here are 3 suggestions:
- Remove the call to E5810Reboot temporarily to see if that fixes the
problem.
- Move the call to asynSetTraceMask to after the E5810Reboot call
- Put a delay (epicsThreadSleep) after the E5810Reboot to see if the
device is simply not quite ready yet to accept connections when iocInit
is run.
Mark
-----Original Message-----
From: Robert Emery [mailto:[email protected]]
Sent: Thursday, August 23, 2007 11:02 AM
To: Mark Rivers
Cc: [email protected]
Subject: Re: asyn 4.8 problem
Mark,
I made the changes to asynManager but that made no
difference. I tried
using the asynSetTraceMask but that did not give me any more
information. When I tried using asynSetTraceMask with my ioc
that was
working using asyn 4.5, the ports that I set asynTraceMask
for would no
longer connect.
I have attached the outputs from various ioc configurations.
Thanks
Rob
Mark Rivers wrote:
Rob,
We recently had a report from Dirk Zimich at PSI that VXI11 was not
working with asyn R4-8. But he was upgrading from EPICS
R3.13, not an
earlier version of asyn. So your report is very useful,
since you say
it worked in asyn R4-5.
Can you send the complete output when your IOC starts?
Can you set the asynTraceMask on that asyn port so that you get full
debugging information?
Also, I suspect that the problem may be coming from the
code that was
added in asyn R4-6 to automatically queue a connect request (call to
pasynCommon->connect) when a call to
pasynManager->connectDevice is done
for a port with the attributes autoConnect=Yes and isConnected=No.
Can you please try disabling this code with the following
change that
comments out the call to pasynCommon->connect() and letting
me know if
it fixes the problem?
corvette> cvs diff -rR4-8 asynManager.c
Index: asynManager.c
===================================================================
RCS file:
/net/phoebus/epicsmgr/cvsroot/epics/modules/soft/asyn/asyn/asy
nDriver/as
ynManager.c,v
retrieving revision 1.93
diff -u -r1.93 asynManager.c
--- asynManager.c 28 Apr 2007 21:19:58 -0000 1.93
+++ asynManager.c 22 Aug 2007 17:25:32 -0000
@@ -1185,6 +1185,7 @@
}
pasynCommon = (asynCommon *)pasynInterface->pinterface;
commonPvt = pasynInterface->drvPvt;
+/*
status = pasynCommon->connect(commonPvt, pasynUser);
if (status != asynSuccess) {
asynPrint(pasynUser, ASYN_TRACE_ERROR,
@@ -1192,6 +1193,7 @@
portName, pasynUser->errorMessage);
goto cleanup;
}
+*/
cleanup:
status = pasynManager->freeAsynUser(pasynUser);
if (status != asynSuccess) {
Thanks,
Mark
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Robert Emery
Sent: Wednesday, August 22, 2007 11:25 AM
To: [email protected]
Subject: asyn 4.8 problem
I have recently upgraded from asyn 4.5 to 4.8 and am seeing the
following error messages whereas I didn't have them with 4.5:
Starting iocInit
##############################################################
##############
### EPICS IOC CORE built on Oct 9 2006
### EPICS R3.14.8.2 $R3-14-8-2$ $2006/01/06 15:55:13$
##############################################################
##############
2007/08/22 09:01:13.319 gpib0,1 vxiCreateDeviceLink RPC
error : RPC:
Unable to receive; errno = Connection reset by peer
2007/08/22 09:01:13.319 CoilA vxiCreateDevLink failed for addr 1
2007/08/22 09:01:13.319 asynManager::asynConnectCallback,
port CoilA
error calling asynCommon->connect
2007/08/22 09:01:13.319 gpib0,1 vxiCreateDeviceLink RPC
error : RPC:
Unable to send; errno = Broken pipe
2007/08/22 09:01:13.319 CoilA vxiCreateDevLink failed for addr 1
.
.
.
I am using this to control equipment on GPIB via an Agilent E5810
Ethernet/GPIB bridge.
Any ideas?
Thanks
Rob Emery
UW Medical Center
- References:
- RE: asyn 4.8 problem Mark Rivers
- Navigate by Date:
- Prev:
Re: StreamDevice protocol question Rodney R. Porter
- Next:
TDS3012B scope John Sinclair
- 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: asyn 4.8 problem Mark Rivers
- Next:
bug in Red Hat Linux g++ 3.2.3 Jeff Hill
- 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
|
ANJ, 10 Nov 2011 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|