Difference between revisions of "SBS DAQ: GEM EEL125 GENRP setup"

From Hall A Wiki
Jump to: navigation, search
m
(Crate Reboot Information)
 
(17 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
:- Hosted at eel124gemdaq:4
 
:- Hosted at eel124gemdaq:4
 
:* XFCE Panel Menu for CODA Interface
 
:* XFCE Panel Menu for CODA Interface
 +
[[File:XFCE-panel_CODA.png|frameless|400px]]
 +
 +
::- '''Start CODA''' - Start CODA RunControl GUI and xterms to CODA components
 +
::- '''Restart Stuff''' - Restart the component programs (xterms stay live)
 +
::- '''Kill Coda''' - kill all CODA components and RunControl GUI
 +
::- '''CODA Component Table''' - edit the table that maps the component names to their hostnames
 +
 +
== Replay / Analyzer information ==
 +
Please add links here.
  
 
== coda_scripts ==
 
== coda_scripts ==
Line 37: Line 46:
  
 
== Useful stand-alone programs ==
 
== Useful stand-alone programs ==
=== <code>remex</code> ===
+
=== <tt>remex</tt> ===
<code>$CODA/Linux-i686/bin/remex <remexHost> <function call></code>
+
log into any machine first with the sbs-onl (e.g.)
 +
  ssh sbs-onl@eel124gemdaq
 +
  remex <remexHost> <function call>
 +
 
 
* Execute a function call on the specified remote Host
 
* Execute a function call on the specified remote Host
 
:- Run without arguments for usage
 
:- Run without arguments for usage
 +
==== Usage for setting trigger source ====
 +
Must be done after Download
 +
* TSINPUT
 +
  remex sbsvmeROC1 "rocSetTriggerSource(0)"
 +
* Random Pulser
 +
  remex sbsvmeROC1 "rocSetTriggerSource(1)"
 +
* Fixed Pulser
 +
  remex sbsvmeROC1 "rocSetTriggerSource(2)"
  
=== <code>tiLibTest</code> ===
+
===MPD programs===
<code>SBS-GEM-Cleanroom/linuxvme/ti/test/tiLibTest <TI slot number></code>
+
log into the VME Controller first with the sbs-onl (e.g.)
* Test triggering capabilities of the local TI.
+
  ssh sbs-onl@sbsvme30
:- Puts the local TI in master mode (with no slaves).
+
  cd ~/mpd-test/
:- Accepts triggers either from Front Panel TSinputs or Internal Random Pulser
+
  
=== <code>i2c_test</code>===
+
==== <tt>mpdStatus</tt> ====
<code>SBS-GEM-Cleanroom/linuxvme/mpd/libsrc/test/i2c_test <mpd slot number></code>
+
  mpdStatus <mpd slot number>
 +
* Show the status of MPD at slot <code><mpd slot number></code>
 +
:- Run without <code><mpd slot number></code> to scan all slots.
 +
 
 +
==== <tt>mpdApvConfig</tt> (formerly i2c_test)====
 +
  mpdApvConfig <mpd slot number> <configfile>
 
* Test the initialization and configuration of the APVs in the specified MPD.
 
* Test the initialization and configuration of the APVs in the specified MPD.
 
:- Does the same initialization that is done in <code>mpd_list.c:rocDownload()</code>
 
:- Does the same initialization that is done in <code>mpd_list.c:rocDownload()</code>
:- Also attempts the readback of the APV registers with <code>mpdApvStatus(0xffff)</code>
+
:- Also attempts the readback of the APV registers with <code>mpdApvStatus(0)</code>
 +
 
 +
==== <tt>mpdI2CScan</tt>====
 +
  mpdI2CScan <mpd slot number>
 +
* Scan i2c addresses for any APVs from MPD in specified slot number
 +
:- Configure those found APVs with some default register values
 +
:- Display the APV registers
 +
 
 +
==== <tt>mpdFiberStatus</tt>====
 +
  mpdFiberStatus <mpd slot number>
 +
* Display the status of the fiber transceiver
 +
 
 +
==== <tt>ProgramEpcs</tt>====
 +
  $LINUXVME/mpd/libsrc/firmware/ProgramEpcs -s <mpd_vme_slot> -v <firmware .jic file>
 +
* Update MPD firmware at specified VME address.
 +
:- Described in https://hallaweb.jlab.org/dvcslog/SBS/251
 +
 
 +
==== <tt>RunUserFpga</tt>====
 +
  $LINUXVME/mpd/libsrc/firmware/RunUserFpga -s <mpd_vme_slot> (-f)
 +
* Change between user and factory FPGA image.
 +
:- Described in https://hallaweb.jlab.org/dvcslog/SBS/251
 +
 
 +
 
 +
 
 +
=== VTP programs ===
 +
log into the VTP first with the sbs-onl. 
 +
  ssh sbs-onl@sbsvtp3
 +
  cd ~/vtp-test/
 +
 
 +
==== <tt>vtpMpdStatus</tt> ====
 +
  vtpMpdStatus
 +
* Show the status the VTP as well as its connected MPDs (those found with channel up)
 +
 
 +
==== <tt>vtpMpdInit</tt>====
 +
  vtpMpdInit  <i>cfgFileName</i>
 +
* Initialize VTP and their attached MPDs and APVs (those found with channel up)
 +
* If <i>cfgFileName</i> is provided, use it to define the MPD and APV to initialize
 +
 
 +
==== <tt>vtpMpdFiberStatus</tt>====
 +
  vtpFiberStatus
 +
* Show the status of all fiber channels on the VTP
 +
:- executes <code>vtpMpdPrintStatus(0, 0)</code>
 +
 
 +
==== <tt>vtpMpdSampleMode</tt>====
 +
  vtpMpdSampleMode
 +
* Dump raw adcs samples to file.
 +
* work in progress...
 +
 
 +
 
 +
=== other VME programs ===
 +
log into the VME controller first with the sbs-onl
 +
  ssh sbs-onl@sbsvme30
 +
 
 +
==== <tt>tiLibTest</tt> ====
 +
  $CODA_VME/ti/test/tiLibTest <TI slot number>
 +
* Test triggering capabilities of the local TI.
 +
:- Puts the local TI in master mode (with no slaves).
 +
:- Accepts triggers either from Front Panel TSinputs or Internal Random Pulser
  
=== <code>vme_display</code> ===
+
==== <tt>vme_display</tt> ====
<code>SBS-GEM-Cleanroom/linuxvme/bin/vme_display <VME Address> <read size in bytes></code>
+
  vme_display <VME Address> <read size in bytes>
 
* Display the read value of specified size from the specified VME address.
 
* Display the read value of specified size from the specified VME address.
 
:- Run without arguments for usage
 
:- Run without arguments for usage
  
=== <code>vme_modmem</code> ===
+
==== <tt>vme_modmem</tt> ====
<code>SBS-GEM-Cleanroom/linuxvme/bin/vme_modmem <VME Address> <read/write size in bytes></code>
+
  vme_modmem <VME Address> <read/write size in bytes>
 
* Modify the value of specified size of the specified VME address.
 
* Modify the value of specified size of the specified VME address.
 
:- Run without arguments for usage
 
:- Run without arguments for usage
 
=== <code>mpdApvDecode</code> ===
 
<code>bryan/mpdApvDecode/mpdApvDecode -f <evio filename></code>
 
* Decode the raw data from the MPDs/APVs
 
:- Local compilation of [https://github.com/JeffersonLab/mpdApvDecode JeffersonLab/mpdApvDecode]
 
:- Command-line options
 
'''-m N'''          set max event number to ''N''
 
'''-s N'''          skip events until ''N''
 
'''-e'''            show only errors
 
'''-f filename'''  set input to ''filename'' 
 
'''-o filename'''  redirect all output to ''filename''
 
'''-C filename'''  use ''filename'' instead of ''decode.cfg'' for configuration
 
  
 
== Extra packages installed ==
 
== Extra packages installed ==
Line 81: Line 150:
 
== Machines in use ==
 
== Machines in use ==
  
==== atedf3 ====
+
* [https://docs.google.com/spreadsheets/d/1NjT90-pTO87Sq5fKAt4BCIXO0QZ9EzTmpvpefI64Cm8/edit#gid=0 Spreadsheet with EEL/125 GEM network devices]
* NFS server, tftp server for VME Controllers
+
:* CODA and hardware drivers in <code>/data/disk2/SBS/</code>
+
  
:* Read-only permissions for all machines in 36 subnet
+
==== Crate Reboot Information ====
:* Read-Write permissions for '''hallavme12pc''','''sbsvme25'''
+
  
==== hallavme12pc ====
+
These links are in the Firefox Bookmarks bar in the VNC sessionThey will only work from a machine within the Hall A VLAN group.
* DAQ Computer (RunControl, Event Building)
+
:* Mount <code>atedf3:/data/disk2/SBS</code> to <code>/mnt/SBS</code>
+
::- Uses autofs<code>/etc/auto.SBS</code> should be included in a line in <code>/etc/auto.master</code>
+
:'''Restart procedure if not mounted after reboot'''
+
::Option 1: (preferred)
+
:::- logout of coda
+
:::- login as root
+
::::<code>cp /etc/auto.master_SBS /etc/auto.master</code>
+
::::<code>service puppet stop</code>
+
::::<code>service autofs restart</code>
+
:::- login normally as coda
+
::Option 2:
+
:::- logout of coda
+
:::- login as root
+
::::<code>mount atedf3:/data/disk2/SBS /mnt/SBS</code>
+
:::- login normally as coda
+
  
:* Softlinks in <code>/home/coda/SBS-GEM-Cleanroom</code>
+
* MPD crates are plugged into an APC reboot switch
 +
** http://sbsgemreboot1/
 +
* VXS (VTP) crates can be powercycled through their network interface
 +
** http://sbsgemcrate01.jlab.org
 +
** http://sbsgemcrate02.jlab.org
  
::* <code>coda/</code> CODA (3.10)
+
==== adaq1 + adaqfs ====
 +
* NFS server, tftp server for VME Controllers and VTP
  
::* <code>linuxvme</code> (in CODA 3.10 directory)
+
==== eel124gemdaq ====
 +
* DAQ Computer (RunControl, Event Building)
  
::* <code>data</code> (filename format: gem_cleanroom_<run number>.evio.<split number>
+
:* CODA Relevant Directories in <code>/home/sbs-onl/SBS-GENRP</code>
  
==== hallavme14pc ====
+
::* <code>coda/</code> CODA (3.10_devel)
* XVB601 VME Controller
+
::* 'daq' login
+
::* Slots 2-8, 10-16: MPDs
+
::* Slot 10: TI
+
::* Softlinks in <code>/home/daq/SBS-GEM-Cleanroom</code>
+
  
==== sbsvme25 ====
+
::* <code>coda_scripts</code> coda_scripts used by all DAQ machines.
:* XVB601 VME Controller
+
::* 'daq' login
+
::* Slots 2-8, 10-16: MPDs
+
::* Slot 21: TI
+
::* Softlinks in <code>/home/daq/SBS-GEM-Cleanroom</code>
+
  
== Updated/Cloned New repos in coda/3.10/linuxvme ==
+
::* <code>coolDB</code> COOL database
  
github links ([https://github.com/orgs/JeffersonLab/teams/coda-user team:coda-user]):
+
::* <code>logentry_scripts</code> Programs and scripts used to generate log entries.
* [https://github.com/JeffersonLab/jvme jvme]
+
* [https://github.com/JeffersonLab/ti ti]
+
* [https://github.com/JeffersonLab/ssp ssp]
+
* [https://github.com/JeffersonLab/mpd mpd]
+
  
Added /site remote with (e.g. jvme, devel branch)
+
==== sbsvme31 ====
  cd jvme
+
:* VME Controller
  git remote add site /site/coda/contrib/devel/jvme
+
::* '''sbsvmeROC1'''
  git pull site devel
+
::* 'sbs-onl' login
 +
::* Slot 10: VTP (sbsvtp2)
 +
::* Slot 11: SD
 +
::* Slot 21: TI (Master Mode)
  
== CODA environment setup script ==
 
  
Using BASH, source the environment setup script:
+
==== sbsvtp2 ====
 +
:* VTP
 +
::* '''sbsvtpROC2'''
 +
::* 'sbs-onl' login
  
source ~/SBS-GEM-Cleanroom/env/setupCODA
+
==== sbsvme24 ====
 +
* VME Controller
 +
::* '''sbsvmeROC3'''
 +
::* 'sbs-onl' login
 +
::* Slot 10: VTP (sbsvtp4)
 +
::* Slot 11: SD
 +
::* Slot 21: TI (Slave Mode)
  
== Stuff to finish ==
+
==== sbsvtp4 ====
 +
:* VTP
 +
::* '''sbsvtpROC4'''
 +
::* 'sbs-onl' login
  
=== Replace hallavme12pc ===
 
* Install OS
 
* Use same mount scripts used on hallavme12pc
 
* Use local storage for data.
 
  
===Add SSP crate===
+
VXS crates
* Figure out it's hostname
+
* Get it to boot just like the other ROCs
+
* Check TI
+
* Check SSP
+
* Check MPD (for checking/debugging APVs)
+
* Tell Ben we're ready to start connecting fiber from MPD to SSP
+
  
===Log CODA runs to [https://logbooks.jlab.org/book/superbigbite logbooks/superbigbite]===
+
sbsgemcrate01.jlab.org
* check out code used by Hall A's CODA 2.x
+
IP Address
* from Alex:
+
129.57.196.34
:- <code>epicsRunstart</code>
+
:- <code>epicsRunEnd</code>
+
:- <code>runstart.tcl</code>
+
:- <code>runend.tcl</code>
+
  
===Add scripts and GEM-cleanroom specific configuration files to a remote git repo===
+
sbsgemcrate02.jlab.org
:- <code>.bashrc</code>
+
IP Address
:- <code>setupCODA</code>
+
129.57.196.35
:- <code>~/bin/*</code>
+
 
 +
== Stuff to finish ==

Latest revision as of 16:18, 19 January 2022

vnc desktop

- Hosted at eel124gemdaq:4
  • XFCE Panel Menu for CODA Interface

XFCE-panel CODA.png

- Start CODA - Start CODA RunControl GUI and xterms to CODA components
- Restart Stuff - Restart the component programs (xterms stay live)
- Kill Coda - kill all CODA components and RunControl GUI
- CODA Component Table - edit the table that maps the component names to their hostnames

Replay / Analyzer information

Please add links here.

coda_scripts

- github page
- Scripts locations:
  • sbs-onl@sbsvtp2 (and all other ROCs)
- ~/coda_scripts/
  • sbs-onl@eel124gemdaq
- ~/SBS-GENRP/coda_scripts/
  • Note that these are soft-links to
- /adaqfs/home/sbs-onl/sbsgem/coda_scripts/

Frontend scripts to use on eel124gemdaq

startCoda

  • executes each CODA component (platform, rcgui, PEB, ER, all ROCs) in a separate xterm

restartStuff

  • kills and restarts the PEB and ROCs. The xterms are not killed with this script.

kcoda

  • kills all CODA components

Backend scripts, called by the frontend scripts

remote_vme

  • script that restarts an ssh connection if it is closed.

startPEB.sh

  • script that launches coda_emu_peb. restarts it when it is killed.

startER.sh

  • script that launches coda_emu_er. restarts it when it is killed.

startROC.sh

  • script for sbsvme31, sbsvme24 that launches coda_roc with a ROC name determined from the coda_component_table.cfg

startFPGA.sh

  • script on sbsvtp2, sbsvtp4 that launches coda_roc with a ROC name determined from the coda_component_table.cfg

kill_remotes.sh

  • kills off all start*.sh processes.

Useful stand-alone programs

remex

log into any machine first with the sbs-onl (e.g.)

 ssh sbs-onl@eel124gemdaq
 remex <remexHost> <function call>
  • Execute a function call on the specified remote Host
- Run without arguments for usage

Usage for setting trigger source

Must be done after Download

  • TSINPUT
 remex sbsvmeROC1 "rocSetTriggerSource(0)"
  • Random Pulser
 remex sbsvmeROC1 "rocSetTriggerSource(1)"
  • Fixed Pulser
 remex sbsvmeROC1 "rocSetTriggerSource(2)"

MPD programs

log into the VME Controller first with the sbs-onl (e.g.)

 ssh sbs-onl@sbsvme30
 cd ~/mpd-test/

mpdStatus

 mpdStatus <mpd slot number>
  • Show the status of MPD at slot <mpd slot number>
- Run without <mpd slot number> to scan all slots.

mpdApvConfig (formerly i2c_test)

 mpdApvConfig <mpd slot number> <configfile>
  • Test the initialization and configuration of the APVs in the specified MPD.
- Does the same initialization that is done in mpd_list.c:rocDownload()
- Also attempts the readback of the APV registers with mpdApvStatus(0)

mpdI2CScan

 mpdI2CScan <mpd slot number>
  • Scan i2c addresses for any APVs from MPD in specified slot number
- Configure those found APVs with some default register values
- Display the APV registers

mpdFiberStatus

 mpdFiberStatus <mpd slot number>
  • Display the status of the fiber transceiver

ProgramEpcs

 $LINUXVME/mpd/libsrc/firmware/ProgramEpcs -s <mpd_vme_slot> -v <firmware .jic file>
  • Update MPD firmware at specified VME address.
- Described in https://hallaweb.jlab.org/dvcslog/SBS/251

RunUserFpga

 $LINUXVME/mpd/libsrc/firmware/RunUserFpga -s <mpd_vme_slot> (-f)
  • Change between user and factory FPGA image.
- Described in https://hallaweb.jlab.org/dvcslog/SBS/251


VTP programs

log into the VTP first with the sbs-onl.

 ssh sbs-onl@sbsvtp3
 cd ~/vtp-test/

vtpMpdStatus

 vtpMpdStatus
  • Show the status the VTP as well as its connected MPDs (those found with channel up)

vtpMpdInit

 vtpMpdInit  cfgFileName
  • Initialize VTP and their attached MPDs and APVs (those found with channel up)
  • If cfgFileName is provided, use it to define the MPD and APV to initialize

vtpMpdFiberStatus

 vtpFiberStatus
  • Show the status of all fiber channels on the VTP
- executes vtpMpdPrintStatus(0, 0)

vtpMpdSampleMode

 vtpMpdSampleMode
  • Dump raw adcs samples to file.
  • work in progress...


other VME programs

log into the VME controller first with the sbs-onl

 ssh sbs-onl@sbsvme30

tiLibTest

 $CODA_VME/ti/test/tiLibTest <TI slot number>
  • Test triggering capabilities of the local TI.
- Puts the local TI in master mode (with no slaves).
- Accepts triggers either from Front Panel TSinputs or Internal Random Pulser

vme_display

 vme_display <VME Address> <read size in bytes>
  • Display the read value of specified size from the specified VME address.
- Run without arguments for usage

vme_modmem

 vme_modmem <VME Address> <read/write size in bytes>
  • Modify the value of specified size of the specified VME address.
- Run without arguments for usage

Extra packages installed

Machines in use

Crate Reboot Information

These links are in the Firefox Bookmarks bar in the VNC session. They will only work from a machine within the Hall A VLAN group.

adaq1 + adaqfs

  • NFS server, tftp server for VME Controllers and VTP

eel124gemdaq

  • DAQ Computer (RunControl, Event Building)
  • CODA Relevant Directories in /home/sbs-onl/SBS-GENRP
  • coda/ CODA (3.10_devel)
  • coda_scripts coda_scripts used by all DAQ machines.
  • coolDB COOL database
  • logentry_scripts Programs and scripts used to generate log entries.

sbsvme31

  • VME Controller
  • sbsvmeROC1
  • 'sbs-onl' login
  • Slot 10: VTP (sbsvtp2)
  • Slot 11: SD
  • Slot 21: TI (Master Mode)


sbsvtp2

  • VTP
  • sbsvtpROC2
  • 'sbs-onl' login

sbsvme24

  • VME Controller
  • sbsvmeROC3
  • 'sbs-onl' login
  • Slot 10: VTP (sbsvtp4)
  • Slot 11: SD
  • Slot 21: TI (Slave Mode)

sbsvtp4

  • VTP
  • sbsvtpROC4
  • 'sbs-onl' login


VXS crates

sbsgemcrate01.jlab.org IP Address 129.57.196.34

sbsgemcrate02.jlab.org IP Address 129.57.196.35

Stuff to finish