Configuration for ioc-b34-cd43

There are many parts that need to be consistent, and many of our failed boots were from inconsistency in kernel version, 32 vs. 64 bit, software in /afs/slac/g/lcls/epics/R3-14-12-4_1-0 vs /afs/slac/g/lcls/epics/ etc.

BPM configuration on 4-8-2015:

ioc-b34-cd43.ipxe

kernel vers 3.2.13-121108

set extra-args ROOTPATH=afsnfs2:/afs/slac:/afs/slac

ioc-b34-cd43/startup.cmd

/afs/slac/g/lcls/epics/iocCommon/All/Dev/linuxRT_nfs.cmd

/afs/slac/g/lcls/epics/iocCommon/ioc-b34-cd43/kernel-modules.cmd

echo -n 1 > /sys/module/spurious/parameters/noirqdebug

su laci -c /afs/slac/g/lcls/epics/iocCommon/ioc-b34-cd43/startup-laci-rt.cmd

ioc-b34-cd43/kernel-modules.cmd

KERNEL_DRIVER_HOME=/afs/slac/g/lcls/package/linuxKernel_Modules

SIS8300_DRIVER=$KERNEL_DRIVER_HOME/sis8300drv/Branch_Straumann

PCI_EVR_DRIVER=$KERNEL_DRIVER_HOME/pci_mrfevr_linuxRT/buildroot-uclibc-x86

insmod $PCI_EVR_DRIVER/pci_mrfevr.ko

$PCI_EVR_DRIVER/module_load

modprobe uio

insmod $SIS8300_DRIVER/sis8300drv.ko

chmod ugo+wr /dev/sis*

ln -s /afs/slac/g/lcls/epics/iocCommon/ioc-b34-cd43 /home/root/bpm \[NOTE: should be /root, not /home/root, produced error message\]

ioc-b34-cd43/startup-laci-rt.cmd all viocs commented out

ioc-b34-cd43/startupConsole-laci-rt.cmd

standard ulimit/umask lines

nfs and kernel-module lines, redundant with startup.cmd

cd /afs/slac/g/lcls/epics/iocCommon/ioc-b34-cd43/vioc-in10-bp02

bin/bpmApp iocStartup.cmd

ioc-b34-cd43/vioc-in10-bp02/iocStartup.cmd

Standard pre/post

chdir("/afs/slac/g/lcls/epics/iocTop/Bpm/sonya/Bpm-R9-5-6/iocBoot/vioc-in10-bp02")

../../bin/linuxRT-x86/bpmApp

iocsh("st.cmd")

eltc(0)

 

Configuration now running for EVR test only

ioc-b34-cd43.ipxe

kernel vers 3.14.12-rt9_x86_64

set extra-args ramdisk_size=524288 ROOTPATH=lcls-dev3:/afs/slac:/afs/slac BOOTFILE=/afs/slac/g/lcls/epics/R3-14-12-4_1-0/iocCommon/ioc-b34-cd43/startup.cmd

ioc-b34-cd43/startup.cmd

Soft link to $IOC/All/Dev/linuxRT_startup_cpu.cmd

Changed path to caRepeater:

su laci -c /afs/slac/g/lcls/epics/R3-14-12-4_1-0/base/base-R3-14-12-4_1-0/bin/linuxRT-x86_64/caRepeater&

Should we move caRepeater to kernel-modules.cmd? Is there a way to use the same script for 32 and 64 bit systems, and systems with different Base versions?

ioc-b34-cd43/kernel-modules.cmd

KERNEL_DRIVER_HOME=/afs/slac/g/lcls/package/linuxKernel_Modules

SIS8300_DRIVER=$KERNEL_DRIVER_HOME/sis8300drv/Branch_Straumann

PCI_EVR_DRIVER=$KERNEL_DRIVER_HOME/pci_mrfevr_linuxRT/buildroot-uclibc-x86_64

^ NOTE: Changed to _64 version ^

insmod $PCI_EVR_DRIVER/pci_mrfevr.ko

$PCI_EVR_DRIVER/module_load

modprobe uio

insmod $SIS8300_DRIVER/sis8300drv.ko

chmod ugo+wr /dev/sis*

ln -s /afs/slac/g/lcls/epics/iocCommon/ioc-b34-cd43 /home/root/bpm \[NOTE: should be /root, not /home/root, produced error message\]

ioc-b34-cd43/startupConsole-laci-evrLab.cmd

standard ulimit/umask lines

cd /afs/slac/g/lcls/epics/iocCommon/vioc-b34-ev43

iocSpecificRelease/bin/linuxRT-x86_64/evrLab iocStartup.cmd

vioc-b34-ev43/iocStatup.cmd

epicsEnvSet("IOC_APP","/afs/slac/g/lcls/epics/R3-14-12-4_1-0/iocTop/evrLab/MAIN_TRUNK")

epicsEnvSet("IOC_BOOT","${IOC_APP}/iocBoot/vioc-b34-ev43")

cd ${IOC_BOOT}

< st.cmd

ev43 screen added to Dev Event IOCs... screen

EVR Testing notes

All PMC EVRs had firmware 1107.

Tested with pci_mrfevr_linuxRT/buildroot-uclibc-x86\[_64\] driver, 32/64 bit driver with 32/64 bit kernel.

Initial testing with Bpm software use event-R4-1-0

Testing with Kukhee where we didn't have the button to make output 4 work (wrong screen used) was 32 bit version of evrLab app, event R4-1-5

Using this test setup with Vadatech carrier and breakout box, outputs 0-9 work. Trying to use outputs 10 and up produces error messages about pulse generators.

More notes from Garth & Kukhee testing:

1. HYTEC AMC carrier has an issue with interrupt. The EVR could not generate interrupt with the carrier. Garth and Kukhee did double check the EVR generates interrupts with other carrier: Vadatech. So, we isolated an issue on the HYTEC carrier.

2. The rear transition module works with the HYTEC carrier. But, the 4th channel is missing somehow. Other 6 channels work well.

3. The messages related pulse generator. There are limited number of pulse generated in the PMC module. So, we could not activate more than 10 triggers at the same times. If we tried to enable more than 10 triggers, we can see the message Sonya saw.

Later testing where we got channel 4 working, found no problems with channel mapping, was with 64 bit version of evrLab app, event-R4-1-5

The Fail LED flashes occasionally when using the HYTEC carrier card.

Check if interrupts are happening with this command: cat /proc/interrupts | grep mrf

You should see the numbers increasing at 720+ Hz.

The MRF EVR uses PLX9030 bridge chipset, the kernel driver set up the interrupt polarity active high.

 

 

  • No labels