kazuo.nakayosi@kek.jp
Linux がインストールされたデスクトップ PCから,VMEbus の各種モジュールを制御 する方法としてSBS Bit3 616/617/618/620 を利用した方法について説明します。 このハードウエアはデスクトップ PC の PCI スロットに差すための PCI カードと VME クレートに入れるための VME モジュールと両者をつなぐケーブルから構成されて います. Linux のカーネルが 2.0.x, 2.2.x の頃に Bit3 616/617 とそのLinux用デバイス ドライバ vmehb(NIKEF, Natalia)および vmelib(KEK, 仲吉)を用いて Linuxから VMEbus へアクセスする方法を紹介していたが,現在 vmehb はその開発が止まって おりカーネル 2.4.x 以降は利用できないこと,また Bit3 製品のラインナップ も変化があったため文章をリニューアルすることにした.
システムの性能をつぎのような環境で測定した.
PC :PenII 300 MHz
OS :Linux 2.4.18
Driver: vmedrv-0.4.3
Slave: Chrislin CIVME64(Memory Board)
Data Width: 32bit
BGO-BGI BR o-o o o BA o-o o-o 3 o o 0 o o-o o 2 o o 1 o o-o o 1 o o 2 o o-o o 0 o-o 3
o o 1 o-o 2 o-o 3 o-o 4 o-o 5 o-o 6 o o 7
PC と VME Crate の電源を入れ,両システムのアダプターの LED が光っていることを確認する.
ソフトウエアの設定について説明します.本文中で % typewriter
とあった
場合, typewriter
とタイプしてリターンキーを押すことを意味します.
%
は一般ユーザ,#
はスーパユーザのときの
Shell のプロンプトを表します.
vmedrv のファイルをダウンロードし,展開する
% tar zxvf vmehb-1.4.tgz
root になり # insmod vmedrv
を実行後,dmesg
コマンドでドライバーのロードが正常に行われたか確認する.
以下に成功した場合の出力例(618の場合)を示す.
# insmod vmedrv
# dmesg
vmedrv: SBS(Bit3) Model 618/620 VME-PCI Bus Adapter is detected at ioport 0xb800 on irq 9. I/O Mapped Node at 0xb800. Memory Mapped Node at 0xe0800000. Mapping Register at 0xe0000000. Remote Memory at 0xde000000. remapping pci memories... memory mapped node: --> 0xcc8e2000 mapping regs: --> 0xce91a000 window base: --> 0xce92b000 Adapter ID (I/O): 0x83 Adapter ID (mem): 0x83 vmedrv: successfully installed at 0xb800 on irq 9 (major = 254).
以下に成功例を示す.
% cat /proc/devices
Character devices: 1 mem 2 pty 3 ttyp 4 ttyS 5 cua 7 vcs 10 misc 29 fb 36 netlink 128 ptm 129 ptm 130 ptm 131 ptm 132 ptm 133 ptm 134 ptm 135 ptm 136 pts 137 pts 138 pts 139 pts 140 pts 141 pts 142 pts 143 pts 162 raw 180 usb 254 vmedrv <=== OK
% cat /proc/ioports
0000-001f : dma1 0020-003f : pic1 0040-005f : timer 0060-006f : keyboard 0070-007f : rtc 0080-008f : dma page reg 00a0-00bf : pic2 00c0-00df : dma2 00f0-00ff : fpu 02f8-02ff : serial(auto) 03c0-03df : vga+ 03f8-03ff : serial(auto) 0cf8-0cff : PCI conf1 b400-b47f : Digital Equipment Corporation DECchip 21140 [FasterNet] b400-b47f : tulip b800-b81f : Bit3 Computer Corp. VME Bridge Model 618 b800-b81f : vmedrv <=== OK d000-d0ff : Adaptec AIC-7880U d400-d41f : Intel Corp. 82371AB PIIX4 USB d400-d41f : usb-uhci d800-d80f : Intel Corp. 82371AB PIIX4 IDE d800-d807 : ide0 d808-d80f : ide1 e400-e43f : Intel Corp. 82371AB PIIX4 ACPI e800-e81f : Intel Corp. 82371AB PIIX4 ACPI
% cat /proc/interrupts
CPU0 0: 17513272 XT-PIC timer 1: 663 XT-PIC keyboard 2: 0 XT-PIC cascade 8: 1 XT-PIC rtc 9: 82786 XT-PIC aic7xxx, usb-uhci, vmedrv <=== OK 10: 12753210 XT-PIC eth0 12: 1932 XT-PIC PS/2 Mouse NMI: 0 ERR: 0