]> jspc29.x-matter.uni-frankfurt.de Git - hadesdaq.git/commitdiff
add concentrator addresses file
authorHadaq Hades <hadaq@lxhadesdaq>
Fri, 11 May 2018 12:42:10 +0000 (14:42 +0200)
committerHadaq Hades <hadaq@lxhadesdaq>
Fri, 11 May 2018 12:42:10 +0000 (14:42 +0200)
66 files changed:
control/gui/monitor/30_Epics_EB
evtbuild/eb_bnet_ltsm.conf
evtbuild/start_eb_gbe.pl [changed from symlink to file mode: 0755]
evtbuild/start_eb_gbe.sh
evtbuild/start_eb_iocs.sh
hub/register_configgbe_2018.db
hub/register_configgbe_ip.db
hub/register_configgbe_ip_2018.db
mdc/addresses_oep.db
rich/addresses_concentrator.db [new symlink]
rpc/utilities/remTestSignalS1L.sh [deleted file]
rpc/utilities/remTestSignalS2L.sh [deleted file]
rpc/utilities/remTestSignalS3L.sh [deleted file]
rpc/utilities/remTestSignalS4L.sh [deleted file]
rpc/utilities/remTestSignalS5L.sh [deleted file]
rpc/utilities/remTestSignalS6L.sh [deleted file]
rpc/utilities/remTestSignalSX.sh [deleted file]
rpc/utilities/remTestSignalSXL.sh [deleted file]
rpc/utilities/setTestSignalS1L.sh [deleted file]
rpc/utilities/setTestSignalS2L.sh [deleted file]
rpc/utilities/setTestSignalS3L.sh [deleted file]
rpc/utilities/setTestSignalS4L.sh [deleted file]
rpc/utilities/setTestSignalS5L.sh [deleted file]
rpc/utilities/setTestSignalS5R.sh [deleted file]
rpc/utilities/setTestSignalS6L.sh [deleted file]
rpc/utilities/setTestSignalSX.sh [deleted file]
rpc/utilities/setTestSignalSXL.sh [deleted file]
rpc/utilities/setThresholdsAllFFFF.sh [deleted file]
rpc/utilities/setThresholdsAll_b.sh [deleted file]
rpc/utilities/setThresholdsAll_c.sh [deleted file]
rpc/utilities/setThresholdsS1.sh
rpc/utilities/setThresholdsS1ToFFFF.sh [deleted file]
rpc/utilities/setThresholdsS1_b.sh [deleted file]
rpc/utilities/setThresholdsS1_c.sh [deleted file]
rpc/utilities/setThresholdsS1_d.sh [deleted file]
rpc/utilities/setThresholdsS2.sh
rpc/utilities/setThresholdsS2ToFFFF.sh [deleted file]
rpc/utilities/setThresholdsS2_b.sh [deleted file]
rpc/utilities/setThresholdsS2_c.sh [deleted file]
rpc/utilities/setThresholdsS2_d.sh [deleted file]
rpc/utilities/setThresholdsS3ToFFFF.sh [deleted file]
rpc/utilities/setThresholdsS3_b.sh [deleted file]
rpc/utilities/setThresholdsS3_c.sh [deleted file]
rpc/utilities/setThresholdsS3_d.sh [deleted file]
rpc/utilities/setThresholdsS4.sh
rpc/utilities/setThresholdsS4ToFFFF.sh [deleted file]
rpc/utilities/setThresholdsS4_b.sh [deleted file]
rpc/utilities/setThresholdsS4_c.sh [deleted file]
rpc/utilities/setThresholdsS4_d.sh [deleted file]
rpc/utilities/setThresholdsS5.sh
rpc/utilities/setThresholdsS5ToFFFF.sh [deleted file]
rpc/utilities/setThresholdsS5_b.sh [deleted file]
rpc/utilities/setThresholdsS5_c.sh [deleted file]
rpc/utilities/setThresholdsS5_d.sh [deleted file]
rpc/utilities/setThresholdsS6.sh
rpc/utilities/setThresholdsS6ToFFFF.sh [deleted file]
rpc/utilities/setThresholdsS6_b.sh [deleted file]
rpc/utilities/setThresholdsS6_c.sh [deleted file]
rpc/utilities/setThresholdsS6_d.sh [deleted file]
rpc/utilities/setTriggerBoardS1.sh [deleted file]
rpc/utilities/setTriggerBoardS2.sh [deleted file]
rpc/utilities/setTriggerBoardS3.sh [deleted file]
rpc/utilities/setTriggerBoardS4.sh [deleted file]
rpc/utilities/setTriggerBoardS5.sh [deleted file]
rpc/utilities/setTriggerBoardS6.sh [deleted file]
rpc/utilities/setTriggerBoardSX.sh

index cebc553eba328e6c566e316e242937eff3471cab..315b7f1b1e2ca4ca5bbb9a2d84d61fe615a11573 100755 (executable)
@@ -1,4 +1,6 @@
 #!/bin/bash
-ssh -X scs@lxhadeb06  'export EPICS_CA_ADDR_LIST="192.168.111.255 192.168.111.255:10012 192.168.111.255:10008 192.168.111.255:10003 192.168.111.255:10002 192.168.111.255:10001 192.168.111.255:10014 192.168.111.255:10007 192.168.111.255:10004 192.168.111.255:10010 192.168.111.255:10013 192.168.111.255:10015 192.168.111.255:10016 192.168.111.255:10009 192.168.111.255:10005 192.168.111.255:10011 192.168.111.255:10006" ; export EPICS_CA_AUTO_ADDR_LIST=NO; /home/epics/EPICS/EPICS-3.14.12.4/extensions/bin/linux-x86_64/medm -x -macro "SUBSYSNUM=24" ~/operator/ebmainctrl.adl'
+#ssh -X scs@lxhadeb06  'export EPICS_CA_ADDR_LIST="192.168.111.255 192.168.111.255:10012 192.168.111.255:10008 192.168.111.255:10003 192.168.111.255:10002 192.168.111.255:10001 192.168.111.255:10014 192.168.111.255:10007 192.168.111.255:10004 192.168.111.255:10010 192.168.111.255:10013 192.168.111.255:10015 192.168.111.255:10016 192.168.111.255:10009 192.168.111.255:10005 192.168.111.255:10011 192.168.111.255:10006" ; export EPICS_CA_AUTO_ADDR_LIST=NO; /home/epics/EPICS/EPICS-3.14.12.4/extensions/bin/linux-x86_64/medm -x -macro "SUBSYSNUM=24" ~/operator/ebmainctrl.adl'
+
+ssh -X scs@lxhadeb06  'export EPICS_CA_ADDR_LIST="192.168.111.255 192.168.111.255:10007 192.168.111.255:10012 192.168.111.255:10004 192.168.111.255:10008 192.168.111.255:10010 192.168.111.255:10003 192.168.111.255:10013 192.168.111.255:10015 192.168.111.255:10009 192.168.111.255:10005 192.168.111.255:10002 192.168.111.255:10001 192.168.111.255:10011 192.168.111.255:10014 192.168.111.255:10006" ; export EPICS_CA_AUTO_ADDR_LIST=NO; /home/epics/EPICS/EPICS-3.14.12.4/extensions/bin/linux-x86_64/medm -x -macro "SUBSYSNUM=24" ~/operator/ebmainctrl.adl'
 
 #export EPICS_CA_ADDR_LIST=192.168.111.255; export EPICS_CA_AUTO_ADDR_LIST=NO; /home/epics/EPICS/EPICS-3.14.12.4/extensions/bin/linux-x86_64/medm -x -macro "SUBSYSNUM=24" /home/scs/operator/ebmainctrl.adl &
index c77202bfd02706503d318f9117e78f57f1efbd20..2714cd13f8c54b1097fc204b9c44fc10481ad82c 100644 (file)
@@ -20,7 +20,7 @@ EB_OUTDEV:      null
 EB_EXT:         te
 
 # file size in MBytes 
-EB_FSIZE:       500
+EB_FSIZE:       1500
 
 EB_EVTID:       1   
 SHMEMNAME:      test
@@ -70,13 +70,13 @@ QUEUESIZE: 32
 BNETINP:       0 0 0 0
 #BNETINP:      1 1 1 1
 #BNETINP:      2 2 2 2
-BNETBLD:       2 2 2 2
+#BNETBLD:      2 2 2 2
 #BNETBLD:      3 3 3 3
-#BNETBLD:      1 1 1 1
+BNETBLD:       1 1 1 1
 
 # EB Nr        0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
 #EB_LIST:       1  1  1  1  1  1  1  1  0  0  0  0  0  0  0  0
-EB_LIST:       1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
+EB_LIST:       1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  0
 
 # Switch to DABC mode (on=1/off=0) for 16 EB processes
 # EB Nr        0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
@@ -84,7 +84,7 @@ EB_LIST:       1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
 #DABC:         0  0  0  0  1  1  1  1  0  0  0  0  0  0  0  0
 #DABC:         0  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0
 #DABC:         0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0
-DABC:          1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
+DABC:          1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  0
 #DABC:         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
 
 # Switch multiple disk ctrl via daq_disks (1=on,0=off)
@@ -104,7 +104,7 @@ EB_DEBUG:      0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
 
 # Switch (on=1/off=0) EPICS Control of EB processes
 # IOC Master is by default the IOC for EB process 1
-EPICS_CTRL:    1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
+EPICS_CTRL:    1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  0
  
 # RFIO switch (on=1/off=0) for 16 EB processes
 # EB Nr        0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
@@ -130,23 +130,21 @@ RFIO_iPathConvention: 0
 # LTSM switch (on=1/off=0) for 16 EB processes
 # note: for bnet mode, only flag of EB15 is used!
 # EB Nr        0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
-#LTSM:          1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
+#LTSM:          1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  0
 LTSM:          0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 #LTSM:          0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 
 
 # LTSM default options for all EB processes
 
-LTSM_PATH:      /lustre/hebe/hades/jan18test/default
-#LTSM_PATH:      /home/hadaq/raw/jun17/default
-#LTSM_PATH:      /home/hadaq/raw/jun17/default
+LTSM_PATH:      /lustre/hebe/hades/raw/jan18test/default/tsm
 #LTSM_Server:  lxltsm01-tsm-server
 LTSM_Server: lxltsm01-8t
 #LTSM_Node:    LTSM_TEST01
 #LTSM_Passwd:  LTSM_TEST01
 
-LTSM_Node:     hades8t
-LTSM_Passwd:    hades8t
+LTSM_Node:     hadestest
+LTSM_Passwd:    hadestest
 
 
 LTSM_Filesystem:       /lustre/hebe
@@ -194,7 +192,7 @@ MULTIDISK: 1
 
 ONLINESERVER: on
 
-OUTDIR: /data10/data/
+OUTDIR: /data01/data/
 
 RESDOWNSCALE: 20
 RESNUMEVENTS: 2000
@@ -214,14 +212,14 @@ OUTDIR: /data10/data/
 #----------------------------------------------
 [EB_PROC_4]
 
-OUTDIR: /data10/data/
+OUTDIR: /data01/data/
 MULTIDISK: 5
 
 
 #----------------------------------------------
 [EB_PROC_5]
 
-OUTDIR: /data02/data/
+OUTDIR: /data01/data/
 MULTIDISK: 2
 #----------------------------------------------
 [EB_PROC_6]
deleted file mode 120000 (symlink)
index b43afdee93c0991d19c86cec9276f6a7ce5ceb50..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-start_eb_gbe_bnet_ltsm.pl
\ No newline at end of file
new file mode 100755 (executable)
index 0000000000000000000000000000000000000000..3d35a07ba8332a51907e2849ca1e2782c3202f5a
--- /dev/null
+#!/usr/bin/perl -w
+
+use English;
+use strict;
+use Getopt::Long;
+use Data::Dumper;
+use Config::Std;
+use FileHandle;
+use List::MoreUtils qw(any apply first_index);
+use File::Basename;
+use Cwd;
+
+#- Copy all the arguments because
+#  later on the @ARGV becomes empty
+my @arg_list = @ARGV;
+
+#- the command line option flags
+my $opt_help    = 0;
+my $opt_ebconf  = "/home/hadaq/trbsoft/hadesdaq/evtbuild/eb.conf";
+my $opt_ioc = "";
+my $opt_test = 0;
+my $opt_verb = 0;
+my $opt_eb = "";
+my @opt_ebrange = ();
+my $opt_rfio = 'undef';
+my $opt_disk = 'undef';
+my $opt_online = 'undef';
+my $opt_prefix;
+
+GetOptions ('h|help'      => \$opt_help,
+            'c|conf=s'    => \$opt_ebconf,
+            'e|eb=s'      => \$opt_eb,
+            'i|ioc=s'     => \$opt_ioc,
+            't|test'      => \$opt_test,
+            'n|nr=s'      => \@opt_ebrange,
+            'd|disk=s'    => \$opt_disk,
+            'r|rfio=s'    => \$opt_rfio,
+            'p|prefix=s'  => \$opt_prefix,
+            'o|online=s'  => \$opt_online,
+            'v|verb'      => \$opt_verb);
+
+if( $opt_help ) {
+    &help();
+    exit(0);
+}
+
+#- List of EBs provided via command line options
+my $active_EBs_aref = &setArgs();
+
+#- Hash with status of CPU cores of EBs (used for 'taskset')
+my %EB_CPU_status;
+my $EB_CPU_status_href = \%EB_CPU_status;
+&init_CPU_status($EB_CPU_status_href);
+
+my $expect_ioc_script = "/tmp/ioc_exit.exp";
+my $log_path          = "/tmp/log"; 
+my %temp_args;
+my $temp_args_href = \%temp_args;
+read_config $opt_ebconf => %$temp_args_href;
+#print Dumper $temp_args_href;
+#exit;
+
+my %IP_GSI_lookup = (
+    '192.168.100.15'   => '140.181.66.160',
+    '192.168.100.12'   => '140.181.76.94',
+    '192.168.100.13'   => '140.181.91.154',
+    '192.168.100.14'   => '140.181.88.20',
+    '192.168.100.8'    => '140.181.80.62',
+    '192.168.100.9'    => '140.181.80.64',
+    '192.168.100.10'    => '140.181.80.68'
+  );
+  
+my $IP_GSI_href = \%IP_GSI_lookup;
+
+
+my $numOfEBProcs = 0;
+my %EB_Args;
+my $EB_Args_href = \%EB_Args;
+
+my @EB_IP_list;
+
+
+
+&getEBArgs( $EB_Args_href );
+
+if($opt_ioc eq "start"){
+    &killIOC();
+    &startIOC();
+}
+elsif($opt_ioc eq "stop"){
+    &killIOC();
+}
+elsif($opt_eb eq "start"){
+    &writeArgs2file();
+    &startEvtBuilders();
+}
+elsif($opt_eb eq "stop"){
+    &stopEvtBuilders();
+}
+elsif($opt_eb eq "restart"){
+    &stopEvtBuilders();
+    sleep 1;
+    &writeArgs2file();
+    &startEvtBuilders();
+}
+
+exit(0);
+
+################### END OF MAIN ####################
+
+sub help()
+{
+    print "\n";
+    print << 'EOF';
+start_eb_gbe.pl
+
+   This script starts parallel Event Building processes.
+   The script also starts IOC processes for the run control.
+
+Usage:
+
+   Command line:  start_eb_gbe.pl 
+   [-h|--help]                     : Show this help.
+   [-c|--conf <path/name>]         : Path to the config file (default: ../evtbuild/eb.conf).
+   [-e|--eb <start|stop|restart>]  : Start or stop Event Builders (default: start).
+   [-i|--ioc <start|stop>]         : Start or stop IOCs (default: start).
+   [-n|--nr <rangeOfEBs>]          : Range of numbers of Event Bulders to be started.
+   [-d|--disk <on|off>]            : Switch writing to disk on|off.
+   [-r|--rfio <on|off>]            : Switch writing to tape on|off.
+   [-p|--prefix <prefix>]          : Prefix of hld file.
+   [-o|--online <on|off>]          : Switch RPC server on|off.
+   [-t|--test]                     : Test without execution.
+   [-v|--verb]                     : More verbouse.
+
+Examples:
+
+   Start 6 EBs with the numbers 1,2,3,5,7 and prefix 'md':
+   start_eb_gbe.pl -e start -n 1-3 -n 5 -n 7 -p md
+
+   Start EBs and enable writing to disks but disable writing to tape for all EBs:
+   start_eb_gbe.pl -e start --disk on --rfio off
+
+EOF
+}
+
+sub init_CPU_status()
+{
+    my ($EB_CPU_status_href) = @_;
+
+    # CPU affinity with 'taskset'
+    #
+    # CPU dec     bin  hex
+    #     0         1    1
+    #     1        10    2 
+    #     2       100    4
+    #     3      1000    8
+    #     4     10000   10 
+
+    #cores 0/1 reserved for system 02-05
+    #cores 2/3 reserved for interrupts on 02-05
+
+#lxhadeb01 is gone    
+#     foreach my $core (0..7){
+#         if($core == 1){
+#             $EB_CPU_status_href->{'192.168.100.11'}->{$core} = "res"; #reserved
+#         }
+#         else{
+#             $EB_CPU_status_href->{'192.168.100.11'}->{$core} = "free";
+#         }
+#     }
+
+#JAM adjust this to actual affinities for eth0 settings TODO
+# eth0 interrupts are above core 8 now
+#  
+#     
+#    foreach my $core (0..11){
+#         if(($core < 2) || ($core> 8 ) ){
+#             $EB_CPU_status_href->{'192.168.100.12'}->{$core} = "res"; #reserved
+#             $EB_CPU_status_href->{'192.168.100.13'}->{$core} = "res"; #reserved
+#             $EB_CPU_status_href->{'192.168.100.14'}->{$core} = "res"; #reserved
+#         }
+#         else{
+#             $EB_CPU_status_href->{'192.168.100.12'}->{$core} = "free";
+#             $EB_CPU_status_href->{'192.168.100.13'}->{$core} = "free";
+#             $EB_CPU_status_href->{'192.168.100.14'}->{$core} = "free";
+#         }
+#     }
+#        
+## after upgrade to debian 7: ethernet reserved cores are below 6
+  foreach my $core (0..11){
+        if(($core < 6) ){
+            $EB_CPU_status_href->{'192.168.100.12'}->{$core} = "res"; #reserved
+            $EB_CPU_status_href->{'192.168.100.13'}->{$core} = "res"; #reserved
+            $EB_CPU_status_href->{'192.168.100.14'}->{$core} = "res"; #reserved
+        }
+        else{
+            $EB_CPU_status_href->{'192.168.100.12'}->{$core} = "free";
+            $EB_CPU_status_href->{'192.168.100.13'}->{$core} = "free";
+            $EB_CPU_status_href->{'192.168.100.14'}->{$core} = "free";
+            
+        }
+    }
+    
+# eth0 ir is set above core 11   
+    foreach my $core (0..23){
+        if( ($core < 2) ||( $core > 11) ){
+            $EB_CPU_status_href->{'192.168.100.15'}->{$core} = "res"; #reserved
+        }
+        else{
+            $EB_CPU_status_href->{'192.168.100.15'}->{$core} = "free";
+        }
+    }
+    
+    # add cores for new EB servers JAM2018
+   foreach my $core (0..63){
+        if( ($core < 2) ||( $core > 60) ){
+            $EB_CPU_status_href->{'192.168.100.8'}->{$core} = "res"; #reserved
+           $EB_CPU_status_href->{'192.168.100.9'}->{$core} = "res"; #reserved
+           $EB_CPU_status_href->{'192.168.100.10'}->{$core} = "res"; #reserved
+            }
+        else{
+            $EB_CPU_status_href->{'192.168.100.8'}->{$core} = "free";
+           $EB_CPU_status_href->{'192.168.100.9'}->{$core} = "free";
+           $EB_CPU_status_href->{'192.168.100.10'}->{$core} = "free";
+        }
+    }  
+
+}
+
+sub getCoreNr()
+{
+    my ($ip) = @_;
+
+    my $core_nr;
+
+    foreach my $eb_ip (sort keys %$EB_CPU_status_href){
+        next unless($ip eq $eb_ip);
+            
+        foreach my $core ( sort {$a <=> $b} keys %{$EB_CPU_status_href->{$eb_ip}} ){
+            my $core_status = $EB_CPU_status_href->{$eb_ip}->{$core};
+            
+            next unless(lc($core_status) eq "free");
+
+            $core_nr = $core;
+            $EB_CPU_status_href->{$eb_ip}->{$core} = "busy";
+            last;
+        }
+    }
+
+    #- If no free cores left - take reserved cores
+    unless( defined $core_nr ){
+        foreach my $eb_ip (sort keys %$EB_CPU_status_href){
+            next unless($ip eq $eb_ip);
+            
+            foreach my $core ( sort {$a <=> $b} keys %{$EB_CPU_status_href->{$eb_ip}} ){
+                my $core_status = $EB_CPU_status_href->{$eb_ip}->{$core};
+                
+                if(lc($core_status) eq "res"){
+                    $core_nr = $core;
+                    $EB_CPU_status_href->{$eb_ip}->{$core} = "busy";
+                    last;
+                }
+            }
+        }
+    }
+
+    unless( defined $core_nr ){
+        print "No free cores left on CPU $ip. Exit.\n";
+        exit(0);
+    }
+
+    return $core_nr;
+}
+
+sub setArgs()
+{
+    my @active_EBs;
+
+    if(@opt_ebrange){
+        foreach my $range (@opt_ebrange){
+            if($range =~ /(\d+)-(\d+)/){
+                my $max = $1;
+                my $min = $2;
+                
+                foreach my $eb ($max..$min){
+                    #- 1 must be subtracted to match
+                    #  EB numbering in the register_configgbe_ip.db
+                    #  which starts from zero
+                    &checkEB_nr($eb);
+                    push(@active_EBs, $eb-1);
+                }
+            }
+            elsif($range =~ /(\d+)/){
+                &checkEB_nr($1);
+                push(@active_EBs, $1-1);
+            }
+        }
+    }
+
+    return \@active_EBs;
+}
+
+sub checkEB_nr()
+{
+    my ($eb_nr) = @_;
+
+    if( $eb_nr < 1 || $eb_nr > 16 ){
+        print "ERROR: EB number should be in the range 1-16. Exit.";
+        exit(0);
+    }
+}
+
+sub getEBArgs()
+{
+    my ($href) = @_;
+
+    my $prefix = $temp_args_href->{'Main'}->{'EB_EXT'};
+    $prefix = $opt_prefix if( defined $opt_prefix );
+    my $filesize = $temp_args_href->{'Main'}->{'EB_FSIZE'};
+
+    my $base_port  = $temp_args_href->{'Parallel'}->{'BASE_PORT'};
+    my $shift_port = $temp_args_href->{'Parallel'}->{'SHIFT_PORT'};
+    my $source_num = $temp_args_href->{'Parallel'}->{'NUM_OF_SOURCES'};
+    my $queuesize  = $temp_args_href->{'Parallel'}->{'QUEUESIZE'};
+
+    my $multidisk  = $temp_args_href->{'Parallel'}->{'MULTIDISK'};
+
+    #- Number of EB process
+    my $ebproc = 0;
+
+    #- List of BEs
+    my $listOfEBs = $temp_args_href->{'Parallel'}->{'EB_LIST'};
+    my @eb_list = split(/\s+/, $listOfEBs);
+
+    #- DABC mode selection
+    my $listOfDABC = $temp_args_href->{'Parallel'}->{'DABC'};
+    my @dabc_list = split(/\s+/, $listOfDABC);
+    
+    
+    # BNET setup:
+     my $listOfBnetInputs = $temp_args_href->{'Parallel'}->{'BNETINP'};
+     my @bnet_in_list = split(/\s+/, $listOfBnetInputs);
+     
+     my $listOfBnetBuilders = $temp_args_href->{'Parallel'}->{'BNETBLD'};
+     my @bnet_bld_list = split(/\s+/, $listOfBnetBuilders);
+     
+
+    #- Default RFIO settings
+    my $rfio               = $temp_args_href->{'Parallel'}->{'RFIO'};
+    my $rfio_path          = $temp_args_href->{'Parallel'}->{'RFIO_PATH'};
+    my $rfio_pcOptions     = $temp_args_href->{'Parallel'}->{'RFIO_pcOptions'};
+    my $rfio_iCopyMode     = $temp_args_href->{'Parallel'}->{'RFIO_iCopyMode'};
+    my $rfio_pcCopyPath    = $temp_args_href->{'Parallel'}->{'RFIO_pcCopyPath'};
+    my $rfio_iCopyFrac     = $temp_args_href->{'Parallel'}->{'RFIO_iCopyFraction'};
+    my $rfio_iMaxFile      = $temp_args_href->{'Parallel'}->{'RFIO_iMaxFile'};
+    my $rfio_iPathConv     = $temp_args_href->{'Parallel'}->{'RFIO_iPathConvention'};
+    
+    my @rfio_list = split(/\s+/, $rfio);
+    
+    
+    
+    #- LTSM settings
+    my $listOfLTSM = $temp_args_href->{'Parallel'}->{'LTSM'};
+    my @ltsm_list = split(/\s+/, $listOfLTSM);
+    
+    my $ltsm_path          = $temp_args_href->{'Parallel'}->{'LTSM_PATH'};
+    my $ltsm_server          = $temp_args_href->{'Parallel'}->{'LTSM_Server'};
+    my $ltsm_node          = $temp_args_href->{'Parallel'}->{'LTSM_Node'};
+    my $ltsm_passwd          = $temp_args_href->{'Parallel'}->{'LTSM_Passwd'};
+    my $ltsm_filesys          = $temp_args_href->{'Parallel'}->{'LTSM_Filesystem'};
+    
+    
+    
+    
+    #- EPICS Controled 
+    my $epics_ctrl = $temp_args_href->{'Parallel'}->{'EPICS_CTRL'};
+
+    my @epics_list = split(/\s+/, $epics_ctrl);
+
+     #- Logging the output of EBs
+    my $eb_log     = $temp_args_href->{'Parallel'}->{'EB_LOG'};
+    my $eb_debug     = $temp_args_href->{'Parallel'}->{'EB_DEBUG'};
+    my $nm_log     = $temp_args_href->{'Parallel'}->{'NM_LOG'};
+    my @eblog_list =  split(/\s+/, $eb_log);
+    my @ebdbg_list =  split(/\s+/, $eb_debug);
+    my @nmlog_list =  split(/\s+/, $nm_log);
+
+    
+    #- Write to disk
+    my $write2disk = $temp_args_href->{'Parallel'}->{'WRITE_TO_DISK'};
+    my @write2disk_list = split(/\s+/, $write2disk);
+
+    #--- Read GbE configuration
+    my %eb_ids_gbe_hash;
+    my $eb_ids_gbe_href = \%eb_ids_gbe_hash;
+
+    &getGbEconfig($eb_ids_gbe_href);
+
+    #--- Loop over all EB processes
+    #print Dumper $eb_ids_gbe_href;
+    #exit;
+    foreach my $ebproc ( sort keys %{$eb_ids_gbe_href} ){
+
+        #- If there was a list of EBs provided via command line options
+        #  go to the next $ebproc if the current $ebproc is not in this list.
+        #print "active EBs:\n";
+        #print Dumper $active_EBs_aref;
+
+        if(@$active_EBs_aref){
+            next unless( any {$_ == $ebproc} @$active_EBs_aref );  #from command line args
+        }
+        else{
+            next unless( $eb_list[$ebproc] );  #from eb.conf
+        }
+
+
+        my $eb_ip = $eb_ids_gbe_href->{$ebproc}->{'IP'};
+
+        #- Save IP needed by other function to stop EBs.
+        push(@EB_IP_list, $eb_ip) unless( any {$_ eq $eb_ip} @EB_IP_list );
+
+        #- Some checks on number of EB processes
+        die "Number of EB processes exceeds the number in RFIO setting! Exit." if($ebproc > $#rfio_list);
+        die "Number of EB processes exceeds the number in EPICS_CTRL setting! Exit." if($ebproc > $#epics_list);
+        
+        #- Here we can overwrite default rfio settings with individual settings per EB processes
+        my $procname = sprintf("EB_PROC_%d", 1+$ebproc);
+        # $rfio_iCopyMode     = $temp_args_href->{$procname}->{'RFIO_iCopyMode'};
+        
+        $href->{$ebproc}->{'IP'}        = $eb_ip;
+        $href->{$ebproc}->{'EBNUM'}     = $ebproc+1;
+        $href->{$ebproc}->{'BASEPORT'}  = $base_port;
+        $href->{$ebproc}->{'PORT_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'port_list'};
+        $href->{$ebproc}->{'SOURCENUM'} = scalar @{$eb_ids_gbe_href->{$ebproc}->{'port_list'}};
+
+        # JAM2016: bnet requieres udp destination nodes in a list like the ports:
+        $href->{$ebproc}->{'IP_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'ip_list'};
+        
+        # JAM2018: bnet requieres calibration modes in a list like the ports:
+        $href->{$ebproc}->{'CALIB_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'calib_list'};
+        
+          # JAM2018: bnet requieres hub addresses/subevents in a list like the ports:
+        $href->{$ebproc}->{'HUB_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'addr_list'};
+        
+        
+        $href->{$ebproc}->{'BUFSIZE_LIST'} = $eb_ids_gbe_href->{$ebproc}->{'bufsize_list'};
+        $href->{$ebproc}->{'PREFIX'}    = $prefix;
+        $href->{$ebproc}->{'QUEUESIZE'} = $queuesize;
+        $href->{$ebproc}->{'MULTIDISK'} = $multidisk;
+        $href->{$ebproc}->{'FILESIZE'} = $filesize;
+
+        if( defined $temp_args_href->{$procname}->{'MULTIDISK'} ){
+            $href->{$ebproc}->{'MULTIDISK'} = $temp_args_href->{$procname}->{'MULTIDISK'};
+        }
+        elsif($multidisk){
+            $href->{$ebproc}->{'MULTIDISK'} = $href->{$ebproc}->{'EBNUM'};
+        }
+        else{
+            $href->{$ebproc}->{'MULTIDISK'} = $multidisk;
+        }
+
+        if( defined $temp_args_href->{$procname}->{'RESDOWNSCALE'} ){
+            $href->{$ebproc}->{'RESDOWNSCALE'} = $temp_args_href->{$procname}->{'RESDOWNSCALE'};
+            $href->{$ebproc}->{'RESNUMEVENTS'} = $temp_args_href->{$procname}->{'RESNUMEVENTS'};
+            $href->{$ebproc}->{'RESPATH'}      = $temp_args_href->{$procname}->{'RESPATH'};
+            $href->{$ebproc}->{'RESSIZELIMIT'} = $temp_args_href->{$procname}->{'RESSIZELIMIT'};
+        }
+
+        if( defined $temp_args_href->{$procname}->{'ONLINESERVER'} ){
+            if($opt_online eq "on"){
+                $href->{$ebproc}->{'ONLINESERVER'} = "on";
+            }
+            elsif($opt_online eq "off"){
+                $href->{$ebproc}->{'ONLINESERVER'} = "off";
+            }
+            else{
+                $href->{$ebproc}->{'ONLINESERVER'} = $temp_args_href->{$procname}->{'ONLINESERVER'};
+            }
+        }
+        else{
+            $href->{$ebproc}->{'ONLINESERVER'} = "off";
+        }
+
+        $href->{$ebproc}->{'RFIO'}             = $rfio_list[$ebproc] if(lc($opt_rfio) eq 'undef');  # 0|1
+        $href->{$ebproc}->{'RFIO'}             = 1 if(lc($opt_rfio) eq 'on');  # 0|1
+        $href->{$ebproc}->{'RFIO'}             = 0 if(lc($opt_rfio) eq 'off');  # 0|1
+        $href->{$ebproc}->{'RFIO_PATH'}        = $rfio_path;
+        $href->{$ebproc}->{'RFIO_pcOptions'}   = $rfio_pcOptions;
+        $href->{$ebproc}->{'RFIO_iCopyMode'}   = $rfio_iCopyMode;
+        $href->{$ebproc}->{'RFIO_pcCopyPath'}  = $rfio_pcCopyPath;
+        $href->{$ebproc}->{'RFIO_iCopyFrac'}   = $rfio_iCopyFrac;
+        $href->{$ebproc}->{'RFIO_iMaxFile'}    = $rfio_iMaxFile;
+        $href->{$ebproc}->{'RFIO_iPathConv'}   = $rfio_iPathConv;
+        
+        
+        
+        $href->{$ebproc}->{'LTSM'}             = $ltsm_list[$ebproc];  # 0|1
+        $href->{$ebproc}->{'LTSM_PATH'}        = $ltsm_path;
+        $href->{$ebproc}->{'LTSM_Server'}        = $ltsm_server;
+        $href->{$ebproc}->{'LTSM_Node'}        = $ltsm_node;
+        $href->{$ebproc}->{'LTSM_Passwd'}        = $ltsm_passwd;
+        $href->{$ebproc}->{'LTSM_Filesystem'}        = $ltsm_filesys;
+        
+
+        $href->{$ebproc}->{'EPICS_CTRL'}       = $epics_list[$ebproc];  # 0|1
+
+       $href->{$ebproc}->{'DABC'}       = $dabc_list[$ebproc];  # 0|1
+
+       $href->{$ebproc}->{'EB_DEBUG'}       = $ebdbg_list[$ebproc];  # 0|1
+
+        $href->{$ebproc}->{'EB_LOG'}       = $eblog_list[$ebproc];  # 0|1
+        $href->{$ebproc}->{'NM_LOG'}       = $nmlog_list[$ebproc];  # 0|1
+        
+        
+        if($ebproc<4)
+        {
+        # note that for bnet setup, index does not mean eb number, but machine number!
+        # we misuse this here to save complexity of setup
+         $href->{$ebproc}->{'BNET_INP'}       = $bnet_in_list[$ebproc];  # 0|1|2...
+         $href->{$ebproc}->{'BNET_BLD'}       = $bnet_bld_list[$ebproc];  # 0|1|2|3
+        }
+       
+        
+        if( $write2disk_list[$ebproc] && lc($opt_disk) eq 'undef' ){
+            if(&isVarDefined($temp_args_href->{$procname}->{'OUTDIR'}, "OUTDIR for $procname")){
+                $href->{$ebproc}->{'OUTDIR'} = $temp_args_href->{$procname}->{'OUTDIR'};
+            }
+        }
+        elsif( lc($opt_disk) eq 'on' ){
+            if(&isVarDefined($temp_args_href->{$procname}->{'OUTDIR'}, "OUTDIR for $procname")){
+                $href->{$ebproc}->{'OUTDIR'} = $temp_args_href->{$procname}->{'OUTDIR'};
+            }
+        }
+        elsif( lc($opt_disk) eq 'off' ){
+            #- do not do anything. If $href->{$ebproc}->{'OUTDIR'} is undefined, 
+            #  the data will go to /dev/null
+        }
+    }    
+
+    $numOfEBProcs = $ebproc;
+}
+
+sub isVarDefined()
+{
+    my ($var, $msg) = @_;
+
+    my $retval = 1;
+
+    unless( defined $var ){
+        print "Undefined variable found: $msg\n";
+        $retval = 0;
+    }
+        
+    return $retval;
+}
+
+sub getVarSizeArg()
+{
+    my ($ebproc) = @_;
+    
+    my $i = 0;
+    my $arg = " ";
+
+    foreach my $size (@{$EB_Args_href->{$ebproc}->{'BUFSIZE_LIST'}}){
+
+        if($EB_Args_href->{$ebproc}->{'BUFSIZE_LIST'}->[$i] == 
+           $EB_Args_href->{$ebproc}->{'QUEUESIZE'}){
+            $i++;
+            next;
+        }
+
+        $arg = $arg . " -Q " . $i . ":" . $EB_Args_href->{$ebproc}->{'BUFSIZE_LIST'}->[$i];
+        $i++;
+    }
+
+    return $arg;
+}
+
+
+sub startBnet()
+{
+# here we launch the dabc bnet.
+# parameters in eb.conf can specify how many input and builder processes run on each node.
+# we misuse daq gbe setup for EB 15 to specify ports and destination nodes.
+my (@process_list);
+my $ebproc =15;
+  my $username = "hadaq";
+  my $dabclogin = ". /home/hadaq/soft/dabc/bin/dabclogin.head; ";
+# here test special installations:
+  my $cdworkdir = "cd /home/hadaq/oper;";
+
+   my $cmd_dabc = "/home/hadaq/soft/dabc/bin/dabc_exe.head ";
+
+  my $conf_bnet_inp = " BnetInputHades.head.xml";
+  my $conf_bnet_bld = " BnetBuilderHades.head.xml";
+   
+  
+  
+# before we start inidividual bnet processes, need to evaluate list of ports and nodes:
+# BNETSENDERS=[localhost:12501,localhost:12502]
+# BNETRECEIVERS= [localhost:12101,localhost:12102] 
+# HADAQPORTS =[50000,50001,50002]
+
+my $bnetsenders = "[";
+my $bnetrcvs = "[";
+my @bnet_port_list   = ();
+my @bnet_calib_list  = ();
+my @bnet_subevt_list = ();
+my $firstsnd = 1;
+my $firstrcv = 1;
+
+my $rcvport = 12100;
+for ( my $ebserver=0; $ebserver<4; $ebserver=$ebserver+1){
+         print "Gathering processes at EB server: $ebserver\n";
+      my $sendport = 12501;
+      # here we use the fact that first 4 eb processes are assigned to first 4 servers.
+         # so node ip is directly mapped from setup:
+      my $ip = $EB_Args_href->{$ebserver}->{'IP'}; 
+      
+      # JAM2018 - need to transform HADES VLAN IPs into GSI VLAN for BNET!
+      my $gsi_ip = getIP_hades2gsi($ip);
+      
+      # array of BNET values is already indexed with server id:
+      my $bnet_numsenders =  $EB_Args_href->{$ebserver}->{'BNET_INP'};
+      my $bnet_numbuilders =  $EB_Args_href->{$ebserver}->{'BNET_BLD'};
+      for (my $six=0; $six<$bnet_numsenders; $six=$six+1)
+      {
+       $bnetsenders=$bnetsenders . "," unless ($firstsnd>0);
+       $bnetsenders=$bnetsenders . $gsi_ip.":". $sendport;
+       $sendport=$sendport+1;
+       $firstsnd=0 if($firstsnd>0);
+      }
+       for (my $rix=0; $rix<$bnet_numbuilders; $rix=$rix+1)
+      {
+       $bnetrcvs=$bnetrcvs . "," unless ($firstrcv>0);
+       $bnetrcvs=$bnetrcvs . $gsi_ip.":". $rcvport;
+       $rcvport=$rcvport+1;
+       $firstrcv=0 if($firstrcv>0);
+      }
+      
+      my $hadaqports = "[";
+      my $calibflags = "[";
+      my $subevents  = "[";
+      my $firstport = 1;
+      
+  
+        #- add ports: note that we only use eb 15 setup and do check which ports belong to our eb server:
+       my $ix =0;
+        foreach my $port (@{$EB_Args_href->{$ebproc}->{'PORT_LIST'}}){ 
+           # here we only gather such ports that are assigned to our node:
+           # todo: how to distribute the ports to more than one bnet input process per server?
+           my $cflag = $EB_Args_href->{$ebproc}->{'CALIB_LIST'}[$ix];
+           my $hub = $EB_Args_href->{$ebproc}->{'HUB_LIST'}[$ix];
+           print "ip" . $ip . " with port:" . $port ." index:" . $ix . " ip: ". $EB_Args_href->{$ebproc}->{'IP_LIST'}[$ix] . " calib: ". $cflag ." hub: ". $hub ."\n" ;
+           if($ip eq $EB_Args_href->{$ebproc}->{'IP_LIST'}[$ix])
+           {
+             $hadaqports=$hadaqports . "," unless ($firstport>0);
+             $hadaqports = $hadaqports . $port;
+             $calibflags=$calibflags . "," unless ($firstport>0);
+             $calibflags = $calibflags . $cflag;
+             $subevents=$subevents . "," unless ($firstport>0);
+             $subevents = $subevents . $hub;
+             $firstport=0 if($firstport>0);
+           }
+           $ix++;
+         
+    }
+    $hadaqports=$hadaqports . "]";   
+    push(@bnet_port_list, $hadaqports); # ports are per server
+    
+    $calibflags=$calibflags . "]";   
+    push(@bnet_calib_list, $calibflags); # flags per server
+    
+    $subevents=$subevents . "]";   
+    push(@bnet_subevt_list, $subevents); # flags per server
+    
+    
+    
+    print "node ". $gsi_ip . " uses ports ".$hadaqports . ", calibflags " .$calibflags . " hubs: ". $subevents ."\n";
+}
+$bnetsenders = $bnetsenders . "]";
+$bnetrcvs = $bnetrcvs . "]";
+
+print "bnetsenders: ".   $bnetsenders ."\n";
+print "bnetreceivers: ". $bnetrcvs ."\n";
+
+  my $portid=0; #
+  my $sendid=0;
+   my $bnebport=12100;
+for ( my $ebserver=0; $ebserver<4; $ebserver=$ebserver+1){
+         print "Starting processes on EB server: $ebserver\n";
+         my $ebid=$ebserver + 1; # still need unique eventbuilder ids on cluster because of epics!
+        
+         # here we use the fact that first 4 eb processes are assigned to first 4 servers.
+         # so node ip is directly mapped from setup:
+         my $cpu = $EB_Args_href->{$ebserver}->{'IP'};
+         my $gsi_cpu = getIP_hades2gsi($cpu);
+        # in the following, the port and ip setup of the bnet is taken from ebproc 15 only!
+        
+        my $bnet_numsenders =  $EB_Args_href->{$ebserver}->{'BNET_INP'};
+        my $bnet_numbuilders =  $EB_Args_href->{$ebserver}->{'BNET_BLD'};
+        print "found $bnet_numsenders senders and $bnet_numbuilders builders on node $cpu \n";
+       
+        
+        
+        my $bninpport=12501;
+        
+        # loop over senders on this node and start them:
+        for(my $sender=0; $sender<$bnet_numsenders; $sender=$sender+1)
+        {
+           
+           my $sendnum= $sender + 1;    
+           my $exports = " export MYHOST=" . $gsi_cpu . ";" .
+               " export BNINPNUM=" . $sendnum . ";" .
+               " export BNINPID=" . $sendid . "; " .
+               " export BNINPPORT=" . $bninpport . "; " .
+               " export BNETSENDERS=" . $bnetsenders . ";" .
+               " export BNETRECEIVERS=" . $bnetrcvs . ";" .
+               " export HADAQPORTS=" . $bnet_port_list[$ebserver] .";" .
+               " export SUBEVENTS=" . $bnet_subevt_list[$ebserver] .";" .
+               " export CALIBFLAGS=" . $bnet_calib_list[$ebserver] .";";
+               
+         # todo: how to configure situation with more than one bnet input per node? hadaqports must be distributed on them...
+         #     
+               
+         my $core_nr = &getCoreNr($cpu) . "," . &getCoreNr($cpu);
+     
+         my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr  $cmd_dabc $conf_bnet_inp 1</dev/null &\"";
+
+
+         my $log = $log_path . "/log_" . $ebserver . "_" . "startBnetInp_". $sender. ".txt";
+   #my $log = "/dev/null 2>&1";
+   
+         print "Forking:" . $exe_dabc ."\n";
+         forkMe($exe_dabc, $log, \@process_list) unless($opt_test);
+
+         $sendid = $sendid +1; 
+         $bninpport =  $bninpport +1;  
+               
+         } # bnet sender/input processes
+       
+         # todo: loop over builders
+        
+         for(my $builder=0; $builder<$bnet_numbuilders; $builder=$builder+1)
+        {
+        
+        
+        
+           my $exports = " export MYHOST=" . $gsi_cpu . ";" .
+               " export BNEBNUM=" . $ebid . ";" .
+               " export BNEBID=" . $portid . "; " .
+               " export BNEBPORT=" . $bnebport . "; " .
+               " export PREFIX=" . $EB_Args_href->{$ebproc}->{'PREFIX'}. "; " .
+               " export BNETSENDERS=" . $bnetsenders . ";" .
+               " export BNETRECEIVERS=" . $bnetrcvs . ";" .
+               " export HADAQPORTS=" . $bnet_port_list[$ebserver];
+               
+               if($EB_Args_href->{$ebproc}->{'OUTDIR'} ){            
+             if($EB_Args_href->{$ebproc}->{'MULTIDISK'}){
+                $exports = $exports . "export DAQDISK=1; export OUTDIR=/data01; ";
+             }
+             else{
+                $exports = $exports . "export DAQDISK=0; export OUTDIR=" . $EB_Args_href->{$ebproc}->{'OUTDIR'} .";";
+             }
+         
+#          if( $EB_Args_href->{$ebproc}->{'RFIO'} ){
+#          
+#          $exports = $exports . " export FILEOUTPUTS=3;";
+#      # additional exports for RFIO
+# 
+#      $exports = $exports . " export RFIOPATH=". $EB_Args_href->{$ebproc}->{'RFIO_PATH'} . ";";
+#          $exports = $exports . " export RFIOLUSTREPATH=". $EB_Args_href->{$ebproc}->{'RFIO_pcCopyPath'} . ";";
+#          $exports = $exports . " export RFIOCOPYMODE=". $EB_Args_href->{$ebproc}->{'RFIO_iCopyMode'} . ";";
+#          $exports = $exports . " export RFIOCOPYFRAC=". $EB_Args_href->{$ebproc}->{'RFIO_iCopyFrac'} . ";";
+#          $exports = $exports . " export RFIOMAXFILE=". $EB_Args_href->{$ebproc}->{'RFIO_iMaxFile'} . ";";
+#          $exports = $exports . " export RFIOPATHCONV=". $EB_Args_href->{$ebproc}->{'RFIO_iPathConv'} . ";";
+#      
+# # switch on by number of outputs
+#      }
+          if( $EB_Args_href->{$ebproc}->{'LTSM'} ){
+         
+         $exports = $exports . " export FILEOUTPUTS=3;";
+       # additional exports for LTSM
+
+        $exports = $exports . " export LTSMPATH=". $EB_Args_href->{$ebproc}->{'LTSM_PATH'} . ";";
+         $exports = $exports . " export LTSMSERVER=". $EB_Args_href->{$ebproc}->{'LTSM_Server'} . ";";
+         $exports = $exports . " export LTSMNODE=". $EB_Args_href->{$ebproc}->{'LTSM_Node'} . ";";
+         $exports = $exports . " export LTSMPASSWD=". $EB_Args_href->{$ebproc}->{'LTSM_Passwd'} . ";";
+        $exports = $exports . " export LTSMFSNAME=". $EB_Args_href->{$ebproc}->{'LTSM_Filesystem'} . ";";
+# switch on by number of outputs
+       }
+       
+       else
+       {
+            # no rfio, just local file 
+            $exports = $exports . " export FILEOUTPUTS=2;";
+       }
+
+         
+         
+         
+         } #outdir
+         else{
+               $exports = $exports . " export FILEOUTPUTS=1;";
+               # no output except for the stream server...
+         }
+  
+       my $core_nr = &getCoreNr($cpu) . "," . &getCoreNr($cpu);
+     
+       my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr  $cmd_dabc $conf_bnet_bld 1</dev/null &\"";
+
+
+       my $log = $log_path . "/log_" . $ebserver . "_" . "startBnetBld_". $builder. ".txt";
+   #my $log = "/dev/null 2>&1";
+   
+       print "Forking:" . $exe_dabc ."\n";
+       forkMe($exe_dabc, $log, \@process_list) unless($opt_test);
+
+       $ebid = $ebid + 4 ; # increment ebnum by 4 per ebserver to re-use EPICS iocs
+       $portid = $portid + 1; 
+       $bnebport = $bnebport +1;
+       # 
+    } # builder processes
+        
+  } # servers
+ # finally, we need to set eb lut on cts for setup of EB15 => bnet distribution
+ `trbcmd w 0x0003 0xa0f0 0x8000`;
+ # all calibration triggers also assigned to pseudo EB15 => bnet distribution for the moment
+ `trbcmd w 0x0003 0xa0f3 0xfff`;
+  sleep (20); # need to wait until forking is done, otherwise it does not work via gui control xterm
+}
+
+
+
+sub startEvtBuilders()
+{
+    if( $EB_Args_href->{0}->{'BNET_INP'} ){
+    print "Starting Builder network...\n";
+      startBnet();
+      return;
+    }
+    
+    
+#   print "DISABLING regular eventbuilder start for testing!\n";
+#    return;
+########################################
+    my $username = "hadaq";
+
+    my (@process_list);
+
+    foreach my $ebproc (sort {$a <=> $b} keys %$EB_Args_href){
+
+        my $ebnum2print = $ebproc+1;
+        print "EB process: $ebnum2print\n";
+
+
+# JAM first test if we should activate dabc eventbuilder or old one
+
+ if( $EB_Args_href->{$ebproc}->{'DABC'} ){
+    print "Starting DABC process..\n";
+
+#". /home/joern/dabcwork/head/dabclogin;cd /home/joern/dabcwork/head/plugins/hadaq/app; export EBNUM=1; export STREAMS=5; export UDP00=10101; export UDP01=10102; export UDP02=10103; export UDP03=10104; export UDP04=10105 export PREFIX=be; /home/joern/dabcwork/head/bin/dabc_exe EventBuilderHades.xml &" > /dev/null 2>&1  &
+
+  my $cpu = $EB_Args_href->{$ebproc}->{'IP'};
+# JAM old, direct to version
+  #my $dabclogin = ". /home/hadaq/soft/dabc/head/dabclogin;";
+# JAM default:
+#my $dabclogin = ". /home/hadaq/soft/dabc/bin/dabclogin;";
+#my $dabclogin = ". /home/hadaq/soft/dabc/bin/dabclogin.275;";
+   my $dabclogin = ". /home/hadaq/soft/dabc/bin/dabclogin.head; ";
+# here test special installations:
+  my $cdworkdir = "cd //home/hadaq/oper;";
+
+# JAM old, direct to version
+  #my $cmd_dabc = "/home/hadaq/soft/dabc/head/bin/dabc_exe ";
+# JAM default:
+#my $cmd_dabc = "/home/hadaq/soft/dabc/bin/dabc_exe ";
+# here test special installations:
+#  my $cmd_dabc = "/home/hadaq/soft/dabc/bin/dabc_exe.275 ";
+   my $cmd_dabc = "/home/hadaq/soft/dabc/bin/dabc_exe.head ";
+
+#  my $conf_dabc = " EventBuilderHades.xml";
+#  my $conf_dabc = " EventBuilderHades.275.xml";
+  my $conf_dabc = " EventBuilderHades.head.xml";
+  my $exports = " export LC_ALL=C;" .
+               " export EBNUM=" . $EB_Args_href->{$ebproc}->{'EBNUM'} . "; " .
+               " export STREAMS=" . $EB_Args_href->{$ebproc}->{'SOURCENUM'} . "; " .
+               " export PREFIX=" . $EB_Args_href->{$ebproc}->{'PREFIX'}. "; " ;
+
+   my @port_list = ();
+
+        #- add ports
+       my $ix =0;
+        foreach my $port (@{$EB_Args_href->{$ebproc}->{'PORT_LIST'}}){ 
+            #$cmd_nm = $cmd_nm . " -i UDP:0.0.0.0:" . $port;
+           my $index=sprintf("%02d", $ix++);
+            $exports = $exports . " export UDP". $index. "=" . $port . "; "; 
+            push(@port_list, $port);
+     }
+        &cpPortList2EB(\@port_list, $EB_Args_href->{$ebproc}->{'EBNUM'}, $cpu);
+
+
+
+
+
+
+#      MULTIDISK
+
+#- add output type
+
+       if($EB_Args_href->{$ebproc}->{'OUTDIR'} ){            
+             if($EB_Args_href->{$ebproc}->{'MULTIDISK'}){
+                $exports = $exports . "export DAQDISK=1; export OUTDIR=/data01; ";
+             }
+             else{
+                $exports = $exports . "export DAQDISK=0; export OUTDIR=" . $EB_Args_href->{$ebproc}->{'OUTDIR'} .";";
+             }
+         
+         if( $EB_Args_href->{$ebproc}->{'LTSM'} ){
+         
+         $exports = $exports . " export FILEOUTPUTS=3;";
+       # additional exports for LTSM
+
+        $exports = $exports . " export LTSMPATH=". $EB_Args_href->{$ebproc}->{'LTSM_PATH'} . ";";
+         $exports = $exports . " export LTSMSERVER=". $EB_Args_href->{$ebproc}->{'LTSM_Server'} . ";";
+         $exports = $exports . " export LTSMNODE=". $EB_Args_href->{$ebproc}->{'LTSM_Node'} . ";";
+         $exports = $exports . " export LTSMPASSWD=". $EB_Args_href->{$ebproc}->{'LTSM_Passwd'} . ";";
+         $exports = $exports . " export LTSMFSNAME=". $EB_Args_href->{$ebproc}->{'LTSM_Filesystem'} . ";";
+       
+# switch on by number of outputs
+       }
+################## deprecated, keep code for optional testing?
+# JAM 5-2017 - we never run rfio and ltsm in parallel. 
+#       if( $EB_Args_href->{$ebproc}->{'RFIO'} ){
+#          
+#          $exports = $exports . " export FILEOUTPUTS=3;";
+#      # additional exports for RFIO
+# 
+#      $exports = $exports . " export RFIOPATH=". $EB_Args_href->{$ebproc}->{'RFIO_PATH'} . ";";
+#          $exports = $exports . " export RFIOLUSTREPATH=". $EB_Args_href->{$ebproc}->{'RFIO_pcCopyPath'} . ";";
+#          $exports = $exports . " export RFIOCOPYMODE=". $EB_Args_href->{$ebproc}->{'RFIO_iCopyMode'} . ";";
+#          $exports = $exports . " export RFIOCOPYFRAC=". $EB_Args_href->{$ebproc}->{'RFIO_iCopyFrac'} . ";";
+#          $exports = $exports . " export RFIOMAXFILE=". $EB_Args_href->{$ebproc}->{'RFIO_iMaxFile'} . ";";
+#          $exports = $exports . " export RFIOPATHCONV=". $EB_Args_href->{$ebproc}->{'RFIO_iPathConv'} . ";";
+#      
+# # switch on by number of outputs
+#      }
+#######################################
+       else
+       {
+            # no rfio, just local file 
+            $exports = $exports . " export FILEOUTPUTS=2;";
+       }
+
+         
+         
+         
+         } #outdir
+         else{
+               $exports = $exports . " export FILEOUTPUTS=1;";
+               # no output except for the stream server...
+         }
+
+         
+
+          
+
+
+
+
+
+#      EPICSCONTROL ? always enabled for production
+#       SMALLFILES  for online monitoring node
+
+# Jul14 beamtime setup 3 cores for dabc
+     #my $core_nr = &getCoreNr($cpu) . "," . &getCoreNr($cpu) .  "," . &getCoreNr($cpu);
+
+# try 2 cores each dabc for more dabc nodes:
+     my $core_nr = &getCoreNr($cpu) . "," . &getCoreNr($cpu);
+#      my $core_nr = &getCoreNr($cpu);
+# dabc is set to 3 cores
+     
+# JAM use fixed core number for kp1pc092 tests:
+#   my $core_nr = 1;
+  my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports taskset -c $core_nr  $cmd_dabc $conf_dabc 1</dev/null &\"";
+#    my $exe_dabc = "ssh -n $cpu -l $username \"$dabclogin $cdworkdir $exports $cmd_dabc $conf_dabc &\"";
+
+
+   my $log = $log_path . "/log_" . $ebproc . "_" . "startEB.txt";
+   #my $log = "/dev/null 2>&1";
+   
+   print "Forking:" . $exe_dabc ."\n";
+   forkMe($exe_dabc, $log, \@process_list) unless($opt_test);
+
+}
+
+else
+{
+# the standard EB processes mode:
+ print "Starting evtbuild/netmem processes..\n";
+
+        #--- Prepare execution of daq_evtbuild
+        my $cmd_eb = "/home/hadaq/bin/daq_evtbuild" .
+            " -m "          . $EB_Args_href->{$ebproc}->{'SOURCENUM'} . 
+            " -q "          . $EB_Args_href->{$ebproc}->{'QUEUESIZE'} . 
+            " -S "          . $EB_Args_href->{$ebproc}->{'EBNUM'} .
+            " --ebnum "     . $EB_Args_href->{$ebproc}->{'EBNUM'} . 
+            " -x "          . $EB_Args_href->{$ebproc}->{'PREFIX'};
+
+        #- add queue variable size args
+        my $varsize_arg = &getVarSizeArg($ebproc);
+        $cmd_eb = $cmd_eb . $varsize_arg;
+
+        #- add output type
+        if( defined $EB_Args_href->{$ebproc}->{'OUTDIR'} ){
+            if($EB_Args_href->{$ebproc}->{'MULTIDISK'}){
+                $cmd_eb = $cmd_eb . " -d file -o " . "/data01/data";
+            }
+            else{
+                $cmd_eb = $cmd_eb . " -d file -o " . $EB_Args_href->{$ebproc}->{'OUTDIR'};
+            }
+        }
+        else{
+            $cmd_eb = $cmd_eb . " -d null";
+        }
+
+        #- add file size
+        $cmd_eb = $cmd_eb . " --filesize " . $EB_Args_href->{$ebproc}->{'FILESIZE'};
+
+        #- add second output with small hdl files
+        if( defined $EB_Args_href->{$ebproc}->{'RESDOWNSCALE'} ){
+            $cmd_eb = $cmd_eb . " --resdownscale " . $EB_Args_href->{$ebproc}->{'RESDOWNSCALE'} .
+                                " --resnumevents " . $EB_Args_href->{$ebproc}->{'RESNUMEVENTS'} .
+                                " --respath "      . $EB_Args_href->{$ebproc}->{'RESPATH'} .
+                                " --ressizelimit " . $EB_Args_href->{$ebproc}->{'RESSIZELIMIT'};
+        }
+
+        my $cpu = $EB_Args_href->{$ebproc}->{'IP'};
+
+        #- add rfio args
+        my $rfio;
+        if( $EB_Args_href->{$ebproc}->{'RFIO'} ){
+            $rfio = " --rfio rfiodaq:gstore:" . $EB_Args_href->{$ebproc}->{'RFIO_PATH'} .
+                " --rfiolustre "     . $EB_Args_href->{$ebproc}->{'RFIO_pcCopyPath'} .
+                " --rfio_pcoption "  . $EB_Args_href->{$ebproc}->{'RFIO_pcOptions'} .
+                " --rfio_icopymode " . $EB_Args_href->{$ebproc}->{'RFIO_iCopyMode'} .
+                " --rfio_icopyfrac " . $EB_Args_href->{$ebproc}->{'RFIO_iCopyFrac'} .
+                " --rfio_imaxfile "  . $EB_Args_href->{$ebproc}->{'RFIO_iMaxFile'} .
+                " --rfio_ipathconv " . $EB_Args_href->{$ebproc}->{'RFIO_iPathConv'};
+        }
+
+        $cmd_eb = $cmd_eb . $rfio if( defined $rfio );
+
+        #- add multiple disk arg (ctrl via daq_disks)
+        if($EB_Args_href->{$ebproc}->{'MULTIDISK'} && 
+           defined $EB_Args_href->{$ebproc}->{'OUTDIR'}){
+            $cmd_eb = $cmd_eb . " --multidisk " . $EB_Args_href->{$ebproc}->{'MULTIDISK'};
+        }
+
+        #- add online RPC server
+        if( $EB_Args_href->{$ebproc}->{'ONLINESERVER'} eq "on" ){
+            $cmd_eb = $cmd_eb . " --online";
+        }
+
+        #- add epics controlled
+        $cmd_eb = $cmd_eb . " --epicsctrl " if( $EB_Args_href->{$ebproc}->{'EPICS_CTRL'} );
+
+         # switch on debug output
+        $cmd_eb = $cmd_eb . " --debug trignr --debug errbit --debug word " if( $EB_Args_href->{$ebproc}->{'EB_DEBUG'} );
+
+
+        
+        #- logging the output
+        my $eblog_file = "/tmp/log_eb_" . $EB_Args_href->{$ebproc}->{'EBNUM'} . ".txt";
+        my $eb_log = "1>$eblog_file 2>$eblog_file";
+        $eb_log = "1>/dev/null 2>/dev/null" unless( $EB_Args_href->{$ebproc}->{'EB_LOG'} );
+
+        my $time = 1. * $ebproc;
+        my $sleep_cmd = "sleep " . $time;
+
+        my $core_nr = &getCoreNr($cpu);
+
+        my $exe_eb = "ssh -n $cpu -l $username \"cd /home/hadaq/oper; export DAQ_SETUP=/home/hadaq/oper/eb; taskset -c $core_nr  $cmd_eb $eb_log &\"";
+
+        #print "exec: $exe_eb\n";
+
+        #--- Prepare execution of daq_netmem
+        my $cmd_nm = "/home/hadaq/bin/daq_netmem" .
+            " -m " . $EB_Args_href->{$ebproc}->{'SOURCENUM'} . 
+            " -q " . $EB_Args_href->{$ebproc}->{'QUEUESIZE'} . 
+            " -S " . $EB_Args_href->{$ebproc}->{'EBNUM'};
+
+        #- add queue variable size args
+        $cmd_nm = $cmd_nm . $varsize_arg;
+
+        my @port_list = ();
+
+        #- add ports
+        foreach my $port (@{$EB_Args_href->{$ebproc}->{'PORT_LIST'}}){ 
+            #$cmd_nm = $cmd_nm . " -i UDP:0.0.0.0:" . $port;
+            $cmd_nm = $cmd_nm . " -i " . $port;
+
+            push(@port_list, $port);
+        }
+
+        &cpPortList2EB(\@port_list, $EB_Args_href->{$ebproc}->{'EBNUM'}, $cpu);
+
+        #- logging the output
+        my $nmlog_file = "/tmp/log_nm_" . $EB_Args_href->{$ebproc}->{'EBNUM'} . ".txt";
+        my $nm_log = "1>$nmlog_file 2>$nmlog_file";
+        $nm_log = "1>/dev/null 2>/dev/null" unless( $EB_Args_href->{$ebproc}->{'NM_LOG'} );
+
+        $core_nr = &getCoreNr($cpu);
+
+        my $exe_nm = "ssh -n $cpu -l $username \"cd /home/hadaq/oper; export DAQ_SETUP=/home/hadaq/oper/eb; taskset -c $core_nr $cmd_nm $nm_log &\"";
+
+        #print "exec: $exe_nm\n";
+
+        #--- Open permissions for shared memory
+        my $eb_shmem = "daq_evtbuild" . $EB_Args_href->{$ebproc}->{'EBNUM'} . ".shm";
+        my $nm_shmem = "daq_netmem" . $EB_Args_href->{$ebproc}->{'EBNUM'} . ".shm";
+        my $exe_open_eb = "ssh -n $cpu -l $username \"chmod 775 /dev/shm/$eb_shmem\"";
+        my $exe_open_nm = "ssh -n $cpu -l $username \"chmod 775 /dev/shm/$nm_shmem\"";
+        
+        &forkEB($exe_eb, $exe_nm, $exe_open_eb, $exe_open_nm, \@process_list);
+    }
+
+} 
+# if dabc
+
+    #- Wait for children
+    foreach my $cur_child_pid (@process_list) {
+        waitpid($cur_child_pid,0);
+    }
+
+} 
+# foreach
+
+sub stopEvtBuilders()
+{
+    my $username = "hadaq";
+
+    my @process_list = ();
+
+    #--- Loop over server IPs
+    foreach my $ip (@EB_IP_list){
+
+        my $exe = "ssh -n $ip -l $username \"/home/hadaq/bin/cleanup_evtbuild.pl; /home/hadaq/bin/ipcrm.pl\"";
+
+        if($opt_verb){
+            print "Killing running EBs...\n";
+            print "Exec: $exe\n";
+        }
+
+        my $log = $log_path . "/log_" . $ip . "_" . "stopEB.txt";
+
+        forkMe($exe, $log, \@process_list) unless($opt_test);
+    }
+
+    #- Wait for children
+    foreach my $cur_child_pid (@process_list) {
+        print "wait for $cur_child_pid\n";
+        waitpid($cur_child_pid,0);
+    }
+}
+
+sub cpPortList2EB()
+{
+    my ($port_list_aref, $ebnr, $cpu) = @_;
+
+    my $tmpfile = "/tmp/eb" . $ebnr . "_" . $cpu . ".txt";
+
+    #- First write ports to tmp file
+    my $fh = new FileHandle(">$tmpfile");
+
+    if(!$fh) {
+        my $txt = "\nError! Could not open file \"$tmpfile\" for output. Exit.\n";
+        print STDERR $txt;
+        print $txt;
+        exit(128);
+    }
+    
+    foreach my $port (@$port_list_aref){
+        print $fh "$port\n";
+    }
+
+    $fh->close();
+
+    #- Copy this tmp file to EB
+    my $exe_cp = "scp $tmpfile hadaq\@$cpu:/tmp/ 1>/dev/null 2>/dev/null";
+    system($exe_cp);
+}
+sub startIOC()
+{
+    my $ioc_dir = "/home/scs/ebctrl/ioc/iocBoot/iocebctrl";
+
+    &writeIOC_stcmd( $ioc_dir );
+
+    print "Starting IOCs...\n" if($opt_verb);
+
+    foreach my $ebproc (keys %$EB_Args_href){
+
+        my $stcmd = sprintf("st_eb%02d.cmd", 1 + $ebproc);
+        my $screen_name = sprintf("ioc_eb%02d", 1 + $ebproc);
+
+        my $cmd = "bash; . /home/scs/.bashrc; export HOSTNAME=\\\$(hostname); cd $ioc_dir; screen -dmS $screen_name ../../bin/linux-x86_64/ebctrl $stcmd";
+        my $cpu = $EB_Args_href->{$ebproc}->{'IP'};
+        # JAM2016: this is kludge for bnet:
+        # first IP in hub configuration of pseude EB15 might be set differently
+        # we always reset it to match lxhadeb05 where epics for builder should belong 
+        if($ebproc == 15)
+         {
+           $cpu="192.168.100.15";
+         }
+        # end bnet kludge
+        my $exe = "ssh -n $cpu -l scs \"$cmd\"";
+
+        print "Exec: $exe\n" if($opt_verb);
+        system($exe) unless($opt_test);
+    }
+}
+
+sub smallestEBProcNum()
+{
+    my $smallest = 1000;
+
+    foreach my $ebproc (keys %$EB_Args_href){
+        $smallest = $ebproc if($smallest > $ebproc);
+    }
+
+    return $smallest;
+}
+
+sub writeIOC_stcmd()
+{
+    my ($ioc_dir) = @_;
+
+    # JAM first evaluate ports for ca list
+    my $epicscalist = "192.168.111.255";
+    foreach my $ebproc (keys %$EB_Args_href){
+     $epicscalist=sprintf("%s 192.168.111.255:%d", $epicscalist, 10001 + $ebproc);
+    }
+    
+    print "Copying st.cmd files to servers...\n" if($opt_verb);
+
+    my $smallest_ebproc = &smallestEBProcNum();
+    
+    foreach my $ebproc (keys %$EB_Args_href){
+
+        my $ebNr  = 1 + $ebproc;
+        my $ebnum = sprintf("eb%02d", $ebNr);
+        my $serverport = 10001+ $ebproc;
+       
+       
+        #- in MBytes
+        my $maxFileSize = $EB_Args_href->{$ebproc}->{'FILESIZE'};
+
+        my $ebtype = "slave";
+        my $comment_genrunid   = "#";
+        my $comment_totalevt   = "#";
+
+        if($ebproc == $smallest_ebproc){
+            $ebtype           = "master";
+            $comment_genrunid = "";
+            $comment_totalevt   = "";
+        }
+
+#        if($ebNr == 1){
+#            $comment_totalevt   = "";
+#        }
+
+        my $ioc_stcmd = <<EOF;
+#!../../bin/linux-x86_64/ebctrl
+
+## Set EPICS environment
+
+< envPaths
+
+epicsEnvSet(FILESIZE,"$maxFileSize")
+epicsEnvSet(EBTYPE,"$ebtype")
+epicsEnvSet(EBNUM,"$ebNr")
+epicsEnvSet(ERRBITLOG, "1")
+epicsEnvSet(ERRBITWAIT, "30")
+epicsEnvSet(EPICS_CAS_SERVER_PORT,"$serverport")
+## epicsEnvSet(EPICS_CA_ADDR_LIST,"192.168.111.255")
+epicsEnvSet(EPICS_CA_ADDR_LIST,"$epicscalist")
+epicsEnvSet(EPICS_CA_AUTO_ADDR_LIST,"NO")
+epicsEnvSet(PATH,"/home/scs/base-3-14-11/bin/linux-x86_64:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:.")
+
+cd \${TOP}
+
+## Register all support components
+dbLoadDatabase("dbd/ebctrl.dbd")
+ebctrl_registerRecordDeviceDriver(pdbbase)
+
+## Load record instances
+dbLoadRecords("db/stats.db", "PREFIX=HAD:IOC:,IOC=$ebnum")
+dbLoadRecords("db/evtbuild.db","eb=$ebnum")
+dbLoadRecords("db/netmem.db","eb=$ebnum")
+dbLoadRecords("db/errbit1.db","eb=$ebnum")
+dbLoadRecords("db/errbit2.db","eb=$ebnum")
+dbLoadRecords("db/trignr1.db","eb=$ebnum")
+dbLoadRecords("db/trignr2.db","eb=$ebnum")
+dbLoadRecords("db/portnr1.db","eb=$ebnum")
+dbLoadRecords("db/portnr2.db","eb=$ebnum")
+dbLoadRecords("db/trigtype.db","eb=$ebnum")
+## JAM disable cpu module to test epicshangup issue:
+## dbLoadRecords("db/cpu.db","eb=$ebnum")
+dbLoadRecords("db/errbitstat.db","eb=$ebnum")
+$comment_totalevt dbLoadRecords("db/totalevtstat.db")
+$comment_genrunid dbLoadRecords("db/genrunid.db","eb=$ebnum")
+
+## Set this to see messages from mySub
+var evtbuildDebug 0
+var netmemDebug 0
+var genrunidDebug 0
+var writerunidDebug 0
+var errbit1Debug 0
+var errbit2Debug 0
+var trigtypeDebug 1
+var cpuDebug 0
+var errbitstatDebug 0
+$comment_totalevt var totalevtscompDebug 0
+cd \${TOP}/iocBoot/\${IOC}
+iocInit()
+
+## Start any sequence programs
+#seq sncExample,"user=scsHost"
+
+dbl > \${TOP}/iocBoot/\${IOC}/$ebnum.dbl
+
+EOF
+
+        my $outfile = "/tmp/st_" . $ebnum . ".cmd";
+        my $fh = new FileHandle(">$outfile");
+
+        if(!$fh) {
+            my $txt = "\nError! Could not open file \"$outfile\" for output. Exit.\n";
+            print STDERR $txt;
+            print $txt;
+            exit(128);
+        }
+
+        print $fh $ioc_stcmd;
+        $fh->close();
+
+        my $ip  = $EB_Args_href->{$ebproc}->{'IP'};
+        my $cmd = "scp $outfile scs\@$ip:$ioc_dir/.";
+        
+        print "Exec: $cmd\n" if($opt_verb);
+        system($cmd) unless($opt_test);        
+    }
+}
+
+sub killIOC()
+{
+    my %ioc;
+    my $ioc_href = \%ioc;
+
+    print "Looking for running IOCs...\n" if($opt_verb);
+
+    #--- Loop over server IPs
+    foreach my $ip (@EB_IP_list){
+
+        &findRunningIOC($ip, $ioc_href);
+    }
+
+    #print Dumper \%$ioc_href;
+
+    &writeExpectIOC() if(%$ioc_href);
+
+    if($opt_verb){
+        print "Killing running IOCs...\n";
+        print "No IOCs found - nothing to kill, continue...\n" unless(%$ioc_href);
+    }
+
+    my (@process_list);
+
+    foreach my $ip ( %$ioc_href ){
+        foreach my $ioc ( @{$ioc_href->{$ip}} ){
+            
+            my $cmd = $expect_ioc_script . " " . $ip . " " . $ioc;
+            my $log = $log_path . "/log_" . $ip . "_" . $ioc . ".txt";
+            print "cmd: $cmd\n" if($opt_verb);
+            &forkMe($cmd, $log, \@process_list);
+        }
+    }
+
+
+    
+
+    #- Wait for children
+    foreach my $cur_child_pid (@process_list) {
+        waitpid($cur_child_pid,0);
+    }
+
+    ### just kill the remaining stuff
+    @process_list = ();
+
+    foreach my $ip (@EB_IP_list){
+       my $cmd = qq|ssh scs\@$ip "/usr/bin/pkill -f \\"SCREEN -dmS ioc_eb\\""|;
+       print $cmd;
+       &forkMe($cmd, "/tmp/ioc_kill_$ip", \@process_list);
+    }
+
+    foreach my $cur_child_pid (@process_list) {
+        waitpid($cur_child_pid,0);
+    }
+
+    sleep 1;
+
+    ### just kill the remaining stuff
+    @process_list = ();
+    foreach my $ip (@EB_IP_list){
+       my $cmd = qq|ssh scs\@$ip "/usr/bin/pkill -9 -f \\"SCREEN -dmS ioc_eb\\""|;
+       &forkMe($cmd, "/tmp/ioc_kill2_$ip", \@process_list);
+    }
+
+    foreach my $cur_child_pid (@process_list) {
+        waitpid($cur_child_pid,0);
+    }
+
+}
+
+sub forkMe()
+{
+    my ($cmd, $log, $proc_list) = @_;
+
+    my $child = fork();
+
+    if( $child ){                           # parent
+        push( @$proc_list, $child );
+    }
+    elsif( $child == 0 ) {                        # child
+        system("$cmd >$log 2>&1 ");
+        exit(0);
+    }
+    else{
+        print "Could not fork: $!\n";
+        exit(1);
+    }
+}
+
+sub forkEB()
+{
+    my ($exe_eb, $exe_nm, $exe_open_eb, $exe_open_nm, $proc_list) = @_;
+
+    my $child = fork();
+
+    if( $child ){                           # parent
+        push( @$proc_list, $child );
+    }
+    elsif( $child == 0 ) {                        # child
+        #--- Execute Event Builder
+        print "Exec: $exe_eb\n" if($opt_verb);
+        system($exe_eb) unless($opt_test);
+
+        sleep(1);
+
+        #--- Open permissions for EB shared memory
+        #  ! Permissions should be opened by EB process
+        #print "Exec: $exe_open_eb\n" if($opt_verb);
+        #system($exe_open_eb) unless($opt_test);
+
+        sleep(2);
+
+        #--- Execute Net-2-Memory
+        print "Exec: $exe_nm\n" if($opt_verb);
+        system($exe_nm) unless($opt_test);
+
+        sleep(1);
+
+        #--- Open permissions for NM shared memory
+        #  ! Permissions should be opened by EB process
+        #print "Exec: $exe_open_nm\n" if($opt_verb);
+        #system($exe_open_nm) unless($opt_test);
+
+        exit(0);
+    }
+    else{
+        print "Could not fork: $!\n";
+        exit(1);
+    }
+}
+
+sub findRunningIOC()
+{
+    my ($cpu, $ioc_href) = @_;
+    
+    `ssh -n $cpu -l scs \"screen -wipe\"`;
+    my $exe = "ssh -n $cpu -l scs \"screen -ls\"";
+
+    my @output = `$exe`;
+
+    foreach my $line (@output){
+        if($line =~ /\d+\.(ioc_eb\d{2})\s+/){
+            my $name = $1;
+            push( @{$ioc_href->{$cpu}}, $name );
+            print "Found IOC: $name on $cpu\n" if($opt_verb);
+        }
+    }
+}
+
+sub writeExpectIOC()
+{
+    # This expect script can be executed to exit IOC.
+
+    #! Look if /tmp dir exists
+    my $tmp_dir = dirname("/tmp");
+    if ( !(-d $tmp_dir) ){
+        print "\nCannot access /tmp directory!\nExit.\n";
+        exit(1);
+    }
+
+    my $expect_script_my = <<EOF;
+#!/usr/bin/expect -f
+
+# This script is automatically generated by startup.pl
+# Do not edit, the changes will be lost.
+
+# Print args
+send_user "\$argv0 [lrange \$argv 0 \$argc]\\n"
+
+# Get args
+#
+# ip      : IP address of the server
+# iocname : name of IOC screen process (screen -ls)
+#
+if {\$argc>0} {
+  set ip      [lindex \$argv 0]
+  set iocname [lindex \$argv 1]
+} else {
+  send_user "Usage: \$argv0 ip iocname\\n"
+}
+
+spawn ssh scs@\$ip
+
+#expect {
+#        "error"     { exit; }
+#        "login:"    { exit; }
+#        "Password:" { exit; }
+#}
+
+set timeout 20
+#240
+
+expect "~\$ "
+send   "screen -r \$iocname\\r"
+expect "epics> "
+send   "exit\\r"
+expect "~\$ "
+    
+EOF
+
+    my $fh = new FileHandle(">$expect_ioc_script");
+
+    if(!$fh) {
+        my $txt = "\nError! Could not open file \"$expect_ioc_script\" for output. Exit.\n";
+        print STDERR $txt;
+        print $txt;
+        exit(128);
+    }
+
+    print $fh $expect_script_my;
+    $fh->close();    
+
+    #- open permissions
+    system("chmod 755 $expect_ioc_script");
+}
+
+sub getGbEconfig()
+{
+    #
+    # Read DB configurations of GbE and CTS,
+    # look for active data sources as well as
+    # for EB IPs and ports.
+    #
+
+    my ($eb_ids_href) = @_;
+
+    my $data_sources = $temp_args_href->{'Parallel'}->{'DATA_SOURCES'};
+    my $gbe_conf     = $temp_args_href->{'Parallel'}->{'GBE_CONF'};
+    #my $cts_conf     = $temp_args_href->{'Parallel'}->{'CTS_CONF'};
+
+    my %activeSources_hash;
+    my $activeSources_href = \%activeSources_hash;
+
+    &readActiveSources($data_sources, $activeSources_href);
+
+    my @id_list;
+    my $id_list_aref = \@id_list;
+
+    #&readEBids($cts_conf, $id_list_aref);
+
+    #- Overwrite array with EB numbers
+    @id_list = (0 .. 15);
+    #print Dumper $id_list_aref;
+
+    &readEBports($gbe_conf, $activeSources_href, $id_list_aref, $eb_ids_href);
+}
+
+sub readEBids()
+{
+    #
+    # Read EB Ids
+    #
+
+    my ($file, $id_list_aref) = @_;
+
+    my $nnn_table = 0;
+    my $val_table = 0;
+
+    my $SPACE = "";
+
+    my $fh = new FileHandle("$file", "r");
+
+    while(<$fh>){
+
+        #- Remove all comments
+        $_ =~ s{                # Substitue...
+                 \#             # ...a literal octothorpe
+                 [^\n]*         # ...followed by any number of non-newlines
+               }
+               {$SPACE}gxms;    # Raplace it with a single space        
+
+        #- Skip line if it contains only whitespaces
+        next unless(/\S/);
+
+            if(/^(\s+)?!Value\stable/){
+            $val_table = 1;
+            $nnn_table = 0;
+            next;
+        }
+        elsif(/^(\s+)?!\w+/){
+            $val_table = 0;
+            $nnn_table = 1;
+        }
+
+        if($val_table){
+            my (@vals)   = split(" ", $_);
+            my @id_list1 = split("", $vals[12]);
+            my @id_list2 = split("", $vals[13]);
+            foreach my $id (@id_list1){
+                push(@$id_list_aref, hex($id));
+            }
+            foreach my $id (@id_list2){
+                push(@$id_list_aref, hex($id));
+            }
+        }
+        elsif($nnn_table){
+        }
+    }
+
+    $fh->close;
+}
+
+sub readEBports()
+{
+    #
+    # Read EB IPs and ports accoring to EB Id (type) 
+    # and TRB-Net addresses of active data sources.
+    #
+
+    my ($file, $activeSources_href, $id_list_aref, $ports_href) = @_;
+
+    my $nnn_table = 0;
+    my $val_table = 0;
+
+    my $fh = new FileHandle("$file", "r");
+
+    &isFileDefined($fh, $file);
+
+    my %tmp;
+    my $tmp_href = \%tmp; 
+
+    my $SPACE = "";
+
+    while(<$fh>){
+
+        #print $_;
+        #- Remove all comments
+        $_ =~ s{                # Substitue...
+                 \#             # ...a literal octothorpe
+                 [^\n]*         # ...followed by any number of non-newlines
+               }
+               {$SPACE}gxms;    # Raplace it with a single space
+
+        #- Skip line if it contains only whitespaces
+        next unless(/\S/);
+
+        #print $_;
+            if(/^(\s+)?!Value\stable/){
+            $val_table = 1;
+            $nnn_table = 0;
+            next;
+        }
+        elsif(/^(\s+)?!\w+/){
+            $nnn_table = 1;
+            $val_table = 0;
+        }
+
+        if($val_table){
+            my (@vals)   = split(" ", $_);
+            my $id = $vals[1];
+
+            #if($id <0 or $id >15) {
+            #  print "error: in $file there is a line with an eventbuilder number different than 0..15, the number given in the file is $id. please correct the config file.\n";
+            #  exit(128);
+            #}
+
+
+            #- Accept only EB Ids from CTS config file
+            #print "value: $_";
+            next unless( any {$_ eq $id} @$id_list_aref );
+
+            #print Dumper \@vals;
+            #print "active sources: "; print Dumper $activeSources_href->{'addr_list'};
+            #exit;
+
+            my $ip   = &getIP_hex2dec($vals[6]);
+            my $port = &getPort_hex2dec($vals[2]);
+            my $addr = $vals[0];
+            my $calib = $vals[7]; # jam2018 - add list of trb3 tdc calibration modes
+
+            #print "got: ip: $ip, port: $port, addr: $addr\n";
+            #- Accept only sources from active source list
+            if( any {hex($_) == hex($addr)} @{$activeSources_href->{'addr_list'}} ){
+                $tmp_href->{$id}->{'IP'} = $ip;
+                push( @{$tmp_href->{$id}->{'port_list'}}, $port );
+                push( @{$tmp_href->{$id}->{'addr_list'}}, $addr );
+                push( @{$tmp_href->{$id}->{'calib_list'}}, $calib );
+                
+                # JAM2016: for bnet we need the receiver nodes per port as list also:
+                 push( @{$tmp_href->{$id}->{'ip_list'}}, $ip );
+                
+            }
+        }
+    }
+
+    $fh->close;
+
+    #print Dumper $tmp_href;
+
+    #- Sort hash according to active data source list
+    foreach my $id (keys %tmp){
+        $ports_href->{$id}->{'IP'} = $tmp_href->{$id}->{'IP'};
+        
+        foreach my $addr (@{$activeSources_href->{'addr_list'}}){
+            
+            my $ind1 = first_index {$_ eq $addr} @{$tmp_href->{$id}->{'addr_list'}};
+            my $ind2 = first_index {$_ eq $addr} @{$activeSources_href->{'addr_list'}};
+
+            next if($ind1 == -1);
+
+            push( @{$ports_href->{$id}->{'port_list'}}, $tmp_href->{$id}->{'port_list'}->[$ind1]);
+            # added for bnet JAM:
+            push( @{$ports_href->{$id}->{'ip_list'}}, $tmp_href->{$id}->{'ip_list'}->[$ind1]);
+            push( @{$ports_href->{$id}->{'calib_list'}}, $tmp_href->{$id}->{'calib_list'}->[$ind1]);
+            
+            push( @{$ports_href->{$id}->{'addr_list'}}, $addr);
+            push( @{$ports_href->{$id}->{'bufsize_list'}}, $activeSources_href->{'bufsize_list'}->[$ind2]);
+        }
+    }
+
+    #print Dumper $ports_href;
+}
+
+sub readActiveSources()
+{
+    #
+    # Read TRB-Net addresses of active data sources
+    #
+
+    my ($file, $activeSources_href) = @_;
+
+    my $fh = new FileHandle("$file", "r");
+
+    &isFileDefined($fh, $file);
+
+    my $SPACE = "";
+
+    while(<$fh>){
+        
+        #- Remove all comments
+        $_ =~ s{                # Substitue...
+                 \#             # ...a literal octothorpe
+                 [^\n]*         # ...followed by any number of non-newlines
+               }
+               {$SPACE}gxms;    # Raplace it with a single space
+
+        #- Skip line if it contains only whitespaces
+        next unless(/\S/);
+
+        my ($addr, $astat, $sys, $size)  = split(" ", $_);
+
+        next if($astat == 0);
+
+        push( @{$activeSources_href->{'addr_list'}}, $addr);
+        push( @{$activeSources_href->{'bufsize_list'}}, &getBufSize($size)); 
+    }
+
+    $fh->close;
+}
+
+sub getBufSize()
+{
+    my ($bufSize) = @_;
+
+    if(lc($bufSize) eq "low"){
+        return $temp_args_href->{'Main'}->{'BUF_SIZE_LOW'};
+    }
+    elsif(lc($bufSize) eq "mid"){
+        return $temp_args_href->{'Main'}->{'BUF_SIZE_MID'};
+    }
+    elsif(lc($bufSize) eq "high"){
+        return $temp_args_href->{'Main'}->{'BUF_SIZE_HIGH'};
+    }
+    else{
+        print "Cannot understand $bufSize from data_sources.db.\n";
+        exit(0);
+    }
+}
+
+sub getIP_hex2dec()
+{
+    my ($ip_hex) = @_;
+
+    my $ip_dec;
+
+    if( $ip_hex =~ /0x(\w{2})(\w{2})(\w{2})(\w{2})/ ){
+        $ip_dec = hex($1) . "." . hex($2) . "." . hex($3) . "." . hex($4);
+    }
+    else{
+        print "getIP_hex2dec(): cannot extract ip address because of diferent format! Exit.";
+        exit(0);
+    }
+
+    return $ip_dec;
+}
+
+sub getPort_hex2dec()
+{
+    my ($port_hex) = @_;
+
+    my $port_dec;
+
+    if( $port_hex =~ /0x(\w+)/ ){
+        $port_dec = hex($1);
+    }
+    else{
+        print "getPort_hex2dec(): cannot extract port number because of diferent format! Exit.";
+        exit(0);
+    }
+
+    return $port_dec;
+}
+
+sub getIP_hades2gsi()
+{
+    my ($ip_hades) = @_;
+    my $ip_gsi = "";
+    if (exists $IP_GSI_href->{$ip_hades}){ 
+      $ip_gsi = $IP_GSI_href->{$ip_hades};
+    }
+    else {
+      print "getIP_hades2gsi(): WARNING - unknown hades ip $ip_hades";
+    }
+    return $ip_gsi;
+}
+
+
+
+
+sub isFileDefined()
+{
+    my ($fh, $name) = @_;
+
+   if(!$fh) {
+        my $txt = "\nError! Could not open file \'$name\'. Exit.\n";
+        print STDERR $txt;
+        print $txt;
+        exit(128);
+    }
+
+    return 0;
+}
+
+sub writeArgs2file()
+{
+    my $fileName = $0;
+
+    #- Replace .pl with .sh
+    $fileName =~ s/\.pl/\.sh/;
+
+    my $fh = new FileHandle(">./$fileName");
+    if(!$fh) {
+        my $txt = "\nError! Could not open file \"$fileName\" for output. Exit.\n";
+        print STDERR $txt;
+        print $txt;
+        exit(128);
+    }
+
+    my $current_dir = cwd();
+    my $ptogName = $0;
+
+
+    #- Write to the file the script name itself
+    print $fh $0;
+
+    #- Write to the file the arguments
+    foreach my $arg (@arg_list){
+        print $fh " $arg";
+    }
+    print $fh "\n";
+
+    $fh->close();
+
+    system("chmod 755 ./$fileName");
+}
+
index 625449cff38109f8c065a0ab5d5dae44b6465a03..383066002968d487b52c0bbdf7fb309de6019ae1 100755 (executable)
@@ -1 +1 @@
-./start_eb_gbe.pl -e restart -n 1-16 -d off -p --
+./start_eb_gbe.pl -e restart -n 1-15 -d on -p te
index 716e32138f1d5a57e940bc469eda99d516450333..95a50b62d86be2cc9a55d4ce770fde7330d8257c 100755 (executable)
@@ -3,5 +3,6 @@
 # restart epics iocs for all eventbuilders
 # will kill all previous iocs
 # need to set environment with this script due to relative paths in config files
+# JAM 4-2018: switch off EB16 for BNET. Anyway, this restart script is deactivated in icinga!
 cd /home/hadaq/trbsoft/daq/evtbuild
-./start_eb_gbe.pl -i start -n 1-16 
+./start_eb_gbe.pl -i start -n 1-15 
index 3137bb8aefd96e63ecf42dd5c3d633783f63e9a9..4623eafe196b9817ba0b1431b05deb539eb02395 100644 (file)
   0x8890      1       0x8890         1            1
   0x8900      1       0x8900         1            1    
   0x8910      1       0x8910         1            1    
-  0x8a00      1              0x8a00         1            1     
-  0x8a01      1       0x8a01         1            1
-  0x8a02      1       0x8a02         1            1
-  0x8a03      1       0x8a03         1            1
-  0x8a04      1       0x8a04         1            1
-  0x8a05      1       0x8a05         1            1
+  0x8a00      1              0x8a00         1            0     
+  0x8a01      1       0x8a01         1            0
+  0x8a02      1       0x8a02         1            0
+  0x8a03      1       0x8a03         1            0
+  0x8a04      1       0x8a04         1            0
+  0x8a05      1       0x8a05         1            0
   0x1000      1       0x1000         1            0
   0x1010      1       0x1010         1            0
   0x1020      1       0x1020         1            0
index 797b44a9c3901fce9058f9055ce78890fde38575..a3fe89734e9c0c031172fa20f42e3b1fcf3ca14e 120000 (symlink)
@@ -1 +1 @@
-register_configgbe_ip_2018.db
\ No newline at end of file
+register_configgbe_ip_2018_oldEBs.db
\ No newline at end of file
index 2ddce8f44944cbb26482cab9a458b14cb4de873d..645afc7870390eb994bd6240276a9cd08cc57609 100644 (file)
   0x1020      6        0xc462     0xdead1020   0xc0a86492     0xc462        0xc0a8640D
   0x1030      6        0xc463     0xdead1030   0xc0a86493     0xc463        0xc0a8640D
   0x1040      6        0xc464     0xdead1040   0xc0a86494     0xc464        0xc0a8640D
-  0x1050      6        0xc465     0xdead1010   0xc0a864A1     0xc471        0xc0a8640D
+  0x1050      6        0xc465     0xdead1050   0xc0a86495     0xc465        0xc0a8640D
   0x1100      6        0xc466     0xdead1100   0xc0a86496     0xc466        0xc0a8640D
   0x1110      6        0xc467     0xdead1110   0xc0a86497     0xc467        0xc0a8640D
   0x1120      6        0xc468     0xdead1120   0xc0a86498     0xc468        0xc0a8640D
   
 
 
-#                    Dest Port    Src MAC      Src IP        Src Port  
-# Hub    #  Type  #     C3     #     C4     #     C6     #     C7     #
-#######################################################################
+#                    Dest Port    Src MAC      Src IP        Src Port #          #   TDC Calib flag
+# Hub    #  Type  #     C3     #     C4     #     C6     #     C7     #   EB IP  # 1:NO 1:linear 2:complex
+################################################################################################
 # JAM 2016: this EB will be used as pseudo node to setup the dabc bnet
 # last column will distribute to bnet input nodes  
 # EB_LUT must be 0x8000 in CTS for bnet mode
 # note that we also need to set same destination ips in the hub table at the end of this file!
 #
 #lxhadeb04, EB15  .14
-  0x8000     15        0xc65B     0xdead8000   0xc0a86480     0xc65B        0xc0a8640F
-  0x8100     15        0xc651     0xdead8100   0xc0a86481     0xc651        0xc0a8640F
-  0x8110     15        0xc652     0xdead8110   0xc0a86482     0xc652        0xc0a8640F
-  0x8400     15        0xc656     0xdead8400   0xc0a86486     0xc656        0xc0a8640C
-  0x8410     15        0xc657     0xdead8410   0xc0a86487     0xc657        0xc0a8640C
-  0x8420     15        0xc658     0xdead8420   0xc0a86488     0xc658        0xc0a8640C
-  0x8600     15        0xc659     0xdead8600   0xc0a86489     0xc659        0xc0a8640C
-  0x8700     15        0xc65A     0xdead8700   0xc0a8648A     0xc65A        0xc0a8640C
-  0x8800     15        0xc650     0xdead8800   0xc0a8648B     0xc650        0xc0a8640F
-  0x8900     15        0xc65C     0xdead8900   0xc0a8648C     0xc65C        0xc0a8640D
-  0x8880     15        0xc65D     0xdead8A00   0xc0a8648D     0xc65D        0xc0a8640D
-  0x8890     15        0xc65F     0xdead8890   0xc0a8648F     0xc65F        0xc0a8640D
-  0x8910     15        0xc65E     0xdead8910   0xc0a8648E     0xc65E        0xc0a8640D
-  0x1000     15        0xc660     0xdead1000   0xc0a86490     0xc660        0xc0a8640D
-  0x1010     15        0xc661     0xdead1010   0xc0a86491     0xc661        0xc0a8640D
-  0x1020     15        0xc662     0xdead1020   0xc0a86492     0xc662        0xc0a8640D
-  0x1030     15        0xc663     0xdead1030   0xc0a86493     0xc663        0xc0a8640D
-  0x1040     15        0xc664     0xdead1040   0xc0a86494     0xc664        0xc0a8640E
-  0x1050     15        0xc665     0xdead1050   0xc0a86495     0xc665        0xc0a8640E
-  0x1100     15        0xc666     0xdead1100   0xc0a86496     0xc666        0xc0a8640E
-  0x1110     15        0xc667     0xdead1110   0xc0a86497     0xc667        0xc0a8640E
-  0x1120     15        0xc668     0xdead1120   0xc0a86498     0xc668        0xc0a8640F
-  0x1130     15        0xc669     0xdead1130   0xc0a86499     0xc669        0xc0a8640F
-  0x1140     15        0xc66A     0xdead1140   0xc0a8649A     0xc66A        0xc0a8640F
-  0x1150     15        0xc66B     0xdead1150   0xc0a8649B     0xc66B        0xc0a8640F
-  0x1160     15        0xc66C     0xdead1160   0xc0a8649C     0xc66C        0xc0a8640F
- 0x8a00     15       0xc676     0xdead3260   0xc0a864A6     0xc676     0xc0a8640F
-  0x8a01     15      0xc677     0xdead3270   0xc0a864A7     0xc677     0xc0a8640F  
-  0x8a02     15      0xc678     0xdead3280   0xc0a864A8     0xc678     0xc0a8640F  
-  0x8a03     15      0xc679     0xdead3290   0xc0a864A9     0xc679     0xc0a8640F
-  0x8a04     15      0xc67a     0xdead32a0   0xc0a864AA     0xc67A     0xc0a8640F
-  0x8a05     15      0xc67b     0xdead32b0   0xc0a864AB     0xc67B     0xc0a8640E
-  0x83c0     15      0xc67c     0xdead32c0   0xc0a864AC     0xc67C     0xc0a8640E
-  0x83c1     15      0xc67d     0xdead32d0   0xc0a864AD     0xc67D     0xc0a8640E
-  0x83c2     15      0xc67e     0xdead32e0   0xc0a864AE     0xc67E     0xc0a8640E
-  0x83c3     15     0xc67f     0xdead32f0   0xc0a864AF     0xc67F     0xc0a8640E
-  0x83c4     15     0xc680     0xdead3300   0xc0a864B0     0xc680     0xc0a8640E
-  0x83c5     15     0xc681     0xdead3310   0xc0a864B1     0xc681     0xc0a8640D
-  0x83c6     15      0xc682     0xdead3320   0xc0a864b2     0xc682     0xc0a8640D
-  0x83c7     15      0xc683     0xdead3330   0xc0a864b3     0xc683     0xc0a8640D
-  0x83c8     15      0xc684     0xdead3340   0xc0a864b4     0xc684     0xc0a8640D
-  0x83c9     15      0xc685     0xdead3350   0xc0a864b5     0xc685    0xc0a8640D
-  0x83ca     15       0xc686     0xdead3360   0xc0a864b6     0xc686    0xc0a8640D
+  0x8000     15        0xc65B     0xdead8000   0xc0a86480     0xc65B   0xc0a8640F    0      #     old cts -lxhadeb05
+  0x8100     15        0xc651     0xdead8100   0xc0a86481     0xc651   0xc0a8640E    0      #     mdc old?  lxhadeb04
+  0x8110     15        0xc652     0xdead8110   0xc0a86482     0xc652   0xc0a8640E    0      #     mdc old   lxhadeb04
+  0x8400     15        0xc656     0xdead8400   0xc0a86486     0xc656   0xc0a8640F    0      #   rpc lxhadeb05
+  0x8410     15        0xc657     0xdead8410   0xc0a86487     0xc657   0xc0a8640F    0      #   rpc lxhadeb05
+  0x8420     15        0xc658     0xdead8420   0xc0a86488     0xc658   0xc0a8640F    0      #       rpc old   lxhadeb05
+  0x8600     15        0xc659     0xdead8600   0xc0a86489     0xc659   0xc0a8640F    0      #   tof lxhadeb05
+  0x8700     15        0xc65A     0xdead8700   0xc0a8648A     0xc65A   0xc0a8640F    0      #   fw  lxhadeb05
+  0x8800     15        0xc650     0xdead8800   0xc0a8648B     0xc650   0xc0a8640F    0      #   central-cts lxhadeb05   
+  0x8880     15        0xc65D     0xdead8A00   0xc0a8648D     0xc65D   0xc0a8640D    2      #   start   - lxhadeb03
+  0x8890     15        0xc65F     0xdead8890   0xc0a8648F     0xc65F   0xc0a8640D    2      #   veto      lxhadeb03
+  0x8900     15        0xc65C     0xdead8900   0xc0a8648C     0xc65C   0xc0a8640D    2      #      pion1     lxhadeb03
+  0x8910     15        0xc65E     0xdead8910   0xc0a8648E     0xc65E   0xc0a8640D    2      #      pion2     lxhadeb03
+  0x1000     15        0xc660     0xdead1000   0xc0a86490     0xc660   0xc0a8640E    0      #   mdc - lxhadeb04 
+  0x1010     15        0xc661     0xdead1010   0xc0a86491     0xc661   0xc0a8640E    0      #   mdc - lxhadeb04 
+  0x1020     15        0xc662     0xdead1020   0xc0a86492     0xc662   0xc0a8640E    0      #   mdc - lxhadeb04 
+  0x1030     15        0xc663     0xdead1030   0xc0a86493     0xc663   0xc0a8640E    0      #   mdc - lxhadeb04 
+  0x1040     15        0xc664     0xdead1040   0xc0a86494     0xc664   0xc0a8640E    0      #   mdc - lxhadeb04
+  0x1050     15        0xc665     0xdead1050   0xc0a86495     0xc665   0xc0a8640E    0      #   mdc - lxhadeb04
+  0x1100     15        0xc666     0xdead1100   0xc0a86496     0xc666   0xc0a8640E    0      #   mdc - lxhadeb04
+  0x1110     15        0xc667     0xdead1110   0xc0a86497     0xc667   0xc0a8640E    0      #   mdc - lxhadeb04
+  0x1120     15        0xc668     0xdead1120   0xc0a86498     0xc668   0xc0a8640C    0      #   mdc - lxhadeb02
+  0x1130     15        0xc669     0xdead1130   0xc0a86499     0xc669   0xc0a8640D    0      #   mdc - lxhadeb03
+  0x1140     15        0xc66A     0xdead1140   0xc0a8649A     0xc66A   0xc0a8640E    0      #   mdc - lxhadeb04
+  0x1150     15        0xc66B     0xdead1150   0xc0a8649B     0xc66B   0xc0a8640E    0      #   mdc - lxhadeb04
+  0x1160     15        0xc66C     0xdead1160   0xc0a8649C     0xc66C   0xc0a8640E    0      #   mdc - lxhadeb04
+  0x8a00     15       0xc676     0xdead3260   0xc0a864A6     0xc676    0xc0a8640D    1      #   ecal- all to lxhadeb03
+  0x8a01     15      0xc677     0xdead3270   0xc0a864A7     0xc677     0xc0a8640D    1     #   ecal- all to lxhadeb03
+  0x8a02     15      0xc678     0xdead3280   0xc0a864A8     0xc678     0xc0a8640D    1     #   ecal- all to lxhadeb03
+  0x8a03     15      0xc679     0xdead3290   0xc0a864A9     0xc679     0xc0a8640D    1     #   ecal- all to lxhadeb03
+  0x8a04     15      0xc67a     0xdead32a0   0xc0a864AA     0xc67A     0xc0a8640D    1     #   ecal- all to lxhadeb03
+  0x8a05     15      0xc67b     0xdead32b0   0xc0a864AB     0xc67B     0xc0a8640D    1     #   ecal- all to lxhadeb03  
+  0x83c0     15      0xc67c     0xdead32c0   0xc0a864AC     0xc67C     0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c1     15      0xc67d     0xdead32d0   0xc0a864AD     0xc67D     0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c2     15      0xc67e     0xdead32e0   0xc0a864AE     0xc67E     0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c3     15     0xc67f     0xdead32f0   0xc0a864AF     0xc67F      0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c4     15     0xc680     0xdead3300   0xc0a864B0     0xc680      0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c5     15     0xc681     0xdead3310   0xc0a864B1     0xc681      0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c6     15      0xc682     0xdead3320   0xc0a864b2     0xc682     0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c7     15      0xc683     0xdead3330   0xc0a864b3     0xc683     0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c8     15      0xc684     0xdead3340   0xc0a864b4     0xc684     0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83c9     15      0xc685     0xdead3350   0xc0a864b5     0xc685     0xc0a8640C    1     #   rich - all to lxhadeb02
+  0x83ca     15       0xc686     0xdead3360   0xc0a864b6     0xc686    0xc0a8640C    1     #   rich - all to lxhadeb02 
   
   
   
 #  0x8410     15        0xc657     0xdead8410   0xc0a86487     0xc657        0xc0a8640E
 #  0x8420     15        0xc658     0xdead8420   0xc0a86488     0xc658        0xc0a8640E
 #  0x8600     15        0xc659     0xdead8600   0xc0a86489     0xc659        0xc0a8640E
-#  0x8700     15        0xc65A     0xdead8700   0xc0a8648A     0xc65A        0xc0a8640E
-#  0x8800     15        0xc650     0xdead8800   0xc0a8648B     0xc650        0xc0a8640E
-#  0x8900     15        0xc65C     0xdead8900   0xc0a8648C     0xc65C        0xc0a8640E
-#  0x8880     15        0xc65D     0xdead8A00   0xc0a8648D     0xc65D        0xc0a8640E
-#  0x8890     15        0xc65F     0xdead8890   0xc0a8648F     0xc65F        0xc0a8640E
-#  0x8910     15        0xc65E     0xdead8910   0xc0a8648E     0xc65E        0xc0a8640E
-#  0x1000     15        0xc660     0xdead1000   0xc0a86490     0xc660        0xc0a8640E
-#  0x1010     15        0xc661     0xdead1010   0xc0a86491     0xc661        0xc0a8640E
-#  0x1020     15        0xc662     0xdead1020   0xc0a86492     0xc662        0xc0a8640E
-#  0x1030     15        0xc663     0xdead1030   0xc0a86493     0xc663        0xc0a8640E
-#  0x1040     15        0xc664     0xdead1040   0xc0a86494     0xc664        0xc0a8640E
-#  0x1050     15        0xc665     0xdead1050   0xc0a86495     0xc665        0xc0a8640E
-#  0x1100     15        0xc666     0xdead1100   0xc0a86496     0xc666        0xc0a8640E
-#  0x1110     15        0xc667     0xdead1110   0xc0a86497     0xc667        0xc0a8640E
-#  0x1120     15        0xc668     0xdead1120   0xc0a86498     0xc668        0xc0a8640E
-#  0x1130     15        0xc669     0xdead1130   0xc0a86499     0xc669        0xc0a8640E
-#  0x1140     15        0xc66A     0xdead1140   0xc0a8649A     0xc66A        0xc0a8640E
-#  0x1150     15        0xc66B     0xdead1150   0xc0a8649B     0xc66B        0xc0a8640E
-#  0x1160     15        0xc66C     0xdead1160   0xc0a8649C     0xc66C        0xc0a8640E
-#  0x3200     15        0xc670     0xdead3200   0xc0a864A0     0xc670        0xc0a8640E
-#  0x3210     15        0xc671     0xdead3210   0xc0a864A1     0xc671        0xc0a8640E
-#  0x3220     15        0xc672     0xdead3220   0xc0a864A2     0xc672        0xc0a8640E
-#  0x3230     15        0xc673     0xdead3230   0xc0a864A3     0xc673        0xc0a8640E
-#  0x3240     15        0xc674     0xdead3240   0xc0a864A4     0xc674        0xc0a8640E
-#  0x3250     15        0xc675     0xdead3250   0xc0a864A5     0xc675        0xc0a8640E 
-  
-  
-  
-  
-  
-#                    Dest MAC    Dest MAC       Dest IP       Src MAC    Packet Size
-# Hub    #  Type  #     C0     #     C1     #     C2     #      C5     #     C8     #
-#####################################################################################
-  0xff7f    100     0x2157b095     0x001B     0xc0a8640f      0x0230       0x0578     #lxhadeb05, EB0 00:0e:1e:03:11:e6    192.168.100.15
-  0xff7f    101     0x21553E1E     0x001B     0xc0a8640C      0x0230       0x0578     #lxhadeb02, EB1 00:1b:21:55:3e:1e 192.168.100.12
-  0xff7f    102     0x2155068A     0x001B     0xc0a8640D      0x0230       0x0578     #lxhadeb03, EB2 00:1b:21:55:06:8a 192.168.100.13
-  0xff7f    103     0x2129b7c4     0x001B     0xc0a8640E      0x0230       0x0578     #lxhadeb04, EB3 00:1b:21:29:b7:c4 192.168.100.14
-  0xff7f    104     0x2157b095     0x001B     0xc0a8640f      0x0230       0x0578  
-  0xff7f    105     0x21553E1E     0x001B     0xc0a8640C      0x0230       0x0578  
-  0xff7f    106     0x2155068A     0x001B     0xc0a8640D      0x0230       0x0578  
-  0xff7f    107     0x2129b7c4     0x001B     0xc0a8640E      0x0230       0x0578  
-  0xff7f    108     0x2157b095     0x001B     0xc0a8640f      0x0230       0x0578  
-  0xff7f    109     0x21553E1E     0x001B     0xc0a8640C      0x0230       0x0578  
-  0xff7f    110     0x2155068A     0x001B     0xc0a8640D      0x0230       0x0578  
+#  0x8700     15        0xc65A     0xdead8700   0xc0a8648A     0xc65A        0xc0a8640E                                 
+#  0x8800     15        0xc650     0xdead8800   0xc0a8648B     0xc650        0xc0a8640E                                 
+#  0x8900     15        0xc65C     0xdead8900   0xc0a8648C     0xc65C        0xc0a8640E                                 
+#  0x8880     15        0xc65D     0xdead8A00   0xc0a8648D     0xc65D        0xc0a8640E                                 
+#  0x8890     15        0xc65F     0xdead8890   0xc0a8648F     0xc65F        0xc0a8640E                                 
+#  0x8910     15        0xc65E     0xdead8910   0xc0a8648E     0xc65E        0xc0a8640E                                 
+#  0x1000     15        0xc660     0xdead1000   0xc0a86490     0xc660        0xc0a8640E                                 
+#  0x1010     15        0xc661     0xdead1010   0xc0a86491     0xc661        0xc0a8640E                                 
+#  0x1020     15        0xc662     0xdead1020   0xc0a86492     0xc662        0xc0a8640E                                 
+#  0x1030     15        0xc663     0xdead1030   0xc0a86493     0xc663        0xc0a8640E                                 
+#  0x1040     15        0xc664     0xdead1040   0xc0a86494     0xc664        0xc0a8640E                                 
+#  0x1050     15        0xc665     0xdead1050   0xc0a86495     0xc665        0xc0a8640E                                 
+#  0x1100     15        0xc666     0xdead1100   0xc0a86496     0xc666        0xc0a8640E                                 
+#  0x1110     15        0xc667     0xdead1110   0xc0a86497     0xc667        0xc0a8640E                                 
+#  0x1120     15        0xc668     0xdead1120   0xc0a86498     0xc668        0xc0a8640E                                 
+#  0x1130     15        0xc669     0xdead1130   0xc0a86499     0xc669        0xc0a8640E                                 
+#  0x1140     15        0xc66A     0xdead1140   0xc0a8649A     0xc66A        0xc0a8640E                                 
+#  0x1150     15        0xc66B     0xdead1150   0xc0a8649B     0xc66B        0xc0a8640E                                 
+#  0x1160     15        0xc66C     0xdead1160   0xc0a8649C     0xc66C        0xc0a8640E                                 
+#  0x3200     15        0xc670     0xdead3200   0xc0a864A0     0xc670        0xc0a8640E                                 
+#  0x3210     15        0xc671     0xdead3210   0xc0a864A1     0xc671        0xc0a8640E                                 
+#  0x3220     15        0xc672     0xdead3220   0xc0a864A2     0xc672        0xc0a8640E                                 
+#  0x3230     15        0xc673     0xdead3230   0xc0a864A3     0xc673        0xc0a8640E                                 
+#  0x3240     15        0xc674     0xdead3240   0xc0a864A4     0xc674        0xc0a8640E                                 
+#  0x3250     15        0xc675     0xdead3250   0xc0a864A5     0xc675        0xc0a8640E                                 
+                                                                                                                        
+                                                                                                                        
+                                                                                                                        
+                                                                                                                        
+                                                                                                                        
+#                    Dest MAC    Dest MAC       Dest IP       Src MAC    Packet Size                                    
+# Hub    #  Type  #     C0     #     C1     #     C2     #      C5     #     C8     #                                   
+#####################################################################################                                   
+  0xff7f    100     0x2157b095     0x001B     0xc0a8640f      0x0230       0x0578     #lxhadeb05, EB0 00:1b:21:57:b0:95 
+  0xff7f    101     0x21553E1E     0x001B     0xc0a8640C      0x0230       0x0578     #lxhadeb02, EB1 00:1b:21:55:3e:1e 
+  0xff7f    102     0x2155068A     0x001B     0xc0a8640D      0x0230       0x0578     #lxhadeb03, EB2 00:1b:21:55:06:8a 
+  0xff7f    103     0x2129b7c4     0x001B     0xc0a8640E      0x0230       0x0578     #lxhadeb04, EB3 00:1b:21:29:b7:c4 
+  0xff7f    104     0x2157b095     0x001B     0xc0a8640f      0x0230       0x0578                                       
+  0xff7f    105     0x21553E1E     0x001B     0xc0a8640C      0x0230       0x0578                                       
+  0xff7f    106     0x2155068A     0x001B     0xc0a8640D      0x0230       0x0578                                       
+  0xff7f    107     0x2129b7c4     0x001B     0xc0a8640E      0x0230       0x0578                                       
+  0xff7f    108     0x2157b095     0x001B     0xc0a8640f      0x0230       0x0578                                       
+  0xff7f    109     0x21553E1E     0x001B     0xc0a8640C      0x0230       0x0578                                       
+  0xff7f    110     0x2155068A     0x001B     0xc0a8640D      0x0230       0x0578                                          
   0xff7f    111     0x2129b7c4     0x001B     0xc0a8640E      0x0230       0x0578  
   0xff7f    112     0x2157b095     0x001B     0xc0a8640f      0x0230       0x0578  
   0xff7f    113     0x21553E1E     0x001B     0xc0a8640C      0x0230       0x0578  
 #  0xff7f    115     0x4877f487     0x0030     0xc0a86432      0x0230       0x0578  #lxhadesdaq
 # JAM2016: for DABC-BNET the destination ips have to be set here for individual hubs
 # the ip entries in above table for eb15 needs to match this to configure EBs!
-  0x8000     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x8100     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x8110     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x8300     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x8310     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x8320     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x8400     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 # 0xc0a8640C lxhadeb02
-  0x8410     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 # 0xc0a8640C lxhadeb02
-  0x8420     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 # 0xc0a8640C lxhadeb02
-  0x8600     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 # 0xc0a8640C lxhadeb02
-  0x8700     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 # 0xc0a8640C lxhadeb02
-  0x8800     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05   
-  0x8900     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 # 0xc0a8640D lxhadeb03
-  0x8880     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 # 0xc0a8640D lxhadeb03
-  0x8890     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 # 0xc0a8640D lxhadeb03
-  0x8910     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 # 0xc0a8640D lxhadeb03
-  0x1000     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 # 0xc0a8640D lxhadeb03
-  0x1010     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 # 0xc0a8640D lxhadeb03
-  0x1020     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 # 0xc0a8640D lxhadeb03
-  0x1030     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 # 0xc0a8640D lxhadeb03
-  0x1040     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 # 0xc0a8640E lxhadeb04
-  0x1050     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 # 0xc0a8640E lxhadeb04
-  0x1100     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 # 0xc0a8640E lxhadeb04
-  0x1110     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 # 0xc0a8640E lxhadeb04  
-  0x1120     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x1130     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x1140     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x1150     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x1160     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x3200     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x3210     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x3220     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x3230     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x3240     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  0x3250     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 # 0xc0a8640F lxhadeb05
-  
+  0x8000     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 #     old cts -lxhadeb05
+  0x8100     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #     mdc old?  lxhadeb04
+  0x8110     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #     mdc old   lxhadeb04
+  0x8400     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 #   rpc lxhadeb05
+  0x8410     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 #   rpc lxhadeb05
+  0x8420     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 #       rpc old   lxhadeb05
+  0x8600     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 #   tof lxhadeb05
+  0x8700     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 #   fw  lxhadeb05
+  0x8800     115    0x2157b095     0x001B    0xc0a8640F     0x0230        0x0578 #   central-cts lxhadeb05     
+  0x8880     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   start   - lxhadeb03
+  0x8890     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   veto      lxhadeb03
+  0x8900     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #      pion1     lxhadeb03
+  0x8910     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #      pion2     lxhadeb03
+  0x1000     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04 
+  0x1010     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04 
+  0x1020     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04 
+  0x1030     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04 
+  0x1040     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04
+  0x1050     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04
+  0x1100     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04
+  0x1110     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04
+  0x1120     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   mdc - lxhadeb02 - dummy if rich is off
+  0x1130     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   mdc - lxhadeb03 - dummy if ecal is off
+  0x1140     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04
+  0x1150     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04
+  0x1160     115    0x2129b7c4     0x001B    0xc0a8640E     0x0230        0x0578 #   mdc - lxhadeb04
+  0x8a00     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   ecal- all to lxhadeb03
+  0x8a01     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   ecal- all to lxhadeb03
+  0x8a02     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   ecal- all to lxhadeb03
+  0x8a03     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   ecal- all to lxhadeb03
+  0x8a04     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   ecal- all to lxhadeb03
+  0x8a05     115    0x2155068A     0x001B    0xc0a8640D     0x0230        0x0578 #   ecal- all to lxhadeb03  
+  0x83c0     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c1     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c2     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c3     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c4     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c5     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c6     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c7     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c8     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83c9     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02
+  0x83ca     115    0x21553E1E     0x001B    0xc0a8640C     0x0230        0x0578 #   rich - all to lxhadeb02     
+                                                                                    
+                                                                                    
+                                                                                    
+                                                                                    
+                                                                                    
index 69f0b36d6d019e31b47c2545f2658ad08c20dc4f..cdcca80518668f4819b7582489ae7925d0184fa7 100644 (file)
 0x222b       301         1          12        0 # exchange 2010-08-03, no light from FOT on 426
 0x222c       238         1          12        0
 0x222d       054         1          12        0
-# 0x222e       381         1          12        0 # original before 14.6.2017
-# 0x222f       155         1          12        0 
-0x222f       381         1          12        0 # switched e <--> f - for testchamber readout with short MBO 14.6.2017
-0x222e       155         1          12        0
+#0x222e       381         1          12        0 # original before 14.6.2017
+0x222e       113         1          12        0 #newOEP, replaced 11.4.2018
+0x222f       155         1          12        0 
+#0x222f       381         1          12        0 # switched e <--> f - for testchamber readout with short MBO 14.6.2017
+#0x222e       155         1          12        0
 
 #old setting!
 ###################################################
diff --git a/rich/addresses_concentrator.db b/rich/addresses_concentrator.db
new file mode 120000 (symlink)
index 0000000..bd98f57
--- /dev/null
@@ -0,0 +1 @@
+addresses_concentrator.db_20180509
\ No newline at end of file
diff --git a/rpc/utilities/remTestSignalS1L.sh b/rpc/utilities/remTestSignalS1L.sh
deleted file mode 100755 (executable)
index f5654f8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp059 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp067 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp110 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp056 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
diff --git a/rpc/utilities/remTestSignalS2L.sh b/rpc/utilities/remTestSignalS2L.sh
deleted file mode 100755 (executable)
index b856cf2..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp094 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp085 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp065 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp063 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
diff --git a/rpc/utilities/remTestSignalS3L.sh b/rpc/utilities/remTestSignalS3L.sh
deleted file mode 100755 (executable)
index 361a60a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp089 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp031 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp040 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp074 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
diff --git a/rpc/utilities/remTestSignalS4L.sh b/rpc/utilities/remTestSignalS4L.sh
deleted file mode 100755 (executable)
index 43bec0f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp091 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp080 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp078 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp122 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
diff --git a/rpc/utilities/remTestSignalS5L.sh b/rpc/utilities/remTestSignalS5L.sh
deleted file mode 100755 (executable)
index c3a4ea3..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp054 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp053 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp052 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp051 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
diff --git a/rpc/utilities/remTestSignalS6L.sh b/rpc/utilities/remTestSignalS6L.sh
deleted file mode 100755 (executable)
index 06734d4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp092 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp083 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp075 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
-command_client.pl -e etraxp061 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400000'
diff --git a/rpc/utilities/remTestSignalSX.sh b/rpc/utilities/remTestSignalSX.sh
deleted file mode 100755 (executable)
index 7856180..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-remTestSignalS1L.sh
-remTestSignalS2L.sh
-remTestSignalS3L.sh
-remTestSignalS4L.sh
-remTestSignalS5L.sh
-remTestSignalS6L.sh
diff --git a/rpc/utilities/remTestSignalSXL.sh b/rpc/utilities/remTestSignalSXL.sh
deleted file mode 100644 (file)
index 7856180..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-remTestSignalS1L.sh
-remTestSignalS2L.sh
-remTestSignalS3L.sh
-remTestSignalS4L.sh
-remTestSignalS5L.sh
-remTestSignalS6L.sh
diff --git a/rpc/utilities/setTestSignalS1L.sh b/rpc/utilities/setTestSignalS1L.sh
deleted file mode 100755 (executable)
index 6476794..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp059 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp067 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp110 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp056 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
diff --git a/rpc/utilities/setTestSignalS2L.sh b/rpc/utilities/setTestSignalS2L.sh
deleted file mode 100755 (executable)
index 4189973..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp094 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp085 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp065 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp063 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
diff --git a/rpc/utilities/setTestSignalS3L.sh b/rpc/utilities/setTestSignalS3L.sh
deleted file mode 100755 (executable)
index 30bb677..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp089 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp031 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp040 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp074 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
diff --git a/rpc/utilities/setTestSignalS4L.sh b/rpc/utilities/setTestSignalS4L.sh
deleted file mode 100755 (executable)
index 190191b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp091 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp080 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp078 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp122 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
diff --git a/rpc/utilities/setTestSignalS5L.sh b/rpc/utilities/setTestSignalS5L.sh
deleted file mode 100755 (executable)
index a6fcb71..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp054 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp053 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp052 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp051 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
diff --git a/rpc/utilities/setTestSignalS5R.sh b/rpc/utilities/setTestSignalS5R.sh
deleted file mode 100755 (executable)
index 4e75773..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp054 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x4000CC'
-command_client.pl -e etraxp053 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x4000CC'
-command_client.pl -e etraxp052 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x4000CC'
-command_client.pl -e etraxp051 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x4000CC'
diff --git a/rpc/utilities/setTestSignalS6L.sh b/rpc/utilities/setTestSignalS6L.sh
deleted file mode 100755 (executable)
index 89f9b49..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp092 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp083 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp075 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
-command_client.pl -e etraxp061 -c '/home/hadaq/bin/rw_trbv2 --trb w 0 c2 0x400033'
diff --git a/rpc/utilities/setTestSignalSX.sh b/rpc/utilities/setTestSignalSX.sh
deleted file mode 100755 (executable)
index 53deb09..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-setTestSignalS1L.sh
-setTestSignalS2L.sh
-setTestSignalS3L.sh
-setTestSignalS4L.sh
-setTestSignalS5L.sh
-setTestSignalS6L.sh
diff --git a/rpc/utilities/setTestSignalSXL.sh b/rpc/utilities/setTestSignalSXL.sh
deleted file mode 100644 (file)
index 53deb09..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-setTestSignalS1L.sh
-setTestSignalS2L.sh
-setTestSignalS3L.sh
-setTestSignalS4L.sh
-setTestSignalS5L.sh
-setTestSignalS6L.sh
diff --git a/rpc/utilities/setThresholdsAllFFFF.sh b/rpc/utilities/setThresholdsAllFFFF.sh
deleted file mode 100755 (executable)
index e602981..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-./setThresholdsS1ToFFFF.sh &
-./setThresholdsS2ToFFFF.sh &
-./setThresholdsS3ToFFFF.sh &
-./setThresholdsS4ToFFFF.sh &
-./setThresholdsS5ToFFFF.sh &
-./setThresholdsS6ToFFFF.sh
diff --git a/rpc/utilities/setThresholdsAll_b.sh b/rpc/utilities/setThresholdsAll_b.sh
deleted file mode 100755 (executable)
index 1006e81..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-./setThresholdsS1_b.sh &
-./setThresholdsS2_b.sh &
-./setThresholdsS3_b.sh &
-./setThresholdsS4_b.sh &
-./setThresholdsS5_b.sh &
-./setThresholdsS6_b.sh
diff --git a/rpc/utilities/setThresholdsAll_c.sh b/rpc/utilities/setThresholdsAll_c.sh
deleted file mode 100755 (executable)
index e69326d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-./setThresholdsS1_c.sh &
-./setThresholdsS2_c.sh &
-./setThresholdsS3_c.sh &
-./setThresholdsS4_c.sh &
-./setThresholdsS5_c.sh &
-./setThresholdsS6_c.sh
index e22bcc28af6ad706b9ce07f1433c5ac086c142a8..13b86ad8487ed0eb3134b0b425868bb54a682d3f 100755 (executable)
@@ -1,4 +1,4 @@
 command_client.pl -e etraxp059 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
 command_client.pl -e etraxp067 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp110 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp056 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' 
+command_client.pl -e etraxp052 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+#command_client.pl -e etraxp056 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' 
diff --git a/rpc/utilities/setThresholdsS1ToFFFF.sh b/rpc/utilities/setThresholdsS1ToFFFF.sh
deleted file mode 100755 (executable)
index 255a14b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp059 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp067 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp068 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp056 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF' 
diff --git a/rpc/utilities/setThresholdsS1_b.sh b/rpc/utilities/setThresholdsS1_b.sh
deleted file mode 100755 (executable)
index 910182f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp059 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp067 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp068 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp056 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' 
diff --git a/rpc/utilities/setThresholdsS1_c.sh b/rpc/utilities/setThresholdsS1_c.sh
deleted file mode 100755 (executable)
index c3bbdf4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp059 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp067 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp068 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp056 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' 
diff --git a/rpc/utilities/setThresholdsS1_d.sh b/rpc/utilities/setThresholdsS1_d.sh
deleted file mode 100755 (executable)
index ee9462b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp059 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp067 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp068 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp056 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' 
index e1ac5d45c525e8951cb0d442c604302e07331b7c..53c96c87ccb82eaa6fcc86d0681f1652846ac08b 100755 (executable)
@@ -1,4 +1,4 @@
-command_client.pl -e etraxp094 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+#command_client.pl -e etraxp094 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
 command_client.pl -e etraxp085 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
 command_client.pl -e etraxp065 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
 command_client.pl -e etraxp063 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' 
diff --git a/rpc/utilities/setThresholdsS2ToFFFF.sh b/rpc/utilities/setThresholdsS2ToFFFF.sh
deleted file mode 100755 (executable)
index 8f11093..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp094 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp085 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp065 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp063 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF' 
diff --git a/rpc/utilities/setThresholdsS2_b.sh b/rpc/utilities/setThresholdsS2_b.sh
deleted file mode 100755 (executable)
index 1f09923..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp094 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp085 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp065 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp063 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' 
diff --git a/rpc/utilities/setThresholdsS2_c.sh b/rpc/utilities/setThresholdsS2_c.sh
deleted file mode 100755 (executable)
index 77615dc..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp094 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp085 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp065 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp063 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' 
diff --git a/rpc/utilities/setThresholdsS2_d.sh b/rpc/utilities/setThresholdsS2_d.sh
deleted file mode 100755 (executable)
index 8c7a555..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp094 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp085 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp065 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp063 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' 
diff --git a/rpc/utilities/setThresholdsS3ToFFFF.sh b/rpc/utilities/setThresholdsS3ToFFFF.sh
deleted file mode 100755 (executable)
index 684b1d5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp089 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp031 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp040 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp074 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF' 
diff --git a/rpc/utilities/setThresholdsS3_b.sh b/rpc/utilities/setThresholdsS3_b.sh
deleted file mode 100755 (executable)
index 31c3680..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp089 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp031 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp040 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp074 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' 
diff --git a/rpc/utilities/setThresholdsS3_c.sh b/rpc/utilities/setThresholdsS3_c.sh
deleted file mode 100755 (executable)
index 659d9e6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp089 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp031 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp040 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp074 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' 
diff --git a/rpc/utilities/setThresholdsS3_d.sh b/rpc/utilities/setThresholdsS3_d.sh
deleted file mode 100755 (executable)
index 7de60d1..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp089 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp031 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp040 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp074 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' 
index 1f18d288ecdb82e0f82419769ab3bdd4e65d8c79..dff2454883c7eec37947d86d60ef69c2776bbdac 100755 (executable)
@@ -1,4 +1,4 @@
-command_client.pl -e etraxp091 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp080 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp078 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp122 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' 
+command_client.pl -e etraxp092 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+command_client.pl -e etraxp083 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+command_client.pl -e etraxp075 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+command_client.pl -e etraxp061 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' 
diff --git a/rpc/utilities/setThresholdsS4ToFFFF.sh b/rpc/utilities/setThresholdsS4ToFFFF.sh
deleted file mode 100755 (executable)
index 8d84333..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp091 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp080 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp078 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp122 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF' 
diff --git a/rpc/utilities/setThresholdsS4_b.sh b/rpc/utilities/setThresholdsS4_b.sh
deleted file mode 100755 (executable)
index 667e4eb..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp091 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp080 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp078 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp122 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' 
diff --git a/rpc/utilities/setThresholdsS4_c.sh b/rpc/utilities/setThresholdsS4_c.sh
deleted file mode 100755 (executable)
index 8f6b6d8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp091 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp080 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp078 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp122 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' 
diff --git a/rpc/utilities/setThresholdsS4_d.sh b/rpc/utilities/setThresholdsS4_d.sh
deleted file mode 100755 (executable)
index 3e3503f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp091 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp080 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp078 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp122 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' 
index fd9267c04db02ce1dfabfc0ab2c9e5948ad2edaa..13d2e145806d18efda06c6db1cb2ea5766aea07a 100755 (executable)
@@ -1,4 +1,4 @@
 command_client.pl -e etraxp054 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
 command_client.pl -e etraxp053 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp052 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+command_client.pl -e etraxp110 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
 command_client.pl -e etraxp051 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' 
diff --git a/rpc/utilities/setThresholdsS5ToFFFF.sh b/rpc/utilities/setThresholdsS5ToFFFF.sh
deleted file mode 100755 (executable)
index 39f01f4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp054 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp053 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp052 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp051 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF' 
diff --git a/rpc/utilities/setThresholdsS5_b.sh b/rpc/utilities/setThresholdsS5_b.sh
deleted file mode 100755 (executable)
index d323142..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp054 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp053 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp052 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp051 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' 
diff --git a/rpc/utilities/setThresholdsS5_c.sh b/rpc/utilities/setThresholdsS5_c.sh
deleted file mode 100755 (executable)
index 1c4b0eb..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp054 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp053 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp052 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp051 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' 
diff --git a/rpc/utilities/setThresholdsS5_d.sh b/rpc/utilities/setThresholdsS5_d.sh
deleted file mode 100755 (executable)
index 546af1e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp054 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp053 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp052 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp051 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' 
index dff2454883c7eec37947d86d60ef69c2776bbdac..70b401b30f9be218de2e7598b710be39b53075ec 100755 (executable)
@@ -1,4 +1,4 @@
-command_client.pl -e etraxp092 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp083 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp075 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
-command_client.pl -e etraxp061 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' 
+command_client.pl -e etraxp091 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+command_client.pl -e etraxp080 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+command_client.pl -e etraxp078 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' &
+#command_client.pl -e etraxp122 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mV' 
diff --git a/rpc/utilities/setThresholdsS6ToFFFF.sh b/rpc/utilities/setThresholdsS6ToFFFF.sh
deleted file mode 100755 (executable)
index 2adf5c1..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp092 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp083 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp075 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF'
-command_client.pl -e etraxp061 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_FFFF' 
diff --git a/rpc/utilities/setThresholdsS6_b.sh b/rpc/utilities/setThresholdsS6_b.sh
deleted file mode 100755 (executable)
index d26955c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp092 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp083 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp075 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' &
-command_client.pl -e etraxp061 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVb' 
diff --git a/rpc/utilities/setThresholdsS6_c.sh b/rpc/utilities/setThresholdsS6_c.sh
deleted file mode 100755 (executable)
index c163cde..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp092 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp083 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp075 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' &
-command_client.pl -e etraxp061 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVc' 
diff --git a/rpc/utilities/setThresholdsS6_d.sh b/rpc/utilities/setThresholdsS6_d.sh
deleted file mode 100755 (executable)
index 62ffe80..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-command_client.pl -e etraxp092 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp083 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp075 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' &
-command_client.pl -e etraxp061 -c '/home/hadaq/bin/spi_trbv2_5 /home/hadaq/rpc/configFile_40mVd' 
diff --git a/rpc/utilities/setTriggerBoardS1.sh b/rpc/utilities/setTriggerBoardS1.sh
deleted file mode 100755 (executable)
index 077cc9f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-command_client.pl -e etraxp059 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_059'
diff --git a/rpc/utilities/setTriggerBoardS2.sh b/rpc/utilities/setTriggerBoardS2.sh
deleted file mode 100755 (executable)
index 1c05342..0000000
+++ /dev/null
@@ -1 +0,0 @@
-command_client.pl -e etraxp094 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_094'
diff --git a/rpc/utilities/setTriggerBoardS3.sh b/rpc/utilities/setTriggerBoardS3.sh
deleted file mode 100755 (executable)
index b756692..0000000
+++ /dev/null
@@ -1 +0,0 @@
-command_client.pl -e etraxp089 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_089'
diff --git a/rpc/utilities/setTriggerBoardS4.sh b/rpc/utilities/setTriggerBoardS4.sh
deleted file mode 100755 (executable)
index d2afd85..0000000
+++ /dev/null
@@ -1 +0,0 @@
-command_client.pl -e etraxp091 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_091'
diff --git a/rpc/utilities/setTriggerBoardS5.sh b/rpc/utilities/setTriggerBoardS5.sh
deleted file mode 100755 (executable)
index e6062a6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-command_client.pl -e etraxp054 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_054'
diff --git a/rpc/utilities/setTriggerBoardS6.sh b/rpc/utilities/setTriggerBoardS6.sh
deleted file mode 100755 (executable)
index 6f9fe0c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-command_client.pl -e etraxp092 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_092'
index 211a54f674958d5e817115bf71167b9559f9e595..ddd4a7091558942814fc6d52e1aae189c04480aa 100755 (executable)
@@ -1,6 +1,6 @@
 command_client.pl -e etraxp059 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_059'
-command_client.pl -e etraxp094 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_094'
+#command_client.pl -e etraxp094 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_094'
 command_client.pl -e etraxp089 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_089'
-command_client.pl -e etraxp091 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_091'
-command_client.pl -e etraxp054 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_054'
 command_client.pl -e etraxp092 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_092'
+command_client.pl -e etraxp054 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_054'
+command_client.pl -e etraxp091 -c 'spi_trbv2_5 /home/hadaq/rpc/triggerBoards/triggerBoard_091'