| 最近の更新履歴 |
|---|
|
K5/VSSP32サンプラーユニットの推奨環境および動作が確認された環境は以下の通りです。 (K5/VSSP(旧IP-VLBI)サンプラーボードに関する情報提供は中止しました)
| 環境 | 備考 |
|---|---|
| Debian GNU/Linux 3.1 (kernel 2.6.8-2-386) i386 プラットフォーム | オリジナルドライバーの動作環境 |
| Debian GNU/Linux 4.1 (kernel 2.6.18-4-686) i386 プラットフォーム | ただしFedraCore用のドライバアーカイブ vlbi-usb-linux-FC-20070411.tar.gz および以降を使用すること※ |
| Debian GNU/Linux 5.0 (kernel 2.6.26-1-686) | vlbi-usb-linux-1.18.tar.gz を使用 |
| CentOS GNU/Linux (kernel 2.6.9-42.ELsmp) i386 プラットフォーム | K5ソフト群のVersion 2007-04-11以降使用のこと |
| CentOS 5 GNU/Linux (kernel 2.6.18-53.el5) i386 プラットフォーム | K5ソフト群のVersion 2007-04-11以降使用のこと 更にFedraCore用のドライバアーカイブ vlbi-usb-linux-FC-20070411.tar.gz および以降を使用すること※ |
| CentOS 5 GNU/Linux (kernel 2.6.18-164.el5) i386 プラットフォーム | vlbi-usb-linux-1.18.tar.gz を使用 |
| Fedora Core GNU/Linux (kernel 2.6.18-1.2798.fc6) i386 プラットフォーム | K5ソフト群のVersion 2007-04-11以降使用のこと 更にFedraCore用のドライバアーカイブ vlbi-usb-linux-FC-20070411.tar.gz および以降を使用すること※ |
| Fedora14 GNU/Linux (kernel 2.6.35.10-74.fc14.i686) | vlbi-usb-linux-01TK.tar.gz を使用 |
| Ubuntu10.10 GNU/Linux (kernel 2.6.35-22-generic) i686 | vlbi-usb-linux-2011-01TK.tar.gz を使用 |
| Ubuntu11.04 GNU/Linux (kernel 2.6.38-8-generic) i686 | vlbi-usb-linux-2011-10TK.tar.gz を使用 |
| Ubuntu12.04 GNU/Linux (kernel 3.2.0-86-generic) i686 | vlbi-usb-linux-2011-10TK.tar.gz を使用 |
| Ubuntu14.04(64bit) GNU/Linux (kernel 3.13.0-66-generic) x86_64 | vlbi-usb-linux64-2011-10TK.tar.gz を使用 |
| Ubuntu16.04(64bit) GNU/Linux (kernel 4.4.0-53-generic) x86_64 | vlbi-usb-linux64-2011-10TK.tar.gz を使用 |
| Debian7.11(64bit) GNU/Linux (kernel 3.2.0-4-amd64) x86_64 | vlbi-usb-linux64-2011-10TK.tar.gz を使用 |
| Fedora20(64bit) GNU/Linux (kernel 3.19.8-100.fc20.x86_64) x86_64 | vlbi-usb-linux64-2011-10TK.tar.gz を使用 |
| CentOS7.2(64bit) GNU/Linux (kernel 3.10.0-327.36.3.el7.x86_64) x86_64 | vlbi-usb-linux64-2011-10TK.tar.gz を使用 |
※コンパイル時に以下の警告が出るが、VSSP32は正常に機能しました。
WARNING: modpost: GPL-incompatible module utds.ko uses future GPL-only symbol 'usb_register_driver'
WARNING: modpost: GPL-incompatible module utds.ko uses future GPL-only symbol 'usb_deregister'
注意:gcc 4で生じるドライバーmake時のエラーについて(2007/5/16)
VSSP32用ドライバをmakeするときにgccのバージョンが4の場合、
include/asm/processor.h:87: error: array type has incomplete element type
というエラーが出て、make出来無い場合はカーネルとgccのバージョンが合ってないことが原因と考えられます。その時はgccのバージョンを3に落としてください。
| サンプラー依存ソフト(K5/VSSP, K5/VSSP32用, K5/VSSP64用に別々にコンパイルする必要有り) |
|---|
| signalcheck | ボードに10MHzおよび1PPSが供給されているかどうかのチェックプログラム |
|---|---|
| timesettk | ボードの時刻のセット(ログ機能を追加) |
| timeadjust | K5/VSSP(K5/VSSP32)の時刻を秒単位(進み遅れ)でセットする(ログ出力あり) |
| timedisp | ボードの時刻表示 |
| timesync | ボードの1PPS同期および時刻表示(ログ機能を追加) |
| sampling | 手動によるデータ収集 |
| sampling2 | 手動によるデータ収集(高機能版:1秒ファイル生成モードではシンクパターンのチェックあり) |
| autoobs | 自動データ収集。ログ出力機能と複数ハードディスクサポート。 「NOZOMI」観測モードサポート。サブネット観測対応。 |
| monit | K5/VSSP(IP-VLBI)ボードおよびK5/VSSP32の入力信号レベルのモニター。時刻表示有り |
| monit2 | 主にK5/VSSP32のエラー回数モニター |
| setdcoffset | K5/VSSP32ボードのDCオフセットのセット(ログ出力あり) |
| pctimeset | PCの時刻をK5/VSSP(K5/VSSP32)ボードの時刻に合わせる(ログ出力あり) |
| timesetpc | K5/VSSP(K5/VSSP32)の時刻をPCの時刻に合わせる(ボードテスト用、ログ出力あり) |
| timecheck | K5/VSSP32の時刻表示の誤動作チェック(ログ出力あり) |
| サンプラー不要のソフト |
|---|
| datachk | データチェック (ヘッダー部を頼りにヘッダー間のデータビット数をカウント)。オプションでサンプリング統計表示機能 |
|---|---|
| oscillo | サンプリングデータの時系列ダイナミック表示 (PGPLOTでコンパイル時のみ有効) |
| speana | オフラインスペクトル表示(speana2の機能実装済み) |
| speana_n | オフラインスペクトルのダイナミック表示 (PGPLOTでコンパイル時のみ有効) |
| speana2 | オフラインスペクトル表示(高機能版) |
| skdchk | スケジュールファイルのチェック |
| extdata | サンプリングデータファイルから特定のchのデータを抽出しテキストファイルに書き出す |
| four2one | 4chモードで収集したデータから任意のチャンネルのデータを切り出し、1chモードのデータに変換する |
| datacut | サンプリングデータファイルからある時間範囲のデータを抜き出す |
| datatime_edit | サンプリングデータファイルの時刻を修正(変更)する |
| adbitconv | サンプリングデータファイルのADビット数を任意のADビット数(ただし、1,2,4,8)に変換する |
| one2four | 4台のIP−VLBIボードから1chモードで取得したデータファイル4つを結合し、 4chモードのデータファイルを作成する |
| data_half | サンプリングデータを間引きすることにより見かけのサンプリング周波数を半分にする |
| data_double | サンプリングデータを繰り返すことにより見かけのサンプリング周波数を倍にする |
| k5v32tok5 | K5/VSSP32フォーマットデータをK5/VSSPフォーマットに変換する |
| k5tok5v32 | K5/VSSPフォーマットデータをK5/VSSP32フォーマットに変換する |
| data_recov | K5/VSSPおよびK5/VSSP32データヘッダー部の修復を行う |
| vssplogana | sampling(autoobsも可)のログファイルおよびdatachkのサマリー出力ファイルを解析し、 発生エラー状況の統計結果を表示する |
| aux_recov | K5/VSSP32データでデータチェック時にAUX MISALIGN (misaligned AUX field)と表示されるデータの修復を行う |
| pcalcheck | K5/VSSPおよびVSSP32データファイル中のPCAL位相と強度をグラフ表示する |
| pulsar | パルサープロファイル(パルサー周期に同期したアンサンブル平均)を表示する (VSSPフォーマット専用) |
| ボードテスト用シェルスクリプト(観測ソフト群のアーカイブに含まれています) |
|---|
| vssp32test.sh | K5/VSSP32ユニットのサンプリング周波数を変えての自動テスト |
|---|---|
| vssp32test2.sh | K5/VSSP32ユニットのサンプリングパラメータを固定して、繰り返しの耐久テスト |
| vssp32test3.sh | K5/VSSP32ユニットのサンプリング周波数を変えての自動テスト。下限周波数の設定可 |
| K5/VSSP<==>Mark5フォーマット変換ソフト群 |
|---|
| k5tom5 | K5からMark5への変換(K5/VSSP32フォーマットもサポート) |
|---|---|
| k5tom5b | K5からMark5Bへの変換(K5/VSSP32フォーマットもサポート) |
| m5check | Mark5のファイル形式チェック(8|16|32|64トラックモードの自動判定) およびシンクブロックチェックなしでのヘッダー部表示 |
| m5time | Mark5データの時刻表示 |
| m5btime | Mark5Bデータの時刻表示 |
| m5tok5 | Mark5からK5への変換(Mark5全モード対応高速版:K5/VSSP32への変換は未対応) |
| m5btok5 | Mark5BからK5への変換 |
| m5vex_ana | VEXファイルの解析を行う |
| m5b_recov | k5tom5bのVer.2016-07-20以前で変換したMark5Bファイルの不具合 (0hUTCをまたぐスキャンで発生)の修正を行なう |
| ADS3000+(DBBCモード) <-> K5/VSSPフォーマット変換ソフト群 |
|---|
| ads2k5 | ADS3000+のDBBCモードデータからVSSP32またはVSSPフォーマットへの変換 |
|---|
| VDIFフォーマット <-> K5フォーマット変換ソフト群(含むVDIF->Mark5B、VDIF->VDIF) |
|---|
| vdif2k5 | VDIFからK5/VSSP32フォーマットへの変換を行う |
|---|---|
| vdifcheck | VDIFのファイル形式をチェックする |
| speana_vdif | VDIFデータのスペクトル表示 |
| k5tovdif | K5からVDIFへのフォーマット変換を行う |
| vdiftom5b | VDIFからMark5Bへの変換 |
| vdifsch2m | 単CH/スレッドのマルチスレッドVDIFをマルチチャンネル/スレッドVDIFに変換 |
| vdifmch2s | マルチチャンネル/スレッドVDIFを単CH/スレッドのマルチスレッドVDIFに変換 |
| vdif2vdif | vdifsch2m, vdifmch2sの機能を有する |
K5/VSSP観測ソフトウェア群の詳細はここをご覧下さい。
K5/VSSP観測時に発生するエラーコードの詳細はここをご覧下さい。
ボードテスト用シェルスクリプトの詳細はここをご覧下さい。
K5/VSSP <-> Mark5フォーマット変換ソフト群の詳細はここおよびここをご覧下さい。
ADS3000+(DBBCモード) <-> K5/VSSPフォーマット変換ソフトの詳細はここおよびここをご覧下さい。
VDIF -> Mark5Bフォーマット変換ソフトの詳細はここをご覧下さい。
K5/VSSPに生じている問題点と対処法(2007/03/29版)
K5/VSSP32に残っている問題点と対処法(2008/1/24版)
一つのソースファイルでFreeBSD、linux、一部サンプラーボードを使用しないユーティリティについては
WIN32のすべてに対応しています。
具体的には
#ifdef WIN32
printf("This is Windows \n");
#elif defined(__FreeBSD__)
printf("This is FreeBSD \n");
#elif defined(linux)
printf("This is linux \n");
#endif
の原理を使っています。
すでにサンプラーのドライバーは別途インストールされているものと します
| 1. | 適当なディレクトリにipvlbi_obs20201020.tar.gz (IP-VLBI(K5/VSSP)ユーティリティVer.2020-10-20) を置く |
| 2. |
tar xvzf ipvlbi_obsXXXXXXXX.tar.gz
で解凍する |
| 3. |
cd ipvlbiXXXXXXXX で作業ディレクトリを移動する。 |
| 4. |
【注:Ver.2016-10-04以降インストール法が大幅変更になりました】 Ver.2016-08-08およびそれ以前のアーカイブのインストール法は install_obs.20161003.htmlを参照してください。
K5/VSSP32をインストールする場合は、
makeを実行する。
K5/VSSP64をインストールする場合は、
make S=VSSP64を実行する。
グラフィック表示はデフォルトではPGPLOTですが、GNUPLOTを使用したい場合は
make G=GNUPLOTを実行する。 (追記 2018/09/27:最近のバージョンはGNUPLOTを使ったグラフィック表示のチェックを行なっていません。 グラフィック表示が不具合を起こす場合はPGPLOTを使うようにしてください。) サンプラーを使用しないユーティリティのみインストールしたい場合は
make S=NONEを実行する。 コンパイルしなおす場合は
make cleanを実行後、makeし直す。
|
| 5. |
【環境の設定を行う】
インストールしたソフト群のディレクトリが例えば$HOME/K5/ipvlbiXXXXXXXXである場合
ln -s $HOME/K5/ipvlbiXXXXXXXX $HOME/ipvlbi
すでにリンクがある場合新しく貼り直す場合は"f"オプションをつけて、 ln -sf $HOME/K5/ipvlbiXXXXXXXX $HOME/ipvlbi でリンクを作成し、.bashrcなどのリソースファイル中で
export PATH=$PATH:$HOME/ipvlbi/bin (.bashrcの場合) setenv PATH $PATH:$HOME/ipvlbi/bin (.cshrcの場合) を記述しておけば、K5ソフト群のバージョンアップを行った際もシンボリックリンクを張り直すだけで良くなる。 Ver.2010-02-08以降のアーカイブではmanページファイルも含まれているので、.bashrcなどに
export MANPATH=$HOME/ipvlbi/man:$MANPATH (.bashrcの場合) setenv MANPATH $HOME/ipvlbi/man:$MANPATH (.cshrcの場合)
を記述しておけば、manコマンド(例えば"man autoobs"等)でK5ソフト群の使用方法を得ることができる。
|
ユーティリティの詳細は 取り説をご覧下さい。
PGPLOTのインストールをするにはここをご覧下さい。
GNUPLOTは大抵の場合予めインストールされていると思いますが、インストールされていない
場合は適宜インストールを行い(GNUPLOTのインストール法はここでは触れません)、
gnuplotコマンドにパスを通して下さい。
(追記 2018/98-27:最近のバージョンはGNUPLOTを使ったグラフィック表示のチェックを行なっていません。
グラフィック表示が不具合を起こす場合はPGPLOTを使うようにしてください。)
| 1. | 適当なディレクトリにipvlbi_m5k20201020.tar.gz (K5・Mark5・ADS3000+ フォーマット変換ユーティリティVer.2020-10-20) を置く |
| 2. |
tar xvzf ipvlbi_m5kXXXXXXXX.tar.gz
で解凍する |
| 3. |
cd ipvlbiXXXXXXXX で作業ディレクトリを移動し、
make T=M5Kを実行する。
|
| 1. | 適当なディレクトリにipvlbi_vdif20201020.tar.gz (K5・VDIF フォーマット変換ユーティリティVer.2019-06-02) を置く |
| 2. |
tar xvzf ipvlbi_vdifXXXXXXXX.tar.gz
で解凍する |
| 3. |
cd ipvlbiXXXXXXXX で作業ディレクトリを移動し、
make T=VDIFを実行する。 |
K5/VSSP32をインストールしているPCにK5/VSSPの観測ソフトをインストールすることが出来ます。以下に手順を載せます。 (注:Ver. 2007-10-30以前と手順が若干異なっています)
K5/VSSPを常用とする場合
| 1. | 両方のドライバ(K5/VSSP用はlinux2.6用ドライバを使用する)をインストールする |
| 2. | cd ipvlbiXXXXXXXX/src で作業ディレクトリを移動 |
| 3. | make S=VSSP32 で観測ソフト群をK5/VSSP32用にコンパイルする |
| 4. | make install S=VSSP32 を実行する |
| 5. | 4.の作業の結果として ipvlbiXXXXXXXX/bin32 以下にK5/VSSP32用の観測ソフト(実行プログラム)群が収納される |
| 6. | ipvlbiXXXXXXXX/src ディレクトリで今度は make clean |
| 7. | 更に make S=VSSP を実行する。この作業により観測ソフト群がK5/VSSP(旧IP-VLBIボード)用にコンパイルされる |
| 8. | make install S=VSSP を実行する |
| 9. | 8.の作業で ipvlbiXXXXXXXX/bin 以下にK5/VSSP用の観測ソフト(実行プログラム)群と両方(VSSPおよびVSSP32)に共通に 使用できるプログラム群が収納される。またipvlbiXXXXXXXX/bin_vssp以下にもK5/VSSP用の実行プログラムが収納される |
K5/VSSP32を常用とする場合
| 1. | 両方のドライバ(K5/VSSP用はlinux2.6用ドライバを使用する)をインストールする |
| 2. | cd ipvlbiXXXXXXXX/src で作業ディレクトリを移動 |
| 3. | make S=VSSP で観測ソフト群をK5/VSSP用にコンパイルする |
| 4. | make install S=VSSP を実行する |
| 5. | 4.の作業の結果として ipvlbiXXXXXXXX/bin_vssp 以下にK5/VSSP用の観測ソフト(実行プログラム)群が収納される |
| 6. | ipvlbiXXXXXXXX/src ディレクトリで今度は make clean を実行する |
| 7. | 更にmake S=VSSP32 で観測ソフト群をK5/VSSP32用にコンパイルする |
| 8. | make install S=VSSP32 を実行する |
| 9. | 9.の作業で ipvlbiXXXXXXXX/bin 以下にK5/VSSP32用の観測ソフト(実行プログラム)群と両方(VSSPおよびVSSP32)に共通に 使用できるプログラム群が収納される。またipvlbiXXXXXXXX/bin32以下にもK5/VSSP32用の実行プログラムが収納される。 |
上記の手順でipvlbiXXXXXXXX/bin 以下には最後にコンパイルした観測ソフト(実行プログラム)群と両方(VSSPおよびVSSP32)に共通に
使用できるプログラム群が収納され、ipvlbiXXXXXXXX/bin_vssp 以下にK5/VSSP用の観測ソフト(実行プログラム)群、
ipvlbiXXXXXXXX/bin32 以下にK5/VSSP32用の観測ソフト(実行プログラム)群が収納される。
従って、例えばsignalcheckをK5/VSSP32ユニットに対して実行するときは
ipvlbiXXXXXXXX/bin32/signalcheckK5/VSSPボードに対して実行するときは
ipvlbiXXXXXXXX/bin_vssp/signalcheckのようにする。
==== VSSP64モード用ドライバ(2016.11.24公開開始:日通機提供)(Ubuntu14.04 64bitでの動作確認)======
注.VSSP64の内部DIPスイッチがVSSP64モードとなっている場合はVSSP64モード用ドライバを使用すること!
==== linux kernel 2.6.38 以上用ドライバ(2011.10.14公開開始)(Ubuntu12.04での動作確認)======
==== linux kernel 2.6.35 用ドライバ(2011.01.06版)(Fedra10, Ubuntu10.10での動作確認)======
==== Debian GNU/Linux5.0用ドライバ(2010.1.24公開開始:日通機提供)(CentOSでも動作確認)======
==== Debian GNU/Linux3.1用ドライバ(日通機提供)(CentOSでも動作確認)======
==== FedraCore用ドライバ (および Debian GNU/Linux4.1) ======
注1.VSSP32用ドライバをmakeするときにgccのバージョンが4の場合、
include/asm/processor.h:87: error: array type has incomplete element type
というエラーが出て、make出来ない場合は、カーネルとgccのバージョンがあっていませんので、gccのバージョンを3に落としてください。
注2.再起動後にドライバーがロードされないとき(VSSP32へのアクセスがエラーとなるとき)はUbuntu, Debianの場合は /etc/rc.local (Fedora, CentOSの場合は/etc/rc.d/rc.local)に以下の記述を追加する。 ない場合は作成してパーミッションを755に設定しておく (sudo chmod 755 ファイル名)。更に1行目に#!/bin/sh -eを記述する。
KERNVER=`uname -r`
/sbin/insmod /lib/modules/$KERNVER/kernel/drivers/usb/misc/utds.ko
VSSP64のドライバーインストールした場合はさらに以下を追加
/sbin/insmod /lib/modules/$KERNVER/kernel/drivers/usb/misc/u3tds.ko
ドライバーのパーミッションが666にならない場合は/etc/udev/rules.dの下に
例えば 70-persistent-utds.rules という名のファイルを作ってそこに以下を記述すると良い。
KERNEL=="utds[0-9]", MODE="0666"
VSSP64のドライバーインストールした場合はさらに以下を追加
KERNEL=="u3tds[0-9]", MODE="0666"
最後に再起動を行なう。
注3.ドライバーのインストールには事前にカーネルのヘッダーがインストールされている必要があります。ドライバーインストール時にエラーが出た場合は、以下の手順でカーネルヘッダーをインストールしてください
DebianおよびUbuntuの場合
# apt-cache search linux-headers <==インストールするパッケージ名を探す
# apt-get install linux-headers-VERSION
ここで VERSIONは 2.6.26-2-686など現在使っているカーネルのバージョンを指定
カーネルのバージョンを得るには uname -r が使える
CentOSおよびFedoraの場合
# yum search kernel-devel <==インストールするパッケージ名を探す
# yum install XXXXXXXX
ここで XXXXXXXXはサーチで得たパッケージ名 (例 kernel-devel.i686)
注4.ドライバー(vlbi-usb-linux-1.18)のインストール時に
......./vlbi-usb-linux-1.18/driver/utds.c:17:27: error:
asm/semaphore.h: そのようなファイルやディレクトリはありません
というエラーが生じた場合は ......./vlbi-usb-linux-1.18/driver/utds.c 中の
#include < asm/semaphore.h >を
// #include < asm/semaphore.h >
のようにコメントアウトすることによりコンパイルできます。
asm/semaphore.h は kernel 2.6.27.x 以降なくなったようで、そのために
発生するエラーです。
注5.ドライバー(vlbi-usb-linux-1.18)のインストール時のヒント
kernel 2.6.27以降にインストールする際は ......./vlbi-usb-linux-1.18/driver/utds.c 中の #include < asm/semaphore.h >を
// #include < asm/semaphore.h >
のようにコメントアウトすること。
kernel 2.6.35にインストールする際は ......./vlbi-usb-linux-1.18/driver/utds.c の最初の方に以下の2行を追加する(カーネルバージョン少なくとも2.6.35以降で関数名が変更されているよう)
#define usb_buffer_alloc usb_alloc_coherent
#define usb_buffer_free usb_free_coherent
ドライバー(vlbi-usb-linux-2011-01TK)にはこれらの修正が反映されている。
メモ.ドライバー(vlbi-usb-linux-2011-10TK)にはどのような修正が施されたか。(2011-10-14)
ドライバー utds.cで使用しているfile_operation型変数のメンバー関数中、Cプログラムからioctl関数を 呼んだときに呼ばれる関数が 少なくともlinux kernel 2.6.38ではioctl から unlocked_ioctlに変更になっている。 また関数のプロトタイプも
static int ioctl(struct inode *, struct file *, unsigned int, unsigned long);
から
static long unlocked_ioctl(struct file *, unsigned int, unsigned long);
に変更になっている。これに合わせた修正を行っている。
====linux2.6用ドライバ(2005.9.28リリース開始)======
====linux2.4用ドライバ(改良版2005.6.28リリース)======
====以下はオリジナルlinuxドライバー=====
1. すべての"long int"型(除くスレッド関係)を"int"型に変更した
2. int64_t型のフォーマット記述子に"%u"や"%d"や"%ld"を使っていた部分を"%lld"に変更した。
3. scanfにおいて
char cbuf[20];
scanf("%s",&cbuf);
を
int iret;
char cbuf[20];
iret=scanf("%s",cbuf);
のように修正し、
warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘char (*)[3]’
warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
の警告がでないようにした
4. 戻り値のある関数( int scanf, int system, char* fgets)の戻り値を無視しないようにした。
具体的には
system(...); ==> iret=system(...); (where "iret" is int type)
scanf(...); ==> iret=ssanf(...); (where "iret" is int type)
fgets(...); ==> ret=fgets(...); (where "ret" is char* type)
// #include < asm/semaphore.h >
のようにコメントアウトし、さらに最初の方に以下の2行を追加(カーネルバージョン少なくとも2.6.35以降で関数名が変更されているよう)してからドライバーをインストールすること。
#define usb_buffer_alloc usb_alloc_coherent
#define usb_buffer_free usb_free_coherent
one2fourのプログラム使用法の記述に一部不具合があったので修正した。