Introduction
DISCLAIMER: This page is a collection of information which may be useful when running ITSDAQ on
a PC running Scientific Linux CERN 6.8. The following page which explain the s/w and
installation in detail should be consulted first:
ITSDAQHvLvInterlock and
StripsUpgradeDAQInstall and
StripsUpgradeDAQSoftware .
The following has been tested at the DAQ setup in Birmingham. It may work on a
CentOS7 PC,
but will not work on Ubuntu or Debian. An admin (ie superuser, ie 'root') login is required for
the installation steps. Before using the instructions here, please talk to your local Linux
administrator.
Preparing installations: Installing Kernel sources
The following s/w packages require 'Kernel sources' to be installed, which are not there by default
in SLC6.8. The command is:
su
yum install kernel-devel
It is recommended to reboot the PC afterwards, as otherwise it can happen that the Kernel is not
in the exact same version as the 'kernel sources'.
If you haven't done so already, also install PCAP:
yum install libpcap-devel
Again, please check
StripsUpgradeDAQInstall for further details.
NI-VISA installation for remote-controlling a TTI-PSU
The following information has been tested with a AIM-TTI CPX-400DP power supply,
connected via a USB cable. It will also work with the CPX-200DP which has an identical interface.
Find a list of supported LV power supplies on
ITSDAQHvLvInterlock.
Installation of NI-VISA
This is the same s/w package as used in Windows (explained on
ITSDAQHvLvInterlock ).
A suitable version for SLC6.8 is NI-VISA suitable for SL6, eg version 15.5, which can
be downloaded from here:
http://www.ni.com/download/ni-visa-15.5/5848/en/
It's free but registration is required. We did the installation using a superuser terminal
('su'), not 'sudo' ahead of every command.
Follow the 'readme.txt' on the link above for the installations steps.
The final command is ./INSTALL which should then finish without errors.
We also installed DAQmx - which is meant to be
the successor to the NI-MAX tool know from Windows - but
this may not be necessary:
http://www.ni.com/download/ni-daqmx-base-15.0/5644/en/
It requires this package:
yum install avahi
Finding the device link of your PSU
To find which device is your TTI: Login as admin and type:
visaconf
Probably unplug and replug the USB cable to the TTI to
see which of the ASRL's appears/disappears. For us it is ASRL5.
Double-click on the configuration manager's entry of that ARSL
to see which device it is connected to. In our case it was
/dev/ttyACM0. By default, this device can only be accessed by
an admin, so this hack is needed to allow this for general users:
cd /dev
chmod 666 ttyACM0
This command is needed each time the device is reconnected
or switched on/off while the PC is on, which is obviously not convenient.
Note that this is not recommended by NI, but their alternative
method (see again their readme.txt) doesn't seem to work for us.
The device may swap to ttyACM1 after eg a reboot.
Compiling ITSDAQ with NI-VISA support enabled
This step can and should now be made using a regular user account.
For the installation of ITSDAQ, find all details on:
StripsUpgradeDAQ .
ITSDAQ has NI-VISA support disabled by default on Linux.
This can be switched by using this flag:
python waf configure --enable-visa
Then build and install as usual:
python waf build
python waf install
If NI-VISA is not correctly installed, the 'build' step will fail.
Edit rootlogon.C for enable DCS control from the GUI
This is done very similar as on Windows, as explained on
ITSDAQHvLvInterlock.
A difference is that a switch is needed due to the different library name
when using Linux. A snippet from our rootlogon.C here:
(...)
Int_t lvtype = 4;
Int_t nLVSupplies = 0;
(...)
case 4: // NI-VISA under Linux, one PSU for now...
if(strncmp(gSystem->GetName(),"Unix",4)==0){
printf("Attempting to load libttidll.so");
gSystem->Load("libttidll.so"); // Linux
}
else {
printf("Attempting to load ttidll.dll");
gSystem->Load("ttidll.dll"); // Windows
}
printf("...done\n");
TTi* LVSupplies[8];
LVSupplies[nLVSupplies] = new TTi("ASRL5::INSTR",1, "Module 0");
if(LVSupplies[nLVSupplies]->isValid) nLVSupplies++;
else LVSupplies[nLVSupplies] = 0;
LVSupplies[1] = new TTi("ASRL5::INSTR",2, "Module 1");
if(LVSupplies[nLVSupplies]->isValid) nLVSupplies++;
else LVSupplies[nLVSupplies] = 0;
(...)
Now everything should set to see the LV output when starting-up ITSDAQ,
and see the LV control in the DCS panel of the
BurstData GUI. If you see a 'timeout'
at the very first try, just try again shortly afterwards. Remember the privileges
change described above.
Note in order to switch to channels together, the names need to start
with 'Module', here this is the analogue and digital voltage of a ABC130-SingleChip board.
Then 'LV On/Off' in the 'BurstData->DCS' GUI will be applied to both. If the
name doesn't start with 'Module', the option 'LV On/Off One Channel' needs to be used.
Installation of Gigabit-Ethernet-USB3.0 adapter
We're using a
StarTech USB31000S adapter to create the second ethernet port as required by ITSDAQ,
for the network cable which connects to the Digilent Atlys' ethernet plug.
This was there is no need to open the PC box to fit a PCI network adapter, also it is being
used already by other people in the ITK:
https://www.startech.com/uk/Networking-IO/usb-network-adapters/USB-3-to-Gigabit-Ethernet-NIC-Network-Adapter~USB31000S
The driver installation is quite easy, again provided the 'Kernel sources' are installed (see above).
The chip inside this dongle is a 'AX88179', so this driver should be used:
http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=131;71;112
Scroll down on this page for "Linux kernel 4.x/3.x/2.6.x Driver" and download it, login as admin,
and install as explained in the 'readme' inside the downloaded zip file. Then reboot the computer.
The second port should then appear as 'eth1', so adjust the hsioPipe command of ITSDAQ
accordingly.
Setup using Root and Boost from ATLAS-CVMFS
Note: This method may not fully work and is under discussion !
Consult
StripsUpgradeDAQInstall and
StripsUpgradeDAQSoftware
This is a possible setup script to avoid the need to install Root locally:
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
alias setupATLAS='source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh'
setupATLAS
localSetupROOT 5.34.25-x86_64-slc6-gcc48-opt
localSetupBoost boost-1.55.0-python2.7-x86_64-slc6-gcc48
export BOOSTDIR=$ALRB_BOOST_ROOT/include
export SCTDAQ_ROOT=/home/username/sctdaq_r4421/trunk
export SCTDAQ_VAR=/home/username/sctdaq_r4421/sctvar
export SCTDB_USER=username
which then needs to be run:
source setup.sh
before each time compiling and/or starting ITSDAQ.
--
JuergenThomas - 2016-10-25