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  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10
From: David Ehle <ehle@agni.phys.iit.edu>
To: Mark Rivers <rivers@cars.uchicago.edu>
Cc: David Ehle <ehle@iit.edu>, tech-talk@aps.anl.gov
Date: Wed, 17 Mar 2010 13:48:39 -0500 (CDT)

Mark, Jeff,


Thank you both for your replies, and for the explanations.

As this system will be used pretty much exclusivly as an IOC, the message seems to be benign and I do not expect that caget will be used locally with any regularity I think I'm going to stick to the current epics version installed so that we can move on with the larger project.

Thanks again!

David.

On Wed, 17 Mar 2010, Mark Rivers wrote:

I just did a test. I don't get those messages with caget or cainfo using Cygwin on 3.14.10 or 3.14.11. But I do get them with Cygwin on 3.14.8.2.

I don't get them with win32-x86 under any of those versions of base.

So I think the messages will go away if a newer version of base is used.

Mark


-----Original Message----- From: Jeff Hill [mailto:johill@lanl.gov] Sent: Wednesday, March 17, 2010 1:22 PM To: 'David Ehle'; Mark Rivers Cc: 'David Ehle'; tech-talk@aps.anl.gov; Janet Anderson Subject: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10


Second, when running caget or caingo from the precompiled
epics_base..../bin/cyginw-x86/ on the system acting as the IOC I get this
message:
epicsSocketEnablePortUseForDatagramFanout: unable to set SO_REUSEADDR?


My current guess is that somehow, in the cygwin-x86 build, the makefile is building and linking with src/libCom/osi/os/posix/osdSockAddrReuse.cpp, and that somehow src/libCom/osi/os/cygwin32/osdSockAddrReuse.cpp is not being used. The message _is_ confusing. I suspect that that epicsSocketEnableAddressReuseDuringTimeWaitState is actually the function that is being called when the message is emitted (the message could lead one to other conclusions). The message is also probably benign.

You could perhaps eliminate the message by building base against the native
port - i.e. EPICS_HOST_ARCH set to WIN32-x86.

Jeff
______________________________________________________
Jeffrey O. Hill           Email        johill@lanl.gov
LANL MS H820              Voice        505 665 1831
Los Alamos NM 87545 USA   FAX          505 665 5107

Message content: TSPA


-----Original Message-----
From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov]
On Behalf Of David Ehle
Sent: Wednesday, March 17, 2010 11:12 AM
To: Mark Rivers
Cc: David Ehle; tech-talk@aps.anl.gov
Subject: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP
withdxpStandalone_2-10


Mark,


Thank you very much for your quick reply yesterday AND your onsite visit
:)

I think we are functional now and I feel a bit silly - you were correct
that the template files were the culprit, they had an incorrect PV prefix.

(all that is old news for you but I thought I'd include it for anyone
searching the list in the future.)

We do have 2 other items that are just curiosities at this point but I
thought I would see if the list could shed some light on.

1st.  It seems that medm clients (and caget/cainfo) on other systems as
the beamline can access the PV's hosted on this system even if the
caRepeater app from EPICS Win32 Extensions has not been started... is
there a caRepeater service implicit in the dxpStandalone package somehow?
Or am I really just misunderstanding how the PV values are made available?
(quite possible - I'm a EPICS novice).

Second, when running caget or caingo from the precompiled
epics_base..../bin/cyginw-x86/ on the system acting as the IOC I get this
message:
epicsSocketEnablePortUseForDatagramFanout: unable to set SO_REUSEADDR?

But it also returns the provided value.

Does this mean anything I should be concerned about? Or is it just an
artifact of the different behaviors of the ports and SO_REUSEADDR between
'nix/Cygwin/Windows?

Thanks again for you help!

David.

On Tue, 16 Mar 2010, Mark Rivers wrote:

David,

I suspect the problem could be hinted at in these messages:

save_restore: connect failed for channel 'XMAP_med1:EnableClientWait'
save_restore: connect failed for channel 'XMAP_med1:mca1.CALO'
errlog = 611 messages were discarded
save_restore: connect failed for channel 'XMAP_med1:mca4.R3HI'
save_restore: connect failed for channel 'XMAP_med1:mca4.R3IP'
save_restore: connect failed for channel 'XMAP_med1:mca4.R3NM'
save_restore: connect failed for channel 'XMAP_med1:mca4.R4LO'
save_restore: connect failed for channel 'XMAP_med1:mca4.R4HI'
save_restore: connect failed for channel 'XMAP_med1:mca4.R4IP'

It looks like maybe your 8element.template file, which is not included
in your message, is using a different PV prefix than the save/restore is
expected, and perhaps different from what your medm screens are
expecting.

I wrote that dxp software, so I can probably help figure it out.  Are
you at the APS?  If so I can come down and take a look.

Mark


-----Original Message----- From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of David Ehle Sent: Tuesday, March 16, 2010 3:18 PM To: tech-talk@aps.anl.gov Subject: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10

Hello,

I'm trying to make 2 DXP-XMAP "cards" available via Epics.

I have mostly duplicated an almost identical setup that Nino
configured for us that was using 1 DXP-XMP.

Everything seems to be set up correctly, but I can't see the PV's via
caget or an medm interface.

Below is the output of running the batchfile sets up the environment
and starts cygwin-x86\dxpApp.exe 8element.cmd  Any ideas would be very
much appreciated.

The biggest oddity I'm seeing is that it seems like there are no
values for most of the PVs when its restoring from last saved state.
Do I need to set these from scratch or are there default values?

Please send any responses to ehle@iit.edu as well as the list as I am
not a regular subscriber.

Output Follows:

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM Tell
medm where to look for .adl files.  Edit the follow
ing line, or comment it

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM out if
the environment variable is already set

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>set
EPICS_DISPLAY_PATH=D:\dxp_adls;D:\epics\dxpStandalone_2-
10\dxp\2-10\dxpApp\op\adl;D:\epics\dxpStandalone_2-10\autosave\4-5\asApp
\op\adl;D:\epics\dxpStandalone_2-10\mca\6-11\mca
App\op\adl;D:\epics\dxpStandalone_2-10\sscan\2-6-3\sscanApp\op\adl;D:\dx
p_adls

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM Set up
environment form Mingwin

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM
DISPLAY=localhost:0.0

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM
XKEYSYMDB=C:\Program Files\Xming\XKeysymDB

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM
XLOCALEDIR=C:\Program Files\Xming\locale

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM Start X
Server

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM
C:\Program Files\Xming\Xming.exe :0 -clipboard -multiwin
dow

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM Note
that we must use the Windows "start" command or med
m won't find X11 dlls

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM start
medm -x -macro "P=XMAP_med1:, D=dxp, M=mca" 8eleme
nt_dxp.adl

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM Put
Cygwin in the path so the EPICS application can find
 cygwin1.dll

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>PATH=c:\cygw
in\bin;

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>REM
..\..\bin\cygwin-x86\dxpApp.exe 4element.cmd

D:\epics\dxpStandalone_2-10\dxp\2-10\iocBoot\iocXMAPid_med1>..\..\bin\cy
gwin-x86\dxpApp.exe
8element.cmd
< envPaths
epicsEnvSet("ARCH","cygwin-x86")
epicsEnvSet("IOC","iocXMAPid_med1")
epicsEnvSet("TOP","D:\epics\dxpStandalone_2-10\dxp\2-10")
epicsEnvSet("SNCSEQ","/cygdrive/d/epics/dxpStandalone_2-10/seq/2-0-12")
#epicsEnvSet("EPICS_BASE","/corvette/usr/local/epics/base-3.14.10")
epicsEnvSet("ASYN","/cygdrive/d/epics/dxpStandalone_2-10/asyn/4-11beta")
epicsEnvSet("MCA","/cygdrive/d/epics/dxpStandalone_2-10/mca/6-11")
epicsEnvSet("CAMAC","/cygdrive/d/epics/dxpStandalone_2-10/camac/2-5")
epicsEnvSet("DXP","/cygdrive/d/epics/dxpStandalone_2-10/dxp/2-10")
epicsEnvSet("CALC","/cygdrive/d/epics/dxpStandalone_2-10/calc/2-7")
epicsEnvSet("SSCAN","/cygdrive/d/epics/dxpStandalone_2-10/sscan/2-6-3")
epicsEnvSet("BUSY","/cygdrive/d/epics/dxpStandalone_2-10/busy/1-2")
epicsEnvSet("AUTOSAVE","/cygdrive/d/epics/dxpStandalone_2-10/autosave/4-
5")
# Tell EPICS all about the record types, device-support modules,
drivers,
# etc. in this build from dxpApp
dbLoadDatabase("/cygdrive/d/epics/dxpStandalone_2-10/dxp/2-10/dbd/dxp.db
d")
dxp_registerRecordDeviceDriver(pdbbase)
# Setup for save_restore
< ../save_restore.cmd
### save_restore setup
#
# The rest this file does not require modification for standard use,
but...
# If you want save_restore to manage its own NFS mount, specify the name
and
# IP address of the file server to which save files should be written.
# This currently is supported only on vxWorks.
#save_restoreSet_NFSHost("oxygen", "164.54.52.4")
# status-PV prefix
#save_restoreSet_status_prefix("xxx:")
# Debug-output level
save_restoreSet_Debug(0)
# Ok to save/restore save sets with missing values (no CA connection to
PV)?
save_restoreSet_IncompleteSetsOk(1)
# Save dated backup files?
save_restoreSet_DatedBackupFiles(1)
# Number of sequenced backup files to write
save_restoreSet_NumSeqFiles(3)
# Time interval between sequenced backups
save_restoreSet_SeqPeriodInSeconds(300)
# specify where save files should be
set_savefile_path("autosave")
###
# specify what save files should be restored.  Note these files must be
# in the directory specified in set_savefile_path(), or, if that
function
# has not been called, from the directory current when iocInit is
invoked
#set_pass0_restoreFile("auto_positions.sav")
#set_pass0_restoreFile("auto_settings.sav")
#set_pass1_restoreFile("auto_settings.sav")
# load general-purpose interpolation tables with local, user-editable
file
# (if interp_settings.req is included in auto_settings.req, the next
line
# will overwrite those restored values)
#set_pass1_restoreFile("interp.sav")
###
# specify directories in which to to search for included request files
set_requestfile_path("./")
set_requestfile_path("/cygdrive/d/epics/dxpStandalone_2-10/autosave/4-5"
,
"asApp/Db")
set_requestfile_path("/cygdrive/d/epics/dxpStandalone_2-10/calc/2-7",
   "calcApp/Db")
set_requestfile_path("/cygdrive/d/epics/dxpStandalone_2-10/camac/2-5",
   "camacApp/Db")
set_requestfile_path("/cygdrive/d/epics/dxpStandalone_2-10/dxp/2-10",
    "dxpApp/Db")
set_requestfile_path("/cygdrive/d/epics/dxpStandalone_2-10/mca/6-11",
    "mcaApp/Db")
set_requestfile_path("/cygdrive/d/epics/dxpStandalone_2-10/sscan/2-6-3",

"sscanApp/Db")
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/save_restoreStatus.db", "P=xxx:")
save_restoreSet_status_prefix("XMAP_med1:")
dbLoadRecords("/cygdrive/d/epics/dxpStandalone_2-10/autosave/4-5/asApp/D
b/save_restoreStatus.db",
"P=XMAP_med1:")
set_pass0_restoreFile("auto_settings8.sav")
set_pass1_restoreFile("auto_settings8.sav")
# Set logging level (1=ERROR, 2=WARNING, 3=XXX, 4=DEBUG)
xiaSetLogLevel(2)
xiaInit("xmap8.ini")
xiaStartSystem
# DXPConfig(serverName, ndetectors, ngroups, pollFrequency)
DXPConfig("DXP1",  8, 1, 100)
dbLoadTemplate("8element.template")
#xiaSetLogLevel(4)
#asynSetTraceMask DXP1 0 255
#asynSetTraceIOMask DXP1 0 2
#var dxpRecordDebug 10
### Scan-support software
# crate-resident scan.  This executes 1D, 2D, 3D, and 4D scans, and
caches
# 1D data, but it doesn't store anything to disk.  (See 'saveData'
below for that.)
dbLoadRecords("/cygdrive/d/epics/dxpStandalone_2-10/sscan/2-6-3/sscanApp
/Db/scan.db","P=XMAP_med1:,MAXPTS1=2000,MAXPTS2=
1000,MAXPTS3=10,MAXPTS4=10,MAXPTSH=2048")
iocInit
Starting iocInit
########################################################################
####
## EPICS R3.14.10 $$Name: R3-14-10 $$ $$Date: 2008/10/27 19:39:04 $$
## EPICS Base built Apr 29 2009
########################################################################
####
reboot_restore: entry for file 'auto_settings8.sav'
reboot_restore (v4.11): entry for file 'auto_settings8.sav'
reboot_restore: Found filename 'auto_settings8.sav' in restoreFileList.
*** restoring from 'autosave/auto_settings8.sav' at initHookState 5
(before record/device init) ***
1569 PVs had no saved value.
reboot_restore: done with file 'auto_settings8.sav'

Registered for notification of PCI DMA channel 0: HANDLE 0x564
2010/03/16 15:07:31.901 drvDxp::drvUserCreate, unknown command=ACQUIRING
dxpXMAP1:ReadCallback devAsynInt32::initCommon drvUserCreate
recDynLinkOut: waiting for CA context
reboot_restore: entry for file 'auto_settings8.sav'
recDynLinkOut: got CA context
reboot_restore (v4.11): entry for file 'auto_settings8.sav'
reboot_restore: Found filename 'auto_settings8.sav' in restoreFileList.
*** restoring from 'autosave/auto_settings8.sav' at initHookState 6
(after record/device init) ***
1569 PVs had no saved value.
reboot_restore: done with file 'auto_settings8.sav'

iocRun: All initialization complete
seq dxpMED, "P=XMAP_med1:, DXP=dxp, MCA=mca, N_DETECTORS=8"
SEQ Version 2.0.12: Mon Feb  2 14:57:27 2009
Spawning state program "dxpMED", thread 0x10432b10: "dxpMED"
### Start up the autosave task and tell it what to do.
# Save settings every thirty seconds
create_monitor_set("auto_settings8.req", 30, "P=XMAP_med1:")
### Start the saveData task.
saveData_Init("saveData.req", "P=XMAP_med1:")
saveData: message queue created
saveData: Can't connect to some or all retry PVs
saveData: section [basename] not found
CAS: UDP recv error (errno=Interrupted system call)
epics> Registered for notification of PCI DMA channel 0: HANDLE 0x568
save_restore:connect_list: not all searches successful
save_restore: connect failed for channel 'XMAP_med1:PresetReal'
save_restore: connect failed for channel 'XMAP_med1:PresetLive'
save_restore: connect failed for channel 'XMAP_med1:StatusAll.SCAN'
save_restore: connect failed for channel 'XMAP_med1:ReadAll.SCAN'
save_restore: connect failed for channel 'XMAP_med1:ReadDXPs.SCAN'
save_restore: connect failed for channel
'XMAP_med1:ReadDXPBaselines.SCAN'
save_restore: connect failed for channel
'XMAP_med1:BaselineHistoryTimes'
save_restore: connect failed for channel 'XMAP_med1:TraceWaits'
save_restore: connect failed for channel 'XMAP_med1:EnableClientWait'
save_restore: connect failed for channel 'XMAP_med1:mca1.CALO'
errlog = 611 messages were discarded
save_restore: connect failed for channel 'XMAP_med1:mca4.R3HI'
save_restore: connect failed for channel 'XMAP_med1:mca4.R3IP'
save_restore: connect failed for channel 'XMAP_med1:mca4.R3NM'
save_restore: connect failed for channel 'XMAP_med1:mca4.R4LO'
save_restore: connect failed for channel 'XMAP_med1:mca4.R4HI'
save_restore: connect failed for channel 'XMAP_med1:mca4.R4IP'
save_restore: connect failed for channel 'XMAP_med1:mca4.R4NM'
save_restore: connect failed for channel 'XMAP_med1:mca4.R5LO'
save_restore: connect failed for channel 'XMAP_med1:mca4.R5HI'
save_restore: connect failed for channel 'XMAP_med1:mca4.R5IP'
save_restore: connect failed for channel 'XMAP_med1:mca4.R5NM'
save_restore: connect failed for channel 'XMAP_med1:mca4.R6LO'

CAS: UDP recv error (errno=Interrupted system call)
CAS: Client accept error was "Interrupted system call"
eAS: Client accept error was "Interrupted system call"
CAS: UDP recv error (errno=Interrupted system call)

Thanks in advance!
David.







References:
Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP with dxpStandalone_2-10 David Ehle
RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers
RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 David Ehle
RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Jeff Hill
RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers

Navigate by Date:
Prev: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers
Next: Re: Tektronic Scope DPO7254 over VXI-11 crashes IOC Kazuro FURUKAWA
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers
Next: Tektronic Scope DPO7254 over VXI-11 crashes IOC Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·