= Check list for real time system = Real time systemを動かすために、どのようなモジュール、サービス、ソフトなどが必要かは[[KAGRA/Subgroups/DGS/manual/SysAdmin|ここ]]に書いてある。 ----- == Simple check list == 1. medmに数字が出て、その数字が変化しているか? [[KAGRA/Subgroups/DGS/Manual/MEDM|[How to check] ]] * 症状: 数字が出ない * 原因: epics IOCが立ち上がっていない。 [[#epics|[解決策] ]] * 原因: mbufが走っていないためepics IOCが起動できない。 [[#modules|[解決策] ]] * 原因: caRepeaterが起動していない。 [[#epics|[解決策] ]] * 原因: clientのネットワーク設定がうまくいっていない。[解決策:ネットワーク設定を注意深く見る。特にdefault gatewayがおかしいとping等は通ってもepicsの数字がでないことがある。また、ifconfigで見てbroadcastが最後の3桁以外が255になっているときも、この様な現象が起きる。] * 症状: 数字が出ても0のまま動かない * 原因: burtが0のままである。[[#burt|[解決策] ]] * 原因: real time moduleが走っていない。 [[#modules|[解決策] ]] * 症状: 数字が出て、0以外の数が表示されているが、数字が動かない * 原因: 最初のADCにtiming信号が入っていない -> 65536Hz, 0-5V square wavesがADCにきちんと入力されているかチェック。 * dataviewerで現在、及び過去のデータが見えるか? [[KAGRA/Subgroups/DGS/Manual/DataViewer|[How to check] ]] * 症状: channel名が出てこない: * 原因: awgtpmanが走っていない。[[#awg|[解決策] ]] * 原因: daqdが動いていない。[[#daqd|[解決策] ]] * 症状: DAQ channel名は見えるがTP channelが一つも出てこない: * 原因: masterファイルに問題がある[[#master|[解決策] ]] * 症状: 現在のデータも過去のデータも見えない: * 原因: ndsが動いていない。[[#nds|[解決策] ]] * 症状: 現在のデータは見えるが、過去のデータが見えない: * 原因: daqdが動いていない。[[#daqd|[解決策] ]] * 原因: jobs, pipeの位置関係が悪い。[[#jobs|[解決策] ]] * 症状: 過去のデータは見えるが、現在のデータが見えない: * 原因: DAQ networkのどこかが切れている。[解決策の例:data concentratorやndsのresolve.confが間違っていないか調べる。] * 症状: Fastチャンネルの現在のデータを選択するとdataviewerの画面が出ないが、過去のデータは画面は出るが値は0のまま。Slowチャンネルはデータがきちんと見える。 * 原因: mx_streamが動いていない。RT PC上でps -ef | grep mx等してチェック。 * 症状: データは見えるが、数十秒で止まる。 * 原因: daqdが動いていない。[[#daqd|[解決策] ]] * 原因: storageにうまく書き込めない。 [[#frames|[解決策] ]] * 症状: diagguiではデータが見えるのに、dataviewerでは{{{ Error in obtaining chan info. Connecting....connect(); errno=111 }}}というメッセージが出て、channel名が出てこない: * 原因: dataviewerのバージョンがRTSのバージョンに比べて古い、もしくはLinuxのカーネルとバージョンがあっていない->RTSのバージョンに一致したdataviewerをビルドしてインストールする。[[KAGRA/Subgroups/DGS/RTPC/WS#dv|[How to install] ]] * diaggui(DTT)で現在、及び過去のデータが見えるか? [[KAGRA/Subgroups/DGS/Manual/Diaggui|[How to check] ]] * 症状: channel名が出てこない: * 原因: awgtpmanが走っていない。[[#awg|[解決策] ]] * 原因: daqdが動いていない。[[#daqd|[解決策] ]] * 症状: DAQ channel名は見えるがTP channelが一つも出てこない: * 原因: masterファイルに問題がある[[#master|[解決策] ]] * 症状: dataviewerではchannel名が出てくるのに、diagguiでは出てこない: .diag -iでチェック{{{ desktop1:burt>diag -i Diagnostics configuration: awg 22 0 192.168.11.100 822095894 1 192.168.11.100 awg 88 0 192.168.11.100 822095960 1 192.168.11.100 nds * * 127.0.0.1 8088 * 127.0.0.1 nds * * 192.168.11.100 8088 * 192.168.11.100 tp 22 0 192.168.11.100 822091798 1 192.168.11.100 tp 88 0 192.168.11.100 822091864 1 192.168.11.100 }}} ndsのところがmaster等となっていないことを確認。 * 原因: /opt/rtcds/kamioka/k1/target/gds/param/diag_K.confの設定が間違っている。 * 症状: synchronization errorがでる: * 原因: real time PCの計算機自身の時間と、real time software上の時間がずれてしまっている。->real time PCを再起動。 * 症状: time outになってしまう: * 原因: real time PCとdiagguiを走らせているclient PCの内部時間がずれている。->client PCのntpが動いていているか確認。時刻を合わせる。 * 症状: 現在のデータも過去のデータも見えない: * 原因: ndsが動いていない。[[#nds|[解決策] ]] * 症状: 現在のデータは見えるが、過去のデータが見えない: * 原因: daqdが動いていない。[[#daqd|[解決策] ]] * 症状: 過去のデータは見えるが、現在のデータが見えない: * 原因: DAQ networkのどこかが切れている。 ---- === 上記項目がおかしい場合、まず試すこと === <> 1. mbuf及び、real time moduleは動いているか? {{{ controls@standalone ~ $ lsmod Module Size Used by k1vex 9455730 0 k1x01 9198550 1 k1vex mbuf 7317 10 k1vex,k1x01 }}}とmbufが動いていて、モジュールとしてIOCとreal time model(ここでは一例としてk1vex及びk1x01)が走っているか? * mbufは/etc/rc.localから呼び出されている。 * RT model等は/opt/rtcds/kamioka/k1/scripts/startk1vex等から呼び出されている(startスクリプトの[[KAGRA/Subgroups/DGS/Manual/CheckList/StartScript|一例]])。これをたどっていくと、何が起動されているかが分かる。[[KAGRA/Subgroups/DGS/manual/SysAdmin|ここ]]も参照するといい。 * /opt/rtcds/kamioka/k1/target/k1vex/scripts/startupK1rtを見ると、insmodコマンドでRT modelをLinuxカーネルのmoduleとして起動していることが分かる。ログが/opt/rtcds/kamioka/k1/target/k1vex/logs/log.txtに書かれているので、見る。 * 起動できない原因の一つが、現在走っているlinuxカーネルと違うバージョンのカーネルの元でbuildされた可能性がある。その場合現在走っているカーネルで[[KAGRA/Subgroups/DGS/Manual/BuildModel|再ビルド]]しなくてはならない。 * 現在のカーネルのバージョンはuname -aで分かる。 * /opt/rtcds/kamioka/k1/target/k1vex/k1vexepics/burt以下にログがたまっているとうまくRT moduleが立ち上がらないことが確認されている。その場合、そこにあるログを全て削除し、cd ..で一つ上がってsudo chown root:root burtとしておくと次回からはうまく立ち上がるようになるはずである。 * それでもRT moduleが走らない場合、matlabで.mdlファイルを開いて、左上の方にあるモデルを定義しているboxのオプションをよく見るといい。例えば、Dolphin RFMが無いのにpciRFM=1が設定されていると、RT moduleをinsmodするところで Unknown sumbol in module というエラーで読み込めなくなる。 <> * epics caRepeater及びepics IOCが走っているか? {{{ controls@standalone ~ $ ps -ef | grep epics controls 5045 1 0 14:38 ? 00:00:00 /opt/rtapps/epics/base/bin/linux-x86_64/caRepeater controls 5085 1 0 14:38 ? 00:00:01 ./k1x01epics k1x01epicsK1.cmd controls 5189 1 4 14:38 ? 00:00:10 ./k1vexepics k1vexepicsK1.cmd }}} * caRepeaterは/etc/rc.localから呼び出されている。 * それぞれのモデルのepics IOCは、それぞれのモデルのstartスクリプトから起動されている。 * log(example): [[KAGRA/Subgroups/DGS/Manual/CheckList/epicsLog|/opt/rtcds/kamioka/k1/target/k1vex/k1vexepics/iocK1.log]] <> * burtは1になっているか? * medmで/opt/rtcds/kamioka/k1/medm/k1x01/K1X01_GDS_TP.adlや/opt/rtcds/kamioka/k1/medm/k1vex/K1VEX_GDS_TP.adlを開いて「BURT」のところが緑になっているか確認する。 <> * WatchdogがOFFになっていないか? * /opt/rtcds/kamioka/k1/medm/k1vex/K1VIS_ETMX_F0.adlを開いて、右下のWatchdogがONになっていることを確認。 <> * awgtpmanは走っているか? {{{ controls@standalone ~ $ ps -ef | grep awg root 5159 1 0 14:38 ? 00:00:12 /opt/rtcds/kamioka/k1/target/gds/bin/awgtpman -s k1x01 -4 -l /opt/rtcds/kamioka/k1/target/gds/awgtpman_logs/k1x01.log root 5280 1 0 14:39 ? 00:00:12 /opt/rtcds/kamioka/k1/target/gds/bin/awgtpman -s k1vex -l /opt/rtcds/kamioka/k1/target/gds/awgtpman_logs/k1vex.log }}} * それぞれのモデルのawgtpmanは、それぞれのモデルのstartスクリプトから起動されている。 * log: [[KAGRA/Subgroups/DGS/Manual/CheckList/awgtpmanLog|/opt/rtcds/kamioka/k1/target/gds/awgtpman_logs/k1vex.log]] <> * ndsは走っているか? {{{ controls@standalone ~ $ ps -ef | grep nds controls 5534 1 0 14:39 ? 00:00:00 su controls -c /opt/rtcds/kamioka/k1/target/fb/nds /opt/rtcds/kamioka/k1/target/fb/pipe controls 5539 5534 0 14:39 ? 00:00:00 /opt/rtcds/kamioka/k1/target/fb/nds /opt/rtcds/kamioka/k1/target/fb/pipe }}} * ndsは/etc/inittabから呼び出されている {{{ controls@standalone ~ $ tail -n 2 /etc/inittab fb:2345:respawn:/opt/rtcds/kamioka/k1/target/fb/start_daqd.inittab nds:2345:respawn:/opt/rtcds/kamioka/k1/target/fb/start_nds.inittab }}} * log: /opt/rtcds/kamioka/k1/target/fb/logs/nds.log (通常問題なく起動するとログには何も記述されない) <> * daqdは走っているか? {{{ controls@standalone ~ $ ps -ef | grep daqd controls 20077 1 0 16:42 ? 00:00:00 su controls -c /opt/rtcds/kamioka/k1/target/fb/daqd -c /opt/rtcds/kamioka/k1/target/fb/daqdrc controls 20081 20077 3 16:42 ? 00:00:00 /opt/rtcds/kamioka/k1/target/fb/daqd -c /opt/rtcds/kamioka/k1/target/fb/daqdrc }}} * daqdは/etc/inittabから呼び出されている {{{ controls@standalone ~ $ tail -n 2 /etc/inittab fb:2345:respawn:/opt/rtcds/kamioka/k1/target/fb/start_daqd.inittab nds:2345:respawn:/opt/rtcds/kamioka/k1/target/fb/start_nds.inittab }}} * log: [[KAGRA/Subgroups/DGS/Manual/CheckList/daqdLog|/opt/rtcds/kamioka/k1/target/fb/logs/daqd.log]] * daqdが走っているかどうかの確認方法の一つは/frames以下にfame dataが書き込まれているかどうかを見ることである。 * pipeの指定が正しいか確認。daqdrc.nds0等の中でnds-jobs-dirを指定しているが、これがpipeに引き渡す位置になる。基本的にfb以下にpipeがあるのでfbまでの指定とする。この場合{{{ T0=15-04-30-06-34-40; Length=600 (s) No data output. .. done read(); errno=0 LONG: DataRead = -1 No data found }}}と言うようなエラーメッセージがdataviewerから出る。また、diagguiでも過去データは見えない。 <> * 指定されたjobsとpipeの位置関係は正しいか? {{{ controls@k1nds0 ~ $ grep 'jobs' /opt/rtcds/kamioka/k1/target/k1daqnds0/daqdrc set nds-jobs-dir="/opt/rtcds/kamioka/k1/target/k1daqnds0"; controls@k1nds0 ~ $ ls -l /opt/rtcds/kamioka/k1/target/k1daqnds0 total 24 drwxr-xr-x 2 controls controls 4096 Jan 20 2016 bin_archive lrwxrwxrwx 1 controls controls 26 Nov 11 13:27 daqd -> bin_archive/daqd.rcg-2.9.7 -rw-r--r-- 1 controls controls 1453 Nov 14 14:13 daqdrc drwxr-xr-x 2 controls controls 12288 Nov 14 14:20 jobs lrwxrwxrwx 1 controls controls 25 Nov 11 13:27 nds -> bin_archive/nds.rcg-2.9.7 srwxr-xr-x 1 controls controls 0 Nov 14 14:19 pipe }}} nds-jobs-dirで指定したディレクトリ直下にjobs, pipeが無いといけない。(k1nds1も同様) <> * /opt/rtcds/kamioka/k1/target/fb/masterをチェック。特に最終行の最後に改行が入っているか。 <> * /frames以下にきちんと書き込めているか? * dfコマンドで/dev/sdc1の空き容量をチェック。 * /dev/sdc1があるかチェック。3台目のHDDがsdcとなるので、2台目を抜いてきどうしたりすると本来sdcになるものがsdbになってしまったりすることがある。 */frame/full/XXXX/以下にファイルが随時書き込まれていくか確認してみる。 ---- == More check list == * ezcaコマンド群は問題なく動くか? * BURTは裏できちんと動いていて、epicsの変化を記録しているか? * Conlogは作動しているか? * CPU meterの値は十分小さいか? * IRIG-Bのところに大きな時間のずれが表示されていて赤くなっていないか? * Dolphin RFMで制御信号はやりとりできるか? * GE RFMで制御信号はやりとりできるか? ---- == Model building test == 1. Client Workstation上でMatlabが立ち上がるか? * modelをbuildできるか? * 再起動で問題なく動くか? ---- == 動作の挙動がおかしい == * RTSの動作が重い、medmの各K1XXX_GDS_TP.adlの「CYC/USR」の左の数字が黄色または赤になっている: * 原因: データ保存用HDDがいっぱいになっている。 [[#frames|[解決策] ]]