Procedure to install the zero suppression firmware on the BGV tell1s
# Tell1 firmware update (ZS)
all files are in the folder
bgv_zs_release_June2017
(in
/group/bgv/
)
The firmware and libs (
libtell1ccpc.so
and
libtell1offline.so
) are in tell1lib_release_v5.3
To have an identical environment on the CCPC image as at EPFL, we also copied the other dependent libraries.
To simplify the installation on all CCPCs, all libraries are in the directory
bgv_zs_release_June2017/libs/
.
All libraries have a unique version number. A symbolic link is created to the generic name, this way it is easy to modify the link to point to a different library if needed. For example
libtell1offline.so.5.3
points to
libtell1offline.so
.
The CCPCs images are hosted on
bgvctrl
in
/nfsexports/ccpc/
. The libraries must be copied in
/usr/local/lib/
on the CCPC image. For example for tell01, the libraries are in
/nfsexports/ccpc/bgvtell01/root/usr/local/lib/
.
Install the libraries
The following procedure is for bgvtell01, it is the same for all tell1s.
# from bgvctrl, copy all libs: (they must not conflict, so in the future and if needed give them a new name with corresponding version). The following libraries should be present:
libexclu.so.1.2.0
libgbec.so.5.3
libglue.so.4.10.0
libi2cu.so.2.5.1
libJTAG.so.2.4.0
libtell1ccpc.so.5.3
libtell1offline.so.5.3
sudo cp bgv_zs_release_June2017/libs/*.so* /nfsexports/ccpc/bgvtell01/root/usr/local/lib/
# from bgvtell01 (log into the ccpc), create new sym links to the new libs
cd /usr/local/lib
sudo rm libtell1ccpc.so
sudo ln -s libtell1ccpc.so.5.3 libtell1ccpc.so
sudo rm libtell1offline.so
sudo ln -s libtell1offline.so.5.3 libtell1offline.so
sudo rm libgbec.so
sudo ln -s libgbec.so.5.3 libgbec.so
While it might not be needed, we also copied the newer versions of the following libs:
libglue.so.4.10.0, libi2cu.so.2.5.1, libJTAG.so.2.4.0, libexclu.so.1.2.0
from the EPFL setup.
sudo rm libglue.so.4
sudo rm libglue.so
sudo ln -s libglue.so.4.10.0 libglue.so.4
sudo ln -s libglue.so.4.10.0 libglue.so
sudo rm libi2cu.so.2
sudo rm libi2cu.so
sudo ln -s libi2cu.so.2.5.1 libi2cu.so.2
sudo ln -s libi2cu.so.2.5.1 libi2cu.so
sudo rm libJTAG.so
sudo rm libJTAG.so.2
sudo ln -s libJTAG.so.2.4.0 libJTAG.so.2
sudo ln -s libJTAG.so.2.4.0 libJTAG.so
sudo rm libexclu.so
sudo ln -s libexclu.so.1.2.0 libexclu.so
Install binaries
The existing terminal binaries were not compatible with the newer libs, therefore, we also need to copy the newer ones from EPFL. They are in the
bins
directory. The following binaries should be copied in the CCPC image:
cfg_tell1
console_tell1
daq_tell1
reset_tell1
selftest_tell1
version_tell1
Copy them:
sudo cp bgv_zs_release_June2017/bins/*_tell1 /nfsexports/ccpc/bgvtell01/root/usr/local/bin/
Install the firmware
from the ccpc: bgvtell01
cd tell1lib_release_v5.3/
EPC16Handling -e -p 1 tell1_BGV_v5.3.7.pof
(It should of course not give an error)
# for reference, here the commands used to automate the installation on all tell1
Triggering ZS or NZS
The tell1s will always produce ZS data, the ZS data can be disabled in the tell1 configuration file but the bank will always be present, but it can be empty if disabled. The NZS data is suppressed by default and it can be activated with the trigger type.
- ODIN trigger types in the Trigger1 panel:
Trigger type
0 (default for physics) will disable NZS data
Trigger type
5 will enable NZS data