How-To: Check a FEC
This How-To describes how to check a FEC works properly with respect to features provided by the GMT.
This is just a start ...
- White Rabbit:
eb-mon -v dev/wbm0
saft-ctl bla -fijs
saft-ctl bla -fvx snoop 0x0 0x0 0 (if nothing happens, inject an message locally)
ssh to the FEC. Use
to check that the stack of the GMT (FPGA, driver, wishbone driver, Etherbone) is working properly up to Etherbone.
[ruth@scuxl0815 ~]# eb-ls dev/wbm0
throws an error at you, try to figure out what went wrong by checking boot messages.
- check for drivers
- remotely with Diagnostic Logging using 'openseach' (use s.th. like 'host:scuxl0815' as search string)
ssh to the FEC. Use some
to check the full stack of the GMT (FPGA, drivers, Etherbone, dbus, saftlib) is working properly.
[ruth@scuxl0815 ~]# saft-ctl bla -fijs
throws errors at you
- check that the stack works up to Etherbone (see above).
- check log file -> /tmp/saftd.log
- If things up to Etherbone work, try to figure out what the problem might be
- on the FEC, use
ps to check that "dbus-daemon" and "saftd" are running
- if not, check boot messages locally with "dmesg" or remotely with Diagnostic Logging
The versions of gateware, etherbone (and drivers) and saftlib must match the ones of the relevant release
eb-info dev/wbm0 or
saft-ctl bla -fk : gateware
eb-mon -e dev/wbm0 : Etherbone (typically, drivers are rolled out together with Etherbone)
saft-ctl bla -fi : saftlib
Saftlib and ECA
to test the functionality of ECA and saftlib.
- open a 1st ssh session to the FEC and start snooping to all events
saft-ctl bla -fvx snoop 0x0 0x0 0 . In case no timing messages are received from a a remote data master, do the following
- open a 2nd ssh session to the FEC and inject a timing message to the input of the ECA
saft-ctl bla -fp inject 0xffff000000000000 0x0 0
- verify an action has been triggered in the 1st session
ssh to the FEC. Use
to check a few things of White Rabbit.
[ruth@scuxl0815 ~]# eb-mon -v dev/wbm0
EB version / EB source: etherbone 2.1.2 (v2.1.2): Jun 1 2021 16:58:15 / built by ahahn on Nov 1 2021 09:31:23 with asl743.acc.gsi.de running CentOS Linux release 7.9.2009 (Core)
WR_time - host_time [ms]: 36991.744 // difference between timestamp of White Rabbit and host system. Should match the number of leap seconds * 1000.
Current TAI: 2023-11-08 13:35:15 GMT (242717 us), 1699450515242717 us // data time (fractional part of seconds [us]), time since 1 January 1970 [us]
Sync Status: TRACKING // White Rabbit synchronization status, here "track phase"
MAC: 00267b0003a8 // MAC of White Rabbit interface
Link Status: LINK_UP // link status of White Rabbit interface
IP: 192.168.160.106 // IP of White Rabbit interface, an invalid ip is marked by '192.168.000.100'
FPGA uptime [h]: 0000001032.32 // uptime since last 'boot' of FPGA image, this might be different from the uptime of the host system
FPGA build type: fallout-v6.1.2 // version of FPGA image
-- Main.DietrichBeck - 08 Nov 2023