Host Computer Configuration

From New IAC Wiki
Revision as of 23:57, 12 July 2018 by Foretony (talk | contribs) (→‎Using jcedit)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Install CentOs

eth1 configuration

The ethernet card on the host computer has two ports (eth0 and eth1).

eth0 is used to talk to the work and use DNS

eth1 is hardwired to a subnet

in this case the ROC is configured to address

The eth1 port is set to

"statically set IP addresses"

and the manual IP address setting is

after you activate eht1 you can telnet to the ROC using


You can then create an entry in /etc/hosts which aliases roc1 to this IP address

Install tftp onto the Linux host computer

TFTP is used to copy the VxWorks kernel onto the ROC

For CentOS I used yum

yum install tftp
yum install tftp-server

then I looked in the file

  1. default: off
  2. description: The tftp server serves files using the trivial file transfer \
  3. protocol. The tftp protocol is often used to boot diskless \
  4. workstations, download configuration files to network-aware printers, \
  5. and to start the installation process for some operating systems.
service tftp


       socket_type             = dgram
       protocol                = udp
       wait                    = yes
       user                    = root
       server                  = /usr/sbin/in.tftpd
       server_args             = -s /tftpboot
       disable                 = yes
       per_source              = 11
       cps                     = 100 2
       flags                   = IPv4


to see how tftp was configured by default. The file tell me that the tftp files should be located in the subdirectory


make sure your boot kernels are located in /tftpboot

[root@daq1 /]# ls tftpboot/
boot6100_121_v3.bin  boot6100_122.bin

turn the server on

/sbin/chkconfig tftp on

Set up rsh

turn on rsh

use yum to install the rsh server.

yum install rsh-server

edit /etc/xinetd.d/rlogin and rsh to allow server

# default: on
# description: rlogind is the server for the rlogin(1) program.  The server \
#       provides a remote login facility with authentication based on \
#       privileged port numbers from trusted hosts.
service login
       socket_type             = stream
       wait                    = no
       user                    = root
       log_on_success          += USERID
       log_on_failure          += USERID
       server                  = /usr/sbin/in.rlogind
       disable                 = no

Now reload xinitd

/etc/init.d/xinetd reload

then add a file called ".rhosts" to the daq account with the IP addresses and usernames

~ >less .rhosts daq roc1
old version is below
~ >less .rhosts roc1 daq daq

You Must set the .rhosts permissions exaclty as below otherwise rsh will not work

chmod 644 .rhosts

Update hosts file

set /etc/hosts file to say

# Do not remove the following line, or various programs
# that require network functionality will fail.       localhost.localdomain localhost
#::1            localhost6.localdomain6 localhost6    daq1        localdaq    roc1

the above will assign IP addesses to computer names

test to see if rsh is running

rsh -l daq daq1 ls

if you get the error like

[root@daq1 xinetd.d]# rsh -l daq daq1 ls
connect to address port 544: Connection refused
Trying krb4 rsh...
connect to address port 544: Connection refused
trying normal rsh (/usr/bin/rsh)

the check if rsh is enabled

[root@daq1 xinetd.d]# less /etc/xinetd.d/rsh
# default: on
# description: The rshd server is the server for the rcmd(3) routine and, \
#       consequently, for the rsh(1) program.  The server provides \
#       remote execution facilities with authentication based on \
#       privileged port numbers from trusted hosts.
service shell
        socket_type             = stream
        wait                    = no
        user                    = root
        log_on_success          += USERID
        log_on_failure          += USERID
        server                  = /usr/sbin/in.rshd
        disable                 = no

You need to reload xinetd if you make a change so it looks like above

[root@daq1 xinetd.d]# /etc/init.d/xinetd reload


Turn off iptables

/sbin/service iptables stop

Turn off Kerberos

How can I > configure rsh to use the old, normal way of auth? > > I'm using the latest CentOS4.2

If you don't use the Kerberos stuff, then remove it ... it's probably the krb5-workstation package - i.e.

rpm -e krb5-workstation

I don't know about rexec, but for rlogin and rsh:

Edit /etc/pam.d/rsh and change the line:

auth required


auth required promiscuous

and edit /etc/pam.d/rlogin and change the line:

auth sufficient


auth sufficient promiscuous

Make sure 'rsh' and 'rlogin' are listed in /etc/securetty

text relocation

SummarySELinux is preventing rcServer from loading /home/daq/CODA/2.5/CMLOG/2.1/lib/Linux/ which requires text relocation.

Detailed Description
[SELinux is in permissive mode, the operation would have been denied but was permitted due to permissive mode.]

The rcServer application attempted to load /home/daq/CODA/2.5/CMLOG/2.1/lib/Linux/ which requires text relocation. This is a potential security problem. Most libraries do not need this permission. Libraries are sometimes coded incorrectly and request this permission. The SELinux Memory Protection Tests web page explains how to remove this requirement. You can configure SELinux temporarily to allow /home/daq/CODA/2.5/CMLOG/2.1/lib/Linux/ to use relocation as a workaround, until the library is fixed. Please file a bug report against this package.

Allowing Access
If you trust /home/daq/CODA/2.5/CMLOG/2.1/lib/Linux/ to run correctly, you can change the file context to textrel_shlib_t. "chcon -t textrel_shlib_t '/home/daq/CODA/2.5/CMLOG/2.1/lib/Linux/'" You must also change the default file context files on the system in order to preserve them even on a full relabel. "semanage fcontext -a -t textrel_shlib_t '/home/daq/CODA/2.5/CMLOG/2.1/lib/Linux/'"

The following command will allow this access:chcon -t textrel_shlib_t '/home/daq/CODA/2.5/CMLOG/2.1/lib/Linux/'Additional Information

Dual head config

The DAQ computer is running a Matrox display adapter

VME crate modules

Module address
CAEN_V1495_IO 0x80110000
CAEN_V775_TDC 0x610000
CAEN_V792_ADC 0xee0000
CAEN_V260_Scalr 0xda0000
Struck_SIS3302_ADC 0x50000000

SIS3300 Library

try the following on roc1

-> ld < sis3320Lib.o

try to initialize module


DAQ6 configuration


Machine: Enterprise HP ProLiant DL380 G7 CPUs: 2, 2.93 GHz CPUs with totaling 8 cores RAID controller: HP smart Array P410i, slot 0 HWaddr 80:c1:6e:21:03:92

The steps used to setup DAQ6 are given below

CentOS 7 installation


configure rocdaq6

I copied all the software for CODA 3.06 from the host computer daq6 to the ROC

scp -r 3.06 rocdaq2:CODA/

then i copied the setup file from the host to the ROC. Since the account on the ROC is a mirror of the account on the host, I did not need to change the setup file.

When I tried to compile a readout lit on the ROC using the command

make -f Makefile-rol I got the error message

rol.h: no such file or directory

I need to setup the ROC to compile readout lists.

s3302 on ROCDAQ2


First check out brand from GitHub

login ro rocdaq2

then download the source under CODA 3.06 linuxvme src subdirectory

cd CODA/3.06/linuxvme/src/
git clone -b feature-nGamma_firmware
cd sis3302
 make -B
cd test
[daq@rocdaq2 test]$ make -B s3302ReadSamples
echo "Making s3302ReadSamples"
Making s3302ReadSamples
cc  -Wall -O2 -I. -I.. -I/home/daq/CODA/3.06/linuxvme/include -L. -L.. -L/home/daq/CODA/3.06/linuxvme/lib -DJLAB -g -o s3302ReadSamples s3302ReadSamples.c -lrt -ljvme -lsis3302
[daq@rocdaq2 test]$ ls  Makefile  s3302IntTest.c  s3302LibTest.c  s3302ReadSamples  s3302ReadSamples.c  sis3302Lib.h

[daq@rocdaq2 test]$ ./s3302ReadSamples 

JLAB s3302 Lib Tests
s3302SetDebugMask: Debug Mask set to 0x0

         ---------- Checking SIS3302 address space ---------- 

         ----------            ALL GOOD            ---------- 
Opening CRCSR Window (opened at [0xb6fb2000,0xb7fb2000])
Opening A32 Window (opened at [0xb6fa2000,0xb6fb2000])
Opening A32Blt Window (opened at [0xacfa2000,0xb6fa2000])
Opening A24 Window (opened at [0xabfa2000,0xacfa2000])
Opening A16 Window (opened at [0xabf92000,0xabfa2000])
jlabgefMapTsi: Tempe Chip Userspace map successful
VME Bus Error IRQ Disabled
vmeBusCreateLockShm: Creating vmeBus shared memory file
vmeBusMutexInit: Initializing vmeBus mutex
vmeBusCreateLockShm: vmeBus shared memory mutex initialized
Initialized SIS3302  0 at VME (Local) address 0x08000000 (0xacfa2000) 

STATUS for SIS3302 0 at VME (Local) base address 0x08000000 (0xacfa2000)
 ID = 0x3302   Module Revision = 31.05 

 Registers (offset):
  control_status (0x0000) = 0x00000000    modid          (0x0004) = 0x33023105
  irq_config     (0x0008) = 0x00000000    irq_control    (0x000c) = 0x00000000
  acq_control    (0x0010) = 0x00000000    cblt_setup     (0x0030) = 0x00000000


 Acquisition Control
   Internal Trigger as Trigger    : DISABLED
   Front Panel Trigger Enable     : DISABLED
   Front Panel Timestamp Clear    : DISABLED
   Clock Source                   : 100 MHz - Internal

 ADC Sampling Logic Busy          : DISABLED
 ADC Sampling Logic Armed Bank 1  : DISABLED
 ADC Sampling Logic Armed Bank 1  : DISABLED

 Interrupt                        : DISABLED
   Vector                         : 0x00
   Level                          : 0
   Mode                           : RORA

   Status internal IRQ            : CLEAR
   Status VME IRQ                 : CLEAR

                     EAT   EAT   LEMO
                    EDGE  LEVEL  In 1
 Interrupt Sources    0     1     2  
                    ----- ----- -----
       Status Flag                     
        Status IRQ                     

 Interrupt Count   : 0
 Acknowledge Count : 0

                      sis3302 Module 0 ADC Configuration/Status

 Registers (offset):
  config      (0x0000) = 0x00000000       EAT         (0x0004) = 0x00000000
  PTAW        (0x0008) = 0x00000000       RDBC        (0x000c) = 0x00000000
  config      (0x0000) = 0x00020000       EAT         (0x0004) = 0x00000000
  PTAW        (0x0008) = 0x00000000       RDBC        (0x000c) = 0x00000000
  config      (0x0000) = 0x00040000       EAT         (0x0004) = 0x00000000
  PTAW        (0x0008) = 0x00000000       RDBC        (0x000c) = 0x00000000
  config      (0x0000) = 0x00060000       EAT         (0x0004) = 0x00000000
  PTAW        (0x0008) = 0x00000000       RDBC        (0x000c) = 0x00000000

     Input   Acc   Trig Enable   ---- Save Raw -----   Test  
Ch   Invert  Mode   Int  Ext     Always PileUp First   Data  Header
 1     NO      6     NO   NO       NO     NO     NO     NO   0x0000
 2     NO      6     NO   NO       NO     NO     NO     NO   0x0000
 3     NO      6     NO   NO       NO     NO     NO     NO   0x0002
 4     NO      6     NO   NO       NO     NO     NO     NO   0x0002
 5     NO      6     NO   NO       NO     NO     NO     NO   0x0004
 6     NO      6     NO   NO       NO     NO     NO     NO   0x0004
 7     NO      6     NO   NO       NO     NO     NO     NO   0x0006
 8     NO      6     NO   NO       NO     NO     NO     NO   0x0006

    End Event  Pretrig  Trigger Window   -- Raw Data --     Next      Prev
Ch  Threshold  Delay       Length        Start   Length     Addr      Bank
12   0x000000   0x00        0x00           0x00    0x00   0x000000  0x000000
34   0x000000   0x00        0x00           0x00    0x00   0x000000  0x000000
56   0x000000   0x00        0x00           0x00    0x00   0x000000  0x000000
78   0x000000   0x00        0x00           0x00    0x00   0x000000  0x000000

    Peaking Sum   Pulse       Trig
Ch  Time    Gap   Length      Out   GT  Ext   Threshold
12   0x00   0x00   0x00       YES   NO   NO    0x0000
34   0x00   0x00   0x00       YES   NO   NO    0x0000
56   0x00   0x00   0x00       YES   NO   NO    0x0000
78   0x00   0x00   0x00       YES   NO   NO    0x0000


   0: 0x75727590
   1: 0x7573758d
   2: 0x75747592
   3: 0x75707589
   4: 0x75747589
   5: 0x75767595
   6: 0x7576758d
   7: 0x75757591
   8: 0x7570758e
   9: 0x7574758e

   0: 0x75157539
   1: 0x75157538
   2: 0x7517753c
   3: 0x75167538
   4: 0x751e753f
   5: 0x75187533
   6: 0x751c7539
   7: 0x751c753a
   8: 0x75147539
   9: 0x7518753d
  0: 0x758a755d
   1: 0x758a7556
   2: 0x758f755c
   3: 0x758e755a
   4: 0x758d7559
   5: 0x7593755d
   6: 0x7589755b
   7: 0x758d7566
   8: 0x758c755f
   9: 0x758c755b

   0: 0x75be756a
   1: 0x75bc7569
   2: 0x75bc756c
   3: 0x75b37568
   4: 0x75b97568
   5: 0x75b77563
   6: 0x75bd7567
   7: 0x75ba7566
   8: 0x75bf7566
   9: 0x75bf7566

Closing A16 Window
Closing A24 Window
Closing A32Blt Window
Closing A32 Window
Closing CRCSR Window
Calling gefVmeClose

Database creation on daq6

Using jcedit

followed the URL below and made two configurations, one titled "SIS3610" that is to be used for rocdaq1 and one entitle "rc2sis3610" that will be used for rocdaq2.

the run


Setting up local network

This describes how to plug your ROC's network card into the Host computers network card so the two can talk without using a network switch

1.) You need a crossover network cable to plug your ROC's NIC into one of the host computes NICs( Network Interface Cards)

2.) Then you need to edit files in the subdirectory


you will need to create a file with the name


where "eth0" revers to the name used by your OS to define your network card port (you see this name when you use the "ifconfig" tool)

netools can be used to query the network card port

look at the utility "ethtool"

Return to Data_Acquisition page