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

Subject: Re: Controlling Eiger 1M with EPICS
From: "Jason A . Pattie" <[email protected]>
To: Mark Rivers <[email protected]>
Cc: tech-talk <[email protected]>, Sumit Kewalramani <[email protected]>
Date: Fri, 19 Oct 2018 20:52:10 +0000
$ caget 13EIG1:cam1:ADCoreVersion_RBV
13EIG1:cam1:ADCoreVersion_RBV  3.2.0

$ cainfo 13EIG1:cam1:ADCoreVersion_RBV
13EIG1:cam1:ADCoreVersion_RBV
    State:            connected
    Host:             10.42.41.1:5064
    Access:           read, write
    Native data type: DBF_STRING
    Request type:     DBR_STRING
    Element count:    1

$ printenv | grep EPICS
EPICS_DISPLAY_PATH=/home/epics-admin/Documents/synApps_5_8/support/devIocStats-3-1-13/op/adl:/home/epics-admin/Documents/areaDetector/ADADSC/adscApp/op/adl:/home/epics-admin/Documents/areaDetector/ADAndor3/andor3App/op/adl:/home/epics-admin/Documents/areaDetector/ADAndor/andorApp/op/adl:/home/epics-admin/Documents/areaDetector/ADBruker/brukerApp/op/adl:/home/epics-admin/Documents/areaDetector/ADCameraLink/cameralinkApp/op/adl:/home/epics-admin/Documents/areaDetector/ADCore/ADApp/op/adl:/home/epics-admin/Documents/areaDetector/ADCSimDetector/ADCSimDetectorApp/op/adl:/home/epics-admin/Documents/areaDetector/ADDexela/dexelaApp/op/adl:/home/epics-admin/Documents/areaDetector/ADEiger-backup-alper/eigerApp/op/adl:/home/epics-admin/Documents/areaDetector/ADEiger/eigerApp/op/adl:/home/epics-admin/Documents/areaDetector/ADFireWireWin/firewireWinApp/op/adl:/home/epics-admin/Documents/areaDetector/ADLambda/LambdaApp/op/adl:/home/epics-admin/Documents/areaDetector/ADLightField/lightFieldApp/op/adl:/home/epics-admin/Documents/areaDetector/ADmar345/mar345App/op/adl:/home/epics-admin/Documents/areaDetector/ADmarCCD/marCCDApp/op/adl:/home/epics-admin/Documents/areaDetector/ADMerlin/merlinApp/op/adl:/home/epics-admin/Documents/areaDetector/ADMythen/mythenApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPCO/pcoApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPerkinElmer/perkinElmerApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPhotonII/PhotonIIApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPICam/PICamApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPilatus/pilatusApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPixirad/pixiradApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPluginEdge/edgeApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPointGrey/pointGreyApp/op/adl:/home/epics-admin/Documents/areaDetector/ADProsilica/prosilicaApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPSL/pslApp/op/adl:/home/epics-admin/Documents/areaDetector/ADPvCam/pvcamApp/op/adl:/home/epics-admin/Documents/areaDetector/ADQImaging/App/op/adl:/home/epics-admin/Documents/areaDetector/ADRoper/roperApp/op/adl:/home/epics-admin/Documents/areaDetector/ADSimDetector/simDetectorApp/op/adl:/home/epics-admin/Documents/areaDetector/ADURL/urlApp/op/adl:/home/epics-admin/Documents/areaDetector/aravisGigE/aravisGigEApp/op/adl:/home/epics-admin/Documents/areaDetector/ffmpegServer/ffmpegServerApp/op/adl:/home/epics-admin/Documents/areaDetector/firewireDCAM/iocs/example/exampleApp/opi/edl:/home/epics-admin/Documents/areaDetector/NDDriverStdArrays/NDDriverStdArraysApp/op/adl:/home/epics-admin/Documents/areaDetector/pvaDriver/pvaDriverApp/op/adl:/home/epics-admin/Documents/asyn4-33/opi/medm:/home/epics-admin/Documents/asyn4-33/testApp/adl:/home/epics-admin/Documents/asyn4-33/testArrayRingBufferApp/adl:/home/epics-admin/Documents/asyn4-33/testAsynPortDriverApp/adl:/home/epics-admin/Documents/asyn4-33/testEpicsApp/adl:/home/epics-admin/Documents/asyn4-33/testErrorsApp/adl:/home/epics-admin/Documents/asyn4-33/testGpibApp/adl:/home/epics-admin/Documents/asyn4-33/testIPServerApp/adl:/home/epics-admin/Documents/asyn4-33/testOutputCallbackApp/adl:/home/epics-admin/Documents/asyn4-33/testOutputReadbackApp/adl:/home/epics-admin/Documents/base-3.15.5/src/ca/legacy/pcas/example/directoryService:/home/epics-admin/Documents/base-3.15.5/src/template/base/top/caServerApp:/home/epics-admin/Documents/base-3.15.5/templates/makeBaseApp/top/caServerApp:/home/epics-admin/Documents/seq-2.2.5/examples/cmdButtons:/home/epics-admin/Documents/seq-2.2.5/examples/demo:/home/epics-admin/Documents/synApps_5_8/support/alive-1-0/aliveApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/areaDetector-R2-0/ADCore-R2-2/ADApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/asyn-4-26/opi/medm:/home/epics-admin/Documents/synApps_5_8/support/asyn-4-26/testApp/adl:/home/epics-admin/Documents/synApps_5_8/support/asyn-4-26/testArrayRingBufferApp/adl:/home/epics-admin/Documents/synApps_5_8/support/asyn-4-26/testAsynPortDriverApp/adl:/home/epics-admin/Documents/synApps_5_8/support/asyn-4-26/testEpicsApp/adl:/home/epics-admin/Documents/synApps_5_8/support/asyn-4-26/testErrorsApp/adl:/home/epics-admin/Documents/synApps_5_8/support/asyn-4-26/testGpibApp/adl:/home/epics-admin/Documents/synApps_5_8/support/asyn-4-26/testIPServerApp/adl:/home/epics-admin/Documents/synApps_5_8/support/autosave-5-6-1/asApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/busy-1-6-1/busyApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/calc-3-4-2-1/calcApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/camac-2-7/camacApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/caputRecorder-1-4-2/caputRecorderApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/dac128V-2-8/dac128VApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/delaygen-1-1-1/delaygenApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/devIocStats-3-1-13/op/adl:/home/epics-admin/Documents/synApps_5_8/support/dxp-3-4/dxpApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/ip-2-17/ipApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/ip330-2-8/ip330App/op/adl:/home/epics-admin/Documents/synApps_5_8/support/ipUnidig-2-10/ipUnidigApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/love-3-2-5/loveApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/mca-7-6/mcaApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/measComp-1-1/measCompApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/modbus-2-7/modbusApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/motor-6-9/motorApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/optics-2-9-3/documentation/fb_epid/source:/home/epics-admin/Documents/synApps_5_8/support/optics-2-9-3/opticsApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/quadEM-5-0/quadEMApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/seq-2-2-1/examples/cmdButtons:/home/epics-admin/Documents/synApps_5_8/support/seq-2-2-1/examples/demo:/home/epics-admin/Documents/synApps_5_8/support/softGlue-2-4-3/softGlueApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/sscan-2-10-1/sscanApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/std-3-4/stdApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/stream-2-6a/streamDevice/streamApp:/home/epics-admin/Documents/synApps_5_8/support/vac-1-5-1/vacApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/vme-2-8-2/vmeApp/op/adl:/home/epics-admin/Documents/synApps_5_8/support/xxx-5-8-3/xxxApp/op/adl:/home/epics-admin/Documents/synApps_modules/asyn/opi/medm:/home/epics-admin/Documents/synApps_modules/asyn/testApp/adl:/home/epics-admin/Documents/synApps_modules/asyn/testArrayRingBufferApp/adl:/home/epics-admin/Documents/synApps_modules/asyn/testAsynPortDriverApp/adl:/home/epics-admin/Documents/synApps_modules/asyn/testEpicsApp/adl:/home/epics-admin/Documents/synApps_modules/asyn/testErrorsApp/adl:/home/epics-admin/Documents/synApps_modules/asyn/testGpibApp/adl:/home/epics-admin/Documents/synApps_modules/asyn/testIPServerApp/adl:/home/epics-admin/Documents/synApps_modules/asyn/testOutputCallbackApp/adl:/home/epics-admin/Documents/synApps_modules/asyn/testOutputReadbackApp/adl:/home/epics-admin/Documents/synApps_modules/autosave/asApp/op/adl:/home/epics-admin/Documents/synApps_modules/busy/busyApp/op/adl:/home/epics-admin/Documents/synApps_modules/calc/calcApp/op/adl:/home/epics-admin/Documents/synApps_modules/seq-2.2.5/examples/cmdButtons:/home/epics-admin/Documents/synApps_modules/seq-2.2.5/examples/demo:/home/epics-admin/Documents/synApps_modules/sscan/sscanApp/op/adl

epics> epicsPrtEnvParams
EPICS_CA_ADDR_LIST is undefined
EPICS_CA_CONN_TMO: 30.0
EPICS_CA_AUTO_ADDR_LIST: YES
EPICS_CA_REPEATER_PORT: 5065
EPICS_CA_SERVER_PORT: 5064
EPICS_CA_MAX_ARRAY_BYTES: 5000000
EPICS_CA_MAX_SEARCH_PERIOD: 300.0
EPICS_CA_NAME_SERVERS is undefined
EPICS_CAS_INTF_ADDR_LIST is undefined
EPICS_CAS_IGNORE_ADDR_LIST is undefined
EPICS_CAS_AUTO_BEACON_ADDR_LIST is undefined
EPICS_CAS_BEACON_ADDR_LIST is undefined
EPICS_CAS_SERVER_PORT is undefined
EPICS_CA_BEACON_PERIOD: 15.0
EPICS_CAS_BEACON_PERIOD is undefined
EPICS_CAS_BEACON_PORT is undefined
EPICS_BUILD_COMPILER_CLASS: gcc
EPICS_BUILD_OS_CLASS: Linux
EPICS_BUILD_TARGET_ARCH: linux-x86_64
EPICS_TIMEZONE: CST/CDT::360:031302:110602
EPICS_TS_NTP_INET is undefined
EPICS_IOC_LOG_PORT: 7004
EPICS_IOC_LOG_INET is undefined
EPICS_IOC_LOG_FILE_LIMIT: 1000000
EPICS_IOC_LOG_FILE_NAME is undefined
EPICS_IOC_LOG_FILE_COMMAND is undefined
EPICS_CMD_PROTO_PORT is undefined
EPICS_AR_PORT: 7002
IOCSH_PS1: epics> 
IOCSH_HISTSIZE: 50

Jason A. Pattie
User Support Specialist Sr.
Molecular Biosciences/MIM/CSGID
Computational Facility Manager - Structural Biology Facility
[email protected]

________________________________________
From: Mark Rivers <[email protected]>
Sent: Friday, October 19, 2018 3:28 PM
To: Jason A . Pattie
Cc: Bruno Martins; Sumit Kewalramani; tech-talk
Subject: Re: Controlling Eiger 1M with EPICS

Hi Jason,


Please run the caget and cainfo utilities from EPICS base to read those PVs.   I have never had the experience of caget being able to see a PV but medm not being able to see it.


medm does not use Python at all.  It only uses the C Channel Access interface from EPICS base.

Please also send the output of the following on the same console where you will run medm.

printenv | grep EPICS

At the IOC prompt please send the output of this command:
epicsPrtEnvParams

Mark


________________________________
From: Jason A . Pattie <[email protected]>
Sent: Friday, October 19, 2018 2:43 PM
To: Mark Rivers
Cc: Bruno Martins; Sumit Kewalramani; tech-talk
Subject: Re: Controlling Eiger 1M with EPICS

Hello,

I've made a few discoveries.  First, iptables lists all three default chains in the ACCEPT state.  I do not believe any firewall rules are applied to the system running EPICS.  /etc/hosts.allow and /etc/hosts.deny have no rules.  So, I don't think there is any security interference preventing TCP/UDP connections on the system.

Second, as you already surmised, all "PV Info" dialogs state that any PV value is in the disconnected state (the reason every PV has a white box instead of a value).  Nothing appears to change with the newer ADEiger/.../op/adl files.  I've been able to target each issue that was emitting errors when running st.cmd, the last one coming down to caRepeater not being available in the PATH for st.cmd (via iocInit()?) to launch automatically.  This removed the output that multiple instances of a server were listening to the same port, since I had previously setup the included caRepeater.service file in systemctl to have caRepeater running all the time.

However, nothing I've tried so far has allowed medm to connect to the IOC.  I have the feeling it has something to do with medm itself or our EPICS installation or the detector interface.  When I used the template Perl CA.pm test script, it connects just fine, and prints out the values of any PV item I provide.  Some of them give errors at the end of the output, though.  I've included some output examples at the end of this message.  I verified that the list of PVs displayed by the 'dbl' command at the "epics>" prompt after running st.cmd match names in the medm interface's white boxes that show disconnected properties when right clicking and selecting PV Info on them.  All PV names tested in the output below were copy/pasted from lines output by 'dbl'.

Does the medm interface use the Python bindings for EPICS at all?  I was going to try the Python test program first, but noticed that our EPICS installation was not compiled with Python included, only Perl.  So, that's why I went with the Perl test program instead.  Should I work on recompiling EPICS and/or MEDM or try to install a different interface?  I read mention of a CS-Studio/Eclipse interface but haven't looked into it, yet.

Thanks to everyone for your patience while wading through these issues with me.

-----Test output-----

$ perl test-pv.pl
    PV name:       13EIG1:cam1:PortName_RBV
    Data type:     DBR_STRING
    Element count: 1
    Host:          10.42.41.1:5064
    State:         connected
    Access:        read, write
    Value:         EIG
13EIG1:cam1:PortName_RBV       ECA_GETFAIL - Channel read request failed

$ perl test-pv.pl
    PV name:       13EIG1:cam1:FilePerms
    Data type:     DBR_DOUBLE
    Element count: 1
    Host:          10.42.41.1:5064
    State:         connected
    Access:        read, write
    Value:         420
    Value:         420
    Severity:
    Timestamp:     1539730984.104482

$ perl test-pv.pl
    PV name:       13EIG1:cam1:TimeStamp_RBV
    Data type:     DBR_DOUBLE
    Element count: 1
    Host:          10.42.41.1:5064
    State:         connected
    Access:        read, write
    Value:         0
    Value:         0
    Severity:
    Timestamp:     1539730983.907067

$ perl test-pv.pl
    PV name:       13EIG1:cam1:PortName_RBV
    Data type:     DBR_STRING
    Element count: 1
    Host:          10.42.41.1:5064
    State:         connected
    Access:        read, write
    Value:         EIG
13EIG1:cam1:PortName_RBV       ECA_GETFAIL - Channel read request failed

$ perl test-pv.pl
    PV name:       13EIG1:cam1:PhotonEnergy
    Data type:     DBR_DOUBLE
    Element count: 1
    Host:          10.42.41.1:5064
    State:         connected
    Access:        read, write
    Value:         8047.77978515625
    Value:         8047.78
    Severity:
    Timestamp:     1539730984.104490

$ perl test-pv.pl
    PV name:       13EIG1:cam1:Temperature
    Data type:     DBR_DOUBLE
    Element count: 1
    Host:          129.105.37.250:5064
    State:         connected
    Access:        read, write
    Value:         25
    Value:         25
    Severity:
    Timestamp:     1539732428.393049

-----Test script-----

use lib '/home/epics-admin/Documents/base-3.15.5/lib/perl';
use CA;

my $chan = CA->new('13EIG1:cam1:Temperature');
#my $chan = CA->new('13EIG1:cam1:AcquireTime');
#my $chan = CA->new('13EIG1:cam1:PhotonEnergy');
#my $chan = CA->new('13EIG1:cam1:Gain');
#my $chan = CA->new('13EIG1:cam1:FilePerms');
#my $chan = CA->new('13EIG1:cam1:TimeStamp_RBV');
#my $chan = CA->new('13EIG1:image1:PoolMaxMem');
#my $chan = CA->new('13EIG1:cam1:PortName_RBV');
#my $chan = CA->new('13EIG1:cam1:DriverVersion_RBV');
#my $chan = CA->new('13EIG1:cam1:ADCoreVersion_RBV');
#my $chan = CA->new('13EIG1:cam1:ShutterOpenEPICS');
#my $chan = CA->new('13EIG1:cam1:ShutterCloseEPICS');
#my $chan = CA->new('');
CA->pend_io(1);

my @access = ('no ', '');
printf "    PV name:       %s\n", $chan->name;
printf "    Data type:     %s\n", $chan->field_type;
printf "    Element count: %d\n", $chan->element_count;
printf "    Host:          %s\n", $chan->host_name;
printf "    State:         %s\n", $chan->state;
printf "    Access:        %sread, %swrite\n",
$access[$chan->read_access], $access[$chan->write_access];

die "PV not found!" unless $chan->is_connected;

$chan->get;
CA->pend_io(1);
printf "    Value:         %s\n", $chan->value;

$chan->create_subscription('v', \&callback, 'DBR_TIME_DOUBLE');
CA->pend_event(10);

sub callback {
        my ($chan, $status, $data) = @_;
        if ($status) {
                printf "%-30s %s\n", $chan->name, $status;
        } else {
                printf "    Value:         %g\n", $data->{value};
                printf "    Severity:      %s\n", $data->{severity};
                printf "    Timestamp:     %.6f\n",
                $data->{stamp} + $data->{stamp_fraction};
        }
}



Jason A. Pattie
User Support Specialist Sr.
Molecular Biosciences/MIM/CSGID
Computational Facility Manager - Structural Biology Facility
[email protected]

________________________________________
From: Jason A . Pattie
Sent: Monday, October 15, 2018 1:02 PM
To: Mark Rivers
Cc: Bruno Martins; Sumit Kewalramani; tech-talk
Subject: Re: Controlling Eiger 1M with EPICS

Ok.  That makes sense.  There is only a single 10Gbit Ethernet cable connecting the Eiger R1M to the DCU computer.

I didn't even think that the firewall could be an issue.  I'll check and get back to you as well as attempt to upgrade medm.

Thanks!

Jason A. Pattie
User Support Specialist Sr.
Molecular Biosciences/MIM/CSGID
Computational Facility Manager - Structural Biology Facility
[email protected]

________________________________________
From: Mark Rivers <[email protected]>
Sent: Friday, October 12, 2018 10:31 PM
To: Jason A . Pattie
Cc: Bruno Martins; Sumit Kewalramani; tech-talk
Subject: Re: Controlling Eiger 1M with EPICS

Hi Jason,

How many 10 GigE cables does your Eiger have connecting the detector to the computer? If only one then it makes sense that only LINK_0 is defined.

The white medm screens are probably a separate issue. If you type “dbl” at the IOC prompt do you see the same PV names that are white on the medm screens? If so then you probably have a firewall preventing medm from connecting to the IOC.

It also looks like you should get the latest medm screen from the master branch on Github.  I improved that recently.

Mark


Sent from my iPhone

On Oct 12, 2018, at 5:36 PM, Jason A . Pattie <[email protected]<mailto:[email protected]>> wrote:


I successfully applied the firmware update to the DCU, and it now shows 1.6.6.  However, we are still in the same boat.  I checked the link_N URLs individually against the DCU's server through my browser, and verified that only link_0 functioned and returned status.  All other links returned a 500 error with a message about not being able to forward properly to an internal proxy.  So, I commented out in the eigerDetector.cpp all lines associated with link(s)_1 through 3 and recompiled.  That eliminated the error messages we were receiving regarding those links and made the output a lot cleaner.  I'm assuming the Eiger R1M only has one link, maybe?


However, medm still displays the same blank info screens (screenshot attached).  Here is the output of st.cmd.  Should we be concerned about the line that states "ServerContext configured with not Providers will do nothing!"?


Thank you all for all your help with this.


$ ./st.cmd
#!../../bin/linux-x86_64/eigerDetectorApp
< envPaths
epicsEnvSet("IOC","iocEiger")
epicsEnvSet("TOP","/home/epics-admin/Documents/areaDetector/ADEiger/iocs/eigerIOC")
epicsEnvSet("ADEIGER","/home/epics-admin/Documents/areaDetector/ADEiger/iocs/eigerIOC/../..")
epicsEnvSet("SUPPORT","/home/epics-admin/Documents")
epicsEnvSet("ASYN","/home/epics-admin/Documents/asyn4-33")
epicsEnvSet("AREA_DETECTOR","/home/epics-admin/Documents/areaDetector")
epicsEnvSet("ADSUPPORT","/home/epics-admin/Documents/areaDetector/ADSupport")
epicsEnvSet("ADCORE","/home/epics-admin/Documents/areaDetector/ADCore")
epicsEnvSet("AUTOSAVE","/home/epics-admin/Documents/synApps_modules/autosave")
epicsEnvSet("EPICS_BASE","/home/epics-admin/Documents/base-3.15.5")
epicsEnvSet("PVA","/home/epics-admin/Documents/EPICS-CPP-4.7.0")
epicsEnvSet("PVCOMMON","/home/epics-admin/Documents/EPICS-CPP-4.7.0/pvCommonCPP")
epicsEnvSet("PVACCESS","/home/epics-admin/Documents/EPICS-CPP-4.7.0/pvAccessCPP")
epicsEnvSet("PVDATA","/home/epics-admin/Documents/EPICS-CPP-4.7.0/pvDataCPP")
epicsEnvSet("PVDATABASE","/home/epics-admin/Documents/EPICS-CPP-4.7.0/pvDatabaseCPP")
epicsEnvSet("NORMATIVETYPES","/home/epics-admin/Documents/EPICS-CPP-4.7.0/normativeTypesCPP")
errlogInit(20000)
dbLoadDatabase("/home/epics-admin/Documents/areaDetector/ADEiger/iocs/eigerIOC/dbd/eigerDetectorApp.dbd")
eigerDetectorApp_registerRecordDeviceDriver(pdbbase)
epicsEnvSet("PREFIX", "13EIG1:")
epicsEnvSet("PORT",   "EIG")
epicsEnvSet("QSIZE",  "20")
epicsEnvSet("XSIZE",  "1030")
epicsEnvSet("YSIZE",  "1065")
epicsEnvSet("NCHANS", "2048")
epicsEnvSet("CBUFFS", "500")
epicsEnvSet("EIGERIP", "10.42.41.10")
epicsEnvSet("EPICS_DB_INCLUDE_PATH", "/home/epics-admin/Documents/areaDetector/ADCore/db")
epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES", "5000000")
eigerDetectorConfig("EIG", "10.42.41.10", 0, 0)
RestApi::get: [param=description] server returned error code 404
2018/10/12 16:39:58.876 Param[DESCRIPTION]::baseFetch: [param=description] unable to parse json response
[]
2018/10/12 16:39:58.876 Param[DESCRIPTION]::fetch<string>: [param=DESCRIPTION] underlying baseFetch failed
2018/10/12 16:39:58.876 eigerDetector::eigerDetector: Eiger seems to be uninitialized
Initializing... (may take a while)
dbLoadRecords("/home/epics-admin/Documents/areaDetector/ADEiger/iocs/eigerIOC/../../db/eiger.template", "P=13EIG1:,R=cam1:,PORT=EIG,ADDR=0,TIMEOUT=1")
# Debug
#asynSetTraceMask("$(PORT)", 0, 0x11)
# Create a standard arrays plugin
NDStdArraysConfigure("Image1", 5, 0, "EIG", 0, 0)
dbLoadRecords("/home/epics-admin/Documents/areaDetector/ADCore/db/NDStdArrays.template", "P=13EIG1:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,TYPE=Int32,FTVL=LONG,NELEMENTS=1096950, NDARRAY_PORT=EIG")
NDStdArraysConfigure("Image2", 5, 0, "EIG", 1, 0)
dbLoadRecords("/home/epics-admin/Documents/areaDetector/ADCore/db/NDStdArrays.template", "P=13EIG1:,R=image2:,PORT=Image2,ADDR=0,TIMEOUT=1,TYPE=Int32,FTVL=LONG,NELEMENTS=1096950, NDARRAY_PORT=EIG")
# Load all other plugins using commonPlugins.cmd
< /home/epics-admin/Documents/areaDetector/ADCore/iocBoot/commonPlugins.cmd
set_requestfile_path("/home/epics-admin/Documents/areaDetector/ADEiger/iocs/eigerIOC/../../eigerApp/Db")
iocInit()
Starting iocInit
############################################################################
## EPICS R3.15.5
## EPICS Base built Nov 13 2017
############################################################################
2018/10/12 16:40:18.588 asynPortDriver:drvUserCreate: addr=0, cannot find parameter LINK_1
13EIG1:cam1:Link1_RBV devAsynInt32::initCommon drvUserCreate
2018/10/12 16:40:18.588 asynPortDriver:drvUserCreate: addr=0, cannot find parameter LINK_2
13EIG1:cam1:Link2_RBV devAsynInt32::initCommon drvUserCreate
2018/10/12 16:40:18.588 asynPortDriver:drvUserCreate: addr=0, cannot find parameter LINK_3
13EIG1:cam1:Link3_RBV devAsynInt32::initCommon drvUserCreate
cas warning: Configured TCP port was unavailable.
cas warning: Using dynamically assigned TCP port 32859,
cas warning: but now two or more servers share the same UDP port.
cas warning: Depending on your IP kernel this server may not be
cas warning: reachable with UDP unicast (a host's IP in EPICS_CA_ADDR_LIST)
iocRun: All initialization complete
2018-10-12T16:40:19.098 ServerContext configured with not Providers will do nothing!

2018-10-12T16:40:19.099 Using dynamically assigned TCP port 37019.
# Avoid deluge of messages when debugging
#dbpf $(PREFIX)cam1:PoolUsedMem.SCAN Passive
# save things every thirty seconds
create_monitor_set("auto_settings.req", 30, "P=13EIG1:")
save_restore:readReqFile: unable to open file auto_settings.req. Exiting.
epics>


Jason A. Pattie
User Support Specialist Sr.
Molecular Biosciences/MIM/CSGID
Computational Facility Manager - Structural Biology Facility
[email protected]<mailto:[email protected]>
________________________________
From: Bruno Martins <[email protected]<mailto:[email protected]>>
Sent: Wednesday, October 3, 2018 11:17 AM
To: Mark Rivers
Cc: Jason A . Pattie; Sumit Kewalramani; tech-talk
Subject: Re: RE: Controlling Eiger 1M with EPICS

I think that at some point after 1.6.2 Dectris changed "linkN" to "link_N". I think the easiest solution is to update the firmware.

Bruno


On Tue, Oct 2, 2018 at 10:27 PM Mark Rivers <[email protected]<mailto:[email protected]>> wrote:

>  Our Eiger firmware version is 1.6.2.  The version of ADEiger that we are attempting to use had in one of the RELEASE info files the mention of requiring firmware version 1.6.4+.

The ADEiger documentation here https://urldefense.proofpoint.com/v2/url?u=http-3A__cars.uchicago.edu_software_epics_eigerDoc.html&d=DwIF-g&c=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws&r=xHxpSmnIlNLPkyDYhm0GW22Qmb6Zj8BzvIXTi9b2KvA&m=bSfzhV7igFsQWnjUREPJu5t1fnj-2NeDBg5ngRK2Y80&s=Ari77QPTEjPzRXsLmyOdo7LbVzUu7XNwxjceJh8LBog&e=<https://urldefense.proofpoint.com/v2/url?u=http-3A__cars.uchicago.edu_software_epics_eigerDoc.html&d=DwMFaQ&c=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws&r=xHxpSmnIlNLPkyDYhm0GW22Qmb6Zj8BzvIXTi9b2KvA&m=iIC3CmFamYclh9aeWQG1w6GTNSbnhDzIOs95jta-Z3s&s=V43R4qUXCAPFn_j7_W5j-S9EgA_l0DnNKEuCCFyuiyQ&e=> says that it has been tested with firmware 1.6.4+.  My Eiger 50K has firmware 1.6.6.  So I think it is quite possible that the problem is that you are running older firmware.

Mark


From: Jason A . Pattie <[email protected]<mailto:[email protected]>>
Sent: Tuesday, October 2, 2018 7:15 PM
To: Mark Rivers <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>; Sumit Kewalramani <[email protected]<mailto:[email protected]>>
Subject: Re: RE: Controlling Eiger 1M with EPICS

Hi Mark,

I think I was able to obtain an image using the web interface.  I will verify this the next time I'm at the instrument.  When running the st.cmd command, the light on the back of the Eiger changes from red to green before spewing errors.

I did a little more digging.  Our Eiger firmware version is 1.6.2.  The version of ADEiger that we are attempting to use had in one of the RELEASE info files the mention of requiring firmware version 1.6.4+.  Do you think this could be our issue?  I've downloaded R2-1 which mentions 1.6.2 and am going to attempt to compile it with the areaDetector tree we currently have installed.

Thanks for your help!

On 2018-10-02 18:40 , Mark Rivers<mailto:[email protected]> Wrote:


Hi Jason,

I had a similar problem with our Eiger 500, but in my case it could only not find link_3 and link_4.  This is an expected error on the Eiger 500K because only link_1 and link_2 exist.  I fixed the driver for the 500K in this commit:

https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_areaDetector_ADEiger_commit_50e13b24226e6eb702bd88a8dab16ed280c99137-23diff-2Dd1d617fd8427431b5658f2ef750e0a74&d=DwIF-g&c=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws&r=xHxpSmnIlNLPkyDYhm0GW22Qmb6Zj8BzvIXTi9b2KvA&m=bSfzhV7igFsQWnjUREPJu5t1fnj-2NeDBg5ngRK2Y80&s=FEaB5dLMy0trKmegUn3FKzoXHgIDv2wmHn6obZaK_0o&e=<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_areaDetector_ADEiger_commit_50e13b24226e6eb702bd88a8dab16ed280c99137-23diff-2Dd1d617fd8427431b5658f2ef750e0a74&d=DwMFAg&c=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws&r=xHxpSmnIlNLPkyDYhm0GW22Qmb6Zj8BzvIXTi9b2KvA&m=m5_753ZtQ8B3DF7znC3CoudhCQj6br_SUcsei_goexg&s=7Qout4EU6K6aP-Wzj6SwnyPpfEhVTF654YhdYvF871E&e=>

In your case it is not finding any of the links (link_1 through link_4), probably in the eigerDetector::eigerStatus() function.  That does not make sense to me.

Is the detector working otherwise?  Can you collect an image?

Mark


From: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> On Behalf Of Jason A . Pattie
Sent: Tuesday, October 2, 2018 4:19 PM
To: [email protected]<mailto:[email protected]>
Cc: Sumit Kewalramani <[email protected]<mailto:[email protected]>>
Subject: Controlling Eiger 1M with EPICS


Hello,



I'm attempting to setup a Dectris Eiger R 1M with EPICS (3.15.5) and have compiled the latest version of asyn, ADSupport, ADCore, and ADEiger driver.  Upon running st.cmd, I receive the following errors:



eigerDetectorConfig("EIG", "10.42.41.10", 0, 0)
RestApi::get: [param=description] server returned error code 404
2018/10/02 15:43:48.583 Param[DESCRIPTION]::baseFetch: [param=description] unable to parse json response
[]
2018/10/02 15:43:48.583 Param[DESCRIPTION]::fetch<string>: [param=DESCRIPTION] underlying baseFetch failed
2018/10/02 15:43:48.583 eigerDetector::eigerDetector: Eiger seems to be uninitialized
Initializing... (may take a while)
RestApi::get: [param=link_1] server returned error code 500
2018/10/02 15:44:07.686 Param[LINK_1]::baseFetch: [param=link_1] unable to parse json response
[]
2018/10/02 15:44:07.686 Param[LINK_1]::fetch<int>: [param=LINK_1] underlying baseFetch failed
RestApi::get: [param=link_2] server returned error code 500
2018/10/02 15:44:07.689 Param[LINK_2]::baseFetch: [param=link_2] unable to parse json response
[]
2018/10/02 15:44:07.689 Param[LINK_2]::fetch<int>: [param=LINK_2] underlying baseFetch failed
RestApi::get: [param=link_3] server returned error code 500
2018/10/02 15:44:07.693 Param[LINK_3]::baseFetch: [param=link_3] unable to parse json response
[]
2018/10/02 15:44:07.693 Param[LINK_3]::fetch<int>: [param=LINK_3] underlying baseFetch failed
RestApi::get: [param=link_1] server returned error code 500
2018/10/02 15:44:07.816 Param[LINK_1]::baseFetch: [param=link_1] unable to parse json response
[]
2018/10/02 15:44:07.816 Param[LINK_1]::fetch<int>: [param=LINK_1] underlying baseFetch failed
RestApi::get: [param=link_2] server returned error code 500
2018/10/02 15:44:07.825 Param[LINK_2]::baseFetch: [param=link_2] unable to parse json response
[]
2018/10/02 15:44:07.825 Param[LINK_2]::fetch<int>: [param=LINK_2] underlying baseFetch failed
RestApi::get: [param=link_3] server returned error code 500
2018/10/02 15:44:07.834 Param[LINK_3]::baseFetch: [param=link_3] unable to parse json response
[]
2018/10/02 15:44:07.834 Param[LINK_3]::fetch<int>: [param=LINK_3] underlying baseFetch failed
epics> eigerDetectorConfig("EIG", "$(EIGERIP)", 0, 0)
RestApi::get: [param=link_1] server returned error code 500
2018/10/02 15:44:42.327 Param[LINK_1]::baseFetch: [param=link_1] unable to parse json response
[]
2018/10/02 15:44:42.327 Param[LINK_1]::fetch<int>: [param=LINK_1] underlying baseFetch failed
RestApi::get: [param=link_2] server returned error code 500
2018/10/02 15:44:42.336 Param[LINK_2]::baseFetch: [param=link_2] unable to parse json response
[]
2018/10/02 15:44:42.336 Param[LINK_2]::fetch<int>: [param=LINK_2] underlying baseFetch failed
RestApi::get: [param=link_3] server returned error code 500
2018/10/02 15:44:42.345 Param[LINK_3]::baseFetch: [param=link_3] unable to parse json response
[]
2018/10/02 15:44:42.345 Param[LINK_3]::fetch<int>: [param=LINK_3] underlying baseFetch failed
RestApi::get: [param=link_1] server returned error code 500
2018/10/02 15:44:42.500 Param[LINK_1]::baseFetch: [param=link_1] unable to parse json response
[]
2018/10/02 15:44:42.500 Param[LINK_1]::fetch<int>: [param=LINK_1] underlying baseFetch failed
RestApi::get: [param=link_2] server returned error code 500
2018/10/02 15:44:42.509 Param[LINK_2]::baseFetch: [param=link_2] unable to parse json response
[]
2018/10/02 15:44:42.509 Param[LINK_2]::fetch<int>: [param=LINK_2] underlying baseFetch failed
RestApi::get: [param=link_3] server returned error code 500
2018/10/02 15:44:42.518 Param[LINK_3]::baseFetch: [param=link_3] unable to parse json response
[]
2018/10/02 15:44:42.518 Param[LINK_3]::fetch<int>: [param=LINK_3] underlying baseFetch failed



If you need any other information, please let me know.



Any help figuring this out would be greatly appreciated.



Thank you.


Jason A. Pattie
User Support Specialist Sr.
Molecular Biosciences/MIM/CSGID
Computational Facility Manager - Structural Biology Facility
[email protected]<mailto:[email protected]>
<Screenshot from 2018-10-12 17-27-08.png>

Replies:
Re: Controlling Eiger 1M with EPICS Mark Rivers
References:
Re: RE: Controlling Eiger 1M with EPICS Jason A . Pattie
RE: RE: Controlling Eiger 1M with EPICS Mark Rivers
Re: RE: Controlling Eiger 1M with EPICS Bruno Martins
Re: RE: Controlling Eiger 1M with EPICS Jason A . Pattie
Re: Controlling Eiger 1M with EPICS Mark Rivers
Re: Controlling Eiger 1M with EPICS Jason A . Pattie
Re: Controlling Eiger 1M with EPICS Jason A . Pattie
Re: Controlling Eiger 1M with EPICS Mark Rivers

Navigate by Date:
Prev: Accessing IOC_NAME on RTEMS boot (MVME3100) Perea-Chamblee, Tomin
Next: Re: Controlling Eiger 1M with EPICS 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  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Controlling Eiger 1M with EPICS Mark Rivers
Next: Re: Controlling Eiger 1M with EPICS 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  2021  2022  2023  2024