Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • When only one datadev device is found in /dev or /proc when two are expected, the BIOS PCIe bifurcation parameter may need to be changed from "auto" or "x16" to "x8x8" for the NUMA node (slot) containing the PCIe bus holding the KCU card
    • If the BIOS PCIe bifurcation parameter seems to be missing (was the case for the SRCF DRP machines), the BIOS version may be out of date and need updating.  See Updating the BIOS.
  • kcuSim -t (resets timing counters)
  • kcuSim -s (dumps stats)
  • kcuSim -c (setup clock synthesizers)
  • Watch for these errors: RxDecErrs 0 RxDspErrs 0
  • reload the driver with "systemctl restart tdetsim"
  • currently driver is in /usr/local/sbin/datadev.ko, should be in /lib/modules/<kernel>/extra/
  • reloading the driver does a soft-reset of the KCU (resetting buffer pointers etc.).
  • if the soft-reset doesn't work, power-cycle is the hard-reset.
  • program with this command:  "python software/scripts/updatePcieFpga.py --path ~weaver/mcs/ --dev /dev/datadev_1" (datadev_1 if we're overwriting a TDET kcu, or could be a datadev_0 if we're overwriting another firmware image)
  • to see the optical powers Matt says we should run the software in psdaq/psdaq/pykcu:

    Code Block
    drp-neh-cmp001:~$ pykcu -d /dev/datadev_1 -P DAQ:NEH &
    Rogue/pyrogue version v5.9.3. https://github.com/slaclab/rogue
    Start: Started zmqServer on ports 9103-9105
    ClkRates:  (185.987104, 185.974688)
    RTT:  ((0, 0), (0, 0), (0, 0), (0, 0))
    drp-neh-cmp001:~$ pvget DAQ:NEH:DRP_NEH_CMP001:MON
    DAQ:NEH:DRP_NEH_CMP001:MON 2021-12-03 18:46:38.708
     RxPwr TxBiasI FullTT nFullTT
    3.7888       0      0       0
         0       0      0       0
         0       0      0       0
         0       0      0       0
    drp-neh-cmp001:~$ 
  • this is the correct firmware to program into the kcu:

    Code Block
    drp-neh-cmp001:~$ ls -rtl ~weaver/mcs/*TDet*2020*
    -rw-r--r-- 1 weaver ec 31345008 Jun 12  2020 /cds/home/w/weaver/mcs/DrpTDet-20200612_primary.mcs
    -rw-r--r-- 1 weaver ec 31345008 Jun 12  2020 /cds/home/w/weaver/mcs/DrpTDet-20200612_secondary.mcs
    drp-neh-cmp001:~$ 

configdb Utility

From Chris Ford.  See DAQ configdb CLI Notes.  Supports ls/cat/cp.  For example:

Code Block
configdb cp --user rixopr --password <usual> tmo/BEAM/tmo_atmopal_0 rix/BEAM/atmopal_0

KCU Firmware

NOTE: Some KCU firmware (notably the hsd image named DrpPgpIlv) is reprogrammed over /dev/datadev_1.  If an attempt to update the firmware fails with updatePcieFpga.py throwing 'ValueError: Invalid promType', try again with '--dev /dev/datadev_1' added to the arguments.  Also, some images don't automatically detect the prom type.  A general KCU firmware reprogramming command would be:

...

  • use this to check state of the pgp link, and the readout group, size and link mask (instead of kcuStatus): kcuSim -s -d /dev/datadev_0
  • use this to configure readout group, size, link mask: kcuSimValid -d /dev/datadev_0 -c 1 -C 2,320,0xf
    • I think this hangs because it's trying to validate a number of events (specified with the -c argument?)

configdb Utility

From Chris Ford.  See DAQ configdb CLI Notes.  Supports ls/cat/cp.  For example:

Code Block
configdb cp --user rixopr --password <usual> tmo/BEAM/tmo_atmopal_0 rix/BEAM/atmopal_0

TEB/MEB

(conversation with Ric on 06/16/20 on TEB grafana page)

...