Locked History Actions

VMIVME

VMIVME

MEMO(VME-7807RC)

  • Ethernet の LAN cable は G2 につなぐ。10/100 につなぐと、以下のメッセージが出る。
  • PXE-E61: Media test failure, check cable
  • VME-7807RC の特定の個体では IRQ の番号が以下のように eth0 とかぶる場合がある。
    • # cat /proc/interrupts                                                         
                 CPU0       
        0:    1335818          XT-PIC  timer
        2:          0          XT-PIC  cascade
       11:      12181          XT-PIC  eth0, babildrv
      NMI:          0 
      ERR:          0
  • このような場合、インタラプトがかかっているかどうかをデバッグする際に面倒になる(thanks to 久保田君)。なぜなら、DAQ でインタラプトがかかっているのか、ネットワークのインタラプトがかかっているのかわからなくなるため。例えば、 DAQ の IRQ がかかっているかどうかをチェックする場合、driver の babildrv.c の babildrv_interrupt() という関数の中に、
  • printk("babildrv: interrupt occur!");
  • といったメッセージを書いて、インタラプトがかかっているかを確認する。しかし、eth0 と IRQ がかぶっている場合、DAQ からのインタラプトが無くても、上記メッセージが出力されてしまう。久保田君曰く、これを変えるのは難しいらしい。他のVMIVME を使うのか良い。
  • SAMURAI のネットワークのルータ (型番確認) に SHARAQ の VMIVME を Ethernet ケーブルで直接つなぐと、IP をとってこないことがあった。なぜか Ethernet HUB をかませると、IP アドレスとちゃんと取得して PXEブートした。なんで?
  • RIBF のネットワークで PXE boot をした場合、g01 の /home/daq/daqconfig/<host name> というディレクトリを NFS でマウントする。さらに、シェルスクリプト g01:/home/daq/daqconfig/<host name>/init/daqbootrc を実行する。このスクリプトの中身は以下のようになる。

  • #/bin/sh
    
    echo 5 > /proc/sys/kernel/panic
    /usr/babirl/bin/babimo
    /usr/babirl/bin/babies -l <EFN>
    /home/daq/daqconfig/<host name>/init/daqinitrc
  • ここで、シェルスクリプト /home/daq/daqconfig/<host name>/init/daqinitrc を実行しているが、このシェルスクリプトに問題があると以下のところで止まる。

  • ...
    bb-universe : registerd
    nbbqvio : nbbqvio was installed.
    bi-tcp.mktcpsock: Can't bind socket.
    : Address already in use
    babies: normal linux mode
    babildrv : babildrv was installed (irq 11).
  • 正しく起動すると、以下のようなプロンプトが出る。
  • <host name> login:_
  • VMIVME がちゃんとささってないと、/usr/nbbq/bin/cmdvme が途中で止まったり、正しい値を読んでこなかったりする。
    • # /usr/nbbq/bin/cmdvme -lr 0x38000004                                          
      0x38200110  / 941621520