[KEKB Bunch Feedback Group]

netDevツールのバージョンアップについて


by とびやま まこと(Makoto Tobiyama)/KEKB ビームモニターグループ

警告
以下の記述に関しては、意図する、しないに関わらず極めて多くの誤り、誤解が含まれていると思われますので、決して信用してはいけません。これを信じて起きた損害に関しては、当方は一切責任を持ちません。


If you need contact with the author, please E-mail makoto.tobiyama@kek.jp.
目次

1.はじめに

小田切淳一さんが開発されたnetDevツールは、ethernetを直接しゃべる機器をEPICSからコントロールするのに、EPICS御本家のASYNCドライバーと同様広く使われています。御本家のAsyncドライバ殿は、今のところネットワークトラブル等の時ひ弱さを露呈することが多々あり、些か発展途上なので大事なコントロールデバイスに採用するのは少々気がかりなところがありますが、netDevの方は今までのところ十分打たれ強く、安心して使用できるようです。
このほど、KE3000のデバイスサポートのバグフィックスを機に、netDevを(これを書いている時点で最新の)version 3.8.2にバージョンアップしました。このバージョンアップは、共通モジュールインターフェースの変更も含んでいますので、旧デバイスサポートの変更も必要です。このバージョンアップに伴う作業について、まとめました。

2.バージョンアップ手法

はじめに、とりあえず新netDevドライバをinstallします。今まではユーザーソースの近くにinstallしていましたが、共通モジュールなのでEPICS extensionソフトウエアとしてinstallします。
($EPICS_BASE)/../extenstionsの下のsrcにnetDevサブディレクトリと作り、その中に、netDevを展開します。3-8-2というサブディレクトリが出来て、その下に標準各種デバイスサポートが展開されているはずです。なお、今後バージョンが変わってもそのたびにRELEASEとかMakefileを書き直さなくて良いように、3-8-2をcurrentというサブディレクトリにシンボリックリンクしておきます。
currentの中に、ke3000用のデバイスサポートをコピーします。(chinoというサブディレクトリにします)。このデバイスサポート自体、次章で紹介する変更が必要です。変更後、 で、大変運が良ければエラー無くコンパイル出来、準備完了です。実際は昔入れていたnetDevの呪いはなかなか強く、あっちこっちに痕跡が残っており、make -distclean位では消えてくれないので、手で修正する必要があると思われます。具体的にどこを修正すべきかは、昔どこに、どんな形でnetDevが入っていたかにより異なります。私の場合は、fblinuxInclude.dbdを手で書き直す必要がありました。

3.EPICSデバイスサポート(KE3000用)の変更

netDevのバージョンアップに伴い、共通モジュールのインターフェースも変更となりました。これに伴い、KE3000用のデバイスサポートの変更も必要となります。 全ソースコードは以下のようになります。

4.おわりに

netDevのメジャーバージョンアップ、さらにそれに伴うデバイスサポートの変更についてご紹介しました。実際の作業は、ほぼ100%小田切さんにしていただきました。すまんことですのう。感謝します。
mailto: makoto.tobiyama@kek.jp
Last update: 31/Mar/2006