软件安装

本页面安装软件放置在 source 文件夹内,里面包括 获取驱动、依赖库等以及自动安装脚本

系统要求

本获取经过 CentOS 6/7,Scientific Linux 6/7 和 Ubuntu 18.04/20.04 系统测试。

本获取要求 CERN ROOT 5/6,建议优先选择 ROOT 6。

如果没有合适的系统,可参考我们的获取系统安装 Install Scientific 7 。安装好系统之后,还需要对基础依赖工具做一些安装及升级,可以下载执行 自动化安装脚本 自动配置或者按照教程手动安装。


CAEN Lib

本程序依赖 CAENVMELib/CAENComm/CAENUpgrader 三个库文件。

其中 CAENVMELib/CAENComm 为获取运行必须的库。CAENUpgrader 用来更新固件。

进入 source 文件夹内,在 ROOT 权限下执行 setup.sh 脚本,将会自动安装以上三个依赖库。

# 在 source 文件夹内,ROOT 权限下执行以下命令
sh setup.sh    #需要ROOT权限
  • CAENVMELib-3.3.6.tgz
    • 推荐使用

  • CAENVMELib-3.3.0-build20210806.tgz
    • 该版本驱动存在问题,对 V1718/V2718 I/O寄存器控制存在bug

  • CAENVMELib-2.50.tgz
    • 推荐使用

检查CAENVMELib安装

进入 CheckRegisterToolByV2718 文件夹,make 编译里面程序,如果生成一个名为 pku 的可执行文件,则软件安装成功。

cd CheckRegisterToolByV2718
make

检查CAENUpgrader安装

  • CAENUpgrader-1.6.6
    • 测试正常

  • CAENUpgrader-1.7.2
    • Ubuntu20.04 异常

安装后在终端中输入

CAENUpgraderGUI

将会弹出 CAEN Upgrader GUI 的图形界面。


V1718

如果您使用 V1718,则需要安装 USB 驱动。

tar -xzvf CAENUSBdrvB-1.5.4.tgz
cd CAENUSBdrvB-1.5.4
make
make install     #需要ROOT权限

A2818驱动

  • A2818Drv-1.20.tgz
    • 测试正常

  • A2818Drv-1.21.tgz
    • 测试正常

  • A2818Drv-1.22.tgz
    • 在 Centos 7 下编译无法通过

  • A2818Drv-1.23.tgz
    • CentOS7 测试正常,推荐使用

  • A2818Drv-1.24.tgz
    • Ubuntu20 测试正常,推荐使用

如果您使用 A2818,则安装以下驱动。

# A2818Drv-1.20-build20161118.tgz
#将该文件夹复制到 /opt 并安装在该位置
tar -zxvf A2818Drv-1.20-build20161118.tgz
cp -r A2818Drv-1.20 /opt           #需要ROOT权限
cd /opt/A2818Drv-1.20              #需要ROOT权限
cp ./Makefile.2.6-3.x Makefile     #需要ROOT权限
make                               #需要ROOT权限

#设置开机自动执行该脚本
#在文件 /etc/rc.d/rc.local 中添加以下一行内容
/bin/sh /opt/A2818Drv-1.20/a2818_load
#或者在开启电脑之后执行以上命令

重启机箱后,在终端内输入 dmesg|grep a2818 将会看到以下的 A2818 驱动加载信息

a2818: CAEN A2818 CONET controller driver v1.20s
a2818:   Copyright 2004, CAEN SpA
pci 0000:05:02.0: enabling device (0000 -> 0003)
pci 0000:05:02.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
a2818: found A2818 adapter at iomem 0xf7800000 irq 0, PLX at 0xf7900000
a2818:   CAEN A2818 Loaded.
a2818:   CAEN A2818: 1 device(s) found.

Centos7

make -C /lib/modules/3.10.0-1160.el7.x86_64/build M=/opt/A2818Drv-1.23 LDDINCDIR=/opt/A2818Drv-1.23/../include modules
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.el7.x86_64”
arch/x86/Makefile:166: *** CONFIG_RETPOLINE=y, but not supported by the compiler. Compiler update recommended.。 停止。
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.el7.x86_64”

以上为错误发生时候的输出提示。

此时,用户可以修改 /usr/src/kernels/3.10.0-1160.el7.x86_64/arch/x86/Makefile 文件,通过注释以下代码来避免这个错误发生。

ifneq ($(RETPOLINE_CFLAGS),)
    KBUILD_CFLAGS += $(RETPOLINE_CFLAGS) -DRETPOLINE
else
    $(error CONFIG_RETPOLINE=y, but not supported by the compiler. Compiler update recommended.)
endif

A3818驱动

如果您使用 A3818,则安装以下驱动。安装该驱动时,电脑机箱必须插入 A3818 卡,否则将会报安装失败。

tar -zxvf A3818Drv-1.6.1.tgz
cd A3818Drv-1.6.1
make
make install       #需要ROOT权限

然后在终端内输入 dmesg 将会看到以下的 A3818 驱动加载信息

fuse init (API version 7.14)
CAEN A3818 PCI Express CONET2 controller driver v1.6.0s
  Copyright 2013, CAEN SpA
pci 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
  alloc irq_desc for 33 on node -1
  alloc kstat_irqs on node -1
pci 0000:02:00.0: irq 33 for MSI/MSI-X
pci 0000:02:00.0: setting latency timer to 64
Found A3818 - Common BAR at iomem ffffc900067d4000 irq 0
Found A3818 with 1 link(s)
found A3818 Link 0 BAR at iomem ffffc900067d6000 irq 0
  CAEN A3818 Loaded.
  CAEN PCIe: 1 device(s) found.

RIKEN babirl

babirl自动化安装方法

#在个人用户目录下安装理研 babirl 库
#在普通权限下执行以下脚本
sh autoinstallbabirl.sh

安装脚本会自动添加环境变量 安装结束后查看 .bashrc 文件,最后将多了三行如下内容

PATH=$PATH:/home/wuhongyi/babirl/bin/
export TARTSYS=/home/wuhongyi/VMEDAQ/anaroot
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TARTSYS/lib:$TARTSYS/sources/Core
#其中 wuhongyi 为电脑当前用户名
#在ROOT权限下执行以下脚本
sh afterinstallbabirl.sh [user name]     #需要ROOT权限

#其中这里的 [user name] 换成你的帐号用户名,例如我的用户名为wuhongyi
# sh afterinstallbabirl.sh wuhongyi

初始化babicon

执行 DAQConfig 中的 StartDAQ.sh 开启进程

运行babicon(安装后第一次需输入以下初始化)

新打开一个终端,然后输入

babicon

回车之后将看到以下界面

_images/babicon.png

以下进行基本的变量设置

seteflist 10 add localhost localhost
sethdlist 0 path /home/wuhongyi/data    #这里为数据存储路径
setclinfo 0 add localhost  #localhost为本机器
setclinfo 0 id  0

#如果设置给远程电脑
setclinfo 0 add [ip]   #[ip] 为接收端电脑IP
setclinfo 0 id  0
_images/babicon_setting.png

防火墙设置

将共享数据发送到 Online 电脑,需要做以下设置或者关闭防火墙

对Scientific Linux 6,终端 ROOT 权限下输入 setup ,选择 防火墙配置 ,去掉 启用 。 对cientific Linux 7,ROOT 权限下终端输入以下信息关闭 firewall

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

如果机器不联网,可以不需要开启以下 iptables 防火墙,反正不会被黑

#在 /etc/sysconfig/iptables 添加以下一行(不能放到最后一行,其中IP替换为发送DAQ电脑的IP)
-A INPUT -p udp -m state --state NEW -m udp --dport 17500:17510 -s 222.29.111.201 -j ACCEPT

之后在 ROOT 权限下执行以下命令

systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动