DAQ


HIMEのDAQについてのメモ。

概要

HIMEのDAQは、 な感じ。CAMACはテスト実験では使わないのでまだ構築していない。
基本的にTDC,QDCなどのデータはVMEで取り、CAMACに刺して使うdiscriのみをCAMACで扱う予定。
CAMACのcoincidence registerを使うかもしれないがDAQ的にCAMACを入れる入れないでだいぶ話は変わるのでどうしようか。

babildを別のPCにすることについての概要

NEBULAのofflineではevent senderとevent builderが一つのPCで完結しているが、
HIMEではevent sender(d01)とevent builder(d02)を別々のPCに分けた。
d01には普通のlinux(fedora14 32bit LXDE, kernel=2.6.35)をインストールした上でnbbqとbabirlをインストールし、
d02にはすでにnbbqとbabirlがインストールされているOS imageをインストールした。

d01ではbabinfo,babildを立ち上げ、d02ではbabiesを立ち上げる。
babiconは引数にd01を指定すればどこで立ち上げても構わない。

OSのinstall


nbbq, babildのinstall


IPの割り当て

HIMEのDAQまわりはルータで区切られたネットワーク内での運用しており、
となっている。
22番ポートはd01に行くようにポートマッピングしているので、
$ ssh himerouter -l samurai
とかすればd01に入れる。


babildrvの準備

babildrvの書き方

stand aloneでの動作check

stand aloneでの動作check

event builderとevent senderを分けての動作check

これは基本的にはhost(IP)とかをちゃんと指定すればよいだけ。
erhostにはevetn builderのhost名を指定してあげる。
daq@d02 $ babies -l 82

daq@d01 $ babinfo
daq@d01 $ babild -l 1
daq@d01 $ babicon
d01> 各種設定
stand aloneが問題なく動いてれば特に問題は起きないはず。
babiconでの設定方法は次のエントリーを参照。

babiconでの設定方法

babiconでの設定方法

実行権限


d02ではrootじゃないといろいろ不都合が生じたのでdaqまわりの起動はすべてrootで行う。
ただし、いろいろなsrcの編集等はdaqアカウントでおこなう。

d01ではrootじゃなくてもできたので、全てdaqアカウントで実行する(babinfoとかbabildの起動も)。
babirlのコンパイルのときに、include以下のuserdefine.hをちゃんと定義すればよい(d02ではそれをしてもだめだった...)。
ちなみに、event builderのみのPCではおそらくnbbqは必要ない。

解析ソフト(ANAROOT)のsetup

DAQ PCに解析ソフトを入れるのはいかがなものかとも思うが、
宇宙線のテストではやっぱりほしいのでいれる。

ROOTのversionはv5.34.02。
ANAROOTは2012SAMURAI.dayone.tanakaをベースに適当にいじった。
exp以下は解析PCのexp.temp.tgzをベースに適当にいじった。
結構/home/samurai以下にリンクがはられているので適当に拾ってくる。
libreoffice(soffice)のcalcとanaroot_filter.ver1.01.jarも入れた。
あとはコンパイルに必要なライブラリ等を適当に入れた(os install参照)。
先に.bashrcに
export MAKEFLAGS -j 8
を書いておくとコンパイルが早い

$ ./configure linux --prefix=/usr/local/root --enable-minuit2 --enable-glite --enable-dcache --enable-memstat \
--enable-xml --enable-xrootd --enable-tmva --enable-reflex --enable-castor --enable-soversion --enable-rpath
$ make
$ su
# make install
.bashrcに、
# ROOT
source /usr/local/root/bin/thisroot.sh

# ANAROOT
alias anarootlogin='source $HOME/exp/scripts/anarootlogin.sh'
と書いておく。
anarootのコンパイルはいつも通りに、
$ ./autogen.sh --prefix=$PWD
$ make 
$ make install
HIME用のコードを新しく書いた。
また、他のコードはコンパイルのときにウザいのでいらないのは消した。


TIPS

・少しOSだと標準で/sbinにパスが通っていないので、ifconfigやinsmodは
# /sbin/ifconfig
# /sbin/insmod
等、/sbinが必要

・カーネルのバージョン
$ uname -r

・ディストリビューションの確認
$ cat /etc/redhat-release (fedora-release)

・single user mode
1. ESC連打でGRUBの画面に入る
2. 'e'を押してkernelの行の最後にsingleと書き込む。
3. 'b'を押してboot

・host名の変更

・mknodで/dev以下に何か作った物は、単純にrmで消せる。

・ps aux | grep babi これでbabi何たらが立ち上がっているかわかる。

・babildのDEBUGはbabirl/common.mkのDBMODEのコメントアウトを外せばよい

・driver(nbbqdrv, babirldrv)のsourceにはprintfとかは使えない。
変わりにprintkというのがあって、これを仕込むと何となくdebugができる。
このメッセージはterminalには表示されず、
$ dmesg | tail
とかコマンドラインで打つと見える。

・babiconの初期化はbabirl/init以下に置いてある。


番外: 多段ルータによる切り離された固有のネットワークの構築

実験をするときに、他施設から一本だけLANケーブルをもらって、その中に固有のネットワークを構築したいときがある。
そのときのメモ。

1. 普通の家庭用のルータ(今回はAterm WR8379N(HPモデル))を買ってくる。

2. ルータとPCのLANポートをストレートケーブルで直結する。
このとき、ルータはWAN側ではなくLAN側にさす。PC側では無線LANとか止めた方がよい。

3. PCに固定IPをふる。例えば192.168.0.77とか。ネットマスクも必要。DNSとかゲートウェイとかはいらない。
ルータのデフォルトIPとかぶらないように、また、「192.168.0」のところはルータと同じになるようにする。

4. webブラウザを開いて、urlのところに192.168.0.1(機種によって異なる)と入力するとルータにアクセスできる。

5. 「ローカルルータとして使う」みたいな選択肢を選んでおく。

6. WAN側のIPは、実験施設から固定IPをもらった場合はそれ、DHCPならDHCPにしておく。普通のPCの用に設定する。

7. LAN側は、192.168.2.254とかにする。三つ目の数字の「2」を無断で決めるのはアウトなのでネットワーク管理者と相談。

8. ルータのLAN側設定を変えた時点で接続が一旦切れるので、まずPCの固定IPを192.168.2.77とかにしたうえで、
新しいIP(192.168.2.254)をurlに入れる。

9. 細かい設定は適当に(無線LANとか使わないなら切ってしまった方がよいかと)。

10. 外に出るためにはPCのDNS、ゲートウェイを192.168.2.254に設定する。
ただし、DNSは上流の192.168.1.254にしないと非常に遅かった。

11. DHCPの割り当ての開始アドレスを192.168.2.201からとかにしておくとよいかも。

12. sshでルータの外から内側に入るために、22番ポートのアクセスを入り口PCに指定しておく(ポートマッピング)。


ということで多段ルータを使って切り離されたネットワークができましたとさ。