EPICS Controls 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  2020  2021  2022  2023  2024  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  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10
From: "Jeff Hill" <[email protected]>
To: "'David Ehle'" <[email protected]>, "'Mark Rivers'" <[email protected]>
Cc: "'David Ehle'" <[email protected]>, [email protected]
Date: Wed, 17 Mar 2010 12:21:58 -0600
> 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        [email protected]
LANL MS H820              Voice        505 665 1831
Los Alamos NM 87545 USA   FAX          505 665 5107

Message content: TSPA


> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> On Behalf Of David Ehle
> Sent: Wednesday, March 17, 2010 11:12 AM
> To: Mark Rivers
> Cc: David Ehle; [email protected]
> 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: [email protected]
> > [mailto:[email protected]] On Behalf Of David Ehle
> > Sent: Tuesday, March 16, 2010 3:18 PM
> > To: [email protected]
> > 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 [email protected] 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.
> >
> >
> >
> >
> >



Replies:
RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers
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

Navigate by Date:
Prev: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers
Next: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers
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  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers
Next: RE: Help Request: Setting up NIXI-1042/NI-MXI-4/DXP-XMAP withdxpStandalone_2-10 Mark Rivers
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  2020  2021  2022  2023  2024 
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 ·