diff --git a/regressiontest/fw_tests.txt b/regressiontest/fw_tests.txt
index b038191d0b90ba22b261f49ba54a0b2820b5cb17..a6dcf250c01c3a8a1b1ccf8562c0a772547d73cf 100644
--- a/regressiontest/fw_tests.txt
+++ b/regressiontest/fw_tests.txt
@@ -32,6 +32,9 @@
 #   > SDPTR_PORT=4842
 #   and then copy paste the command line from this fw_tests.txt into the
 #   terminal.
+# . SDP FW reboot:
+#   > sdp_firmware.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --reboot --image USER
+#   > sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -r firmware_version
 # References:
 # [1] XST offload,
 #     https://support.astron.nl/confluence/display/L2M/L3+SDP+Testing+Notebook%3A+Subband+correlator+and+XST+offload
@@ -46,6 +49,14 @@
 # for --host use ${SDPTR_IP}
 # for --port use ${SDPTR_PORT}
 
+############################################################################
+# Optional SDP FW reboot
+
+#sdp_firmware.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --reboot --image USER
+#sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -r firmware_version
+#sleep 25
+#sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -r firmware_version
+
 ############################################################################
 # Monitor only
 
@@ -53,39 +64,56 @@ sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r software_version
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r hardware_version
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r firmware_version
 
-
-############################################################################
-# Diagnostics
+sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r pps_capture_cnt
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r pps_error_cnt
 ucp_status.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v --reset
 
 ############################################################################
-# Self tests
+# Setups
+
+# Disable processing during ring_common --setup
+sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -w processing_enable [False]*16
+
+# Setup ring nodes and cables
+ring_common.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -vv --setup
 
-# SDP info (some value != 0 to recognize in header tests)
+# Setup beamlets lane and crosslets lane and enable processing
+stat_stream_bst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --setup-lane
+stat_stream_xst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --setup-lane
+
+# Setup XST of default subband select, integration interval, nof_crosslets and enable XST processing
+stat_stream_xst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --setup-xst --xst-proc ON
+
+# Setup SDP info (some value != 0 to recognize in header tests)
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -vv -w sdp_info_antenna_field_index [41]*16
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -vv -w sdp_info_station_id [602]*16
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -vv -w sdp_info_observation_id [12345678]*16
 
+############################################################################
+# Monitor only
+
+sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r pps_error_cnt
+
+# Beamlets are streaming on ring when processing_enable
+sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r bf_ring_rx_latency
+
+# Crosslets are streaming on ring when processing_enable and xst_processing_enable
+sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r xst_ring_rx_latency
+
+############################################################################
+# Self tests
+
 # SST
 stat_stream_sst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-header --mtime 10
 stat_stream_sst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-data
 
 # BST
 stat_stream_bst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-header --mtime 10
-stat_stream_bst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --setup-ring --setup-bst
-sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r pps_capture_cnt
-sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r bf_ring_rx_latency
-
 stat_stream_bst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-mp
 stat_stream_bst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-data
 
 # XST, see [1]
 stat_stream_xst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-cp
-stat_stream_xst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --setup-ring --setup-xst --xst-proc ON
-sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r pps_capture_cnt
-sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r xst_ring_rx_latency
-
 stat_stream_xst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-header --mtime 10
 stat_stream_xst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-mp
 stat_stream_xst.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --ip dop386 --mac dop386 -vv --test-data
@@ -104,11 +132,9 @@ bf_weights.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --test
 ############################################################################
 # Monitor only
 
+sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r pps_capture_cnt
+sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r pps_error_cnt
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r xst_ring_rx_latency
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r bf_ring_rx_latency
 sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r firmware_version
-
-############################################################################
-# Diagnostics
-sdp_rw.py --host ${SDPTR_IP} --port ${SDPTR_PORT} -v -r pps_error_cnt
 ucp_status.py --host ${SDPTR_IP} --port ${SDPTR_PORT} --status
diff --git a/test/py/control/ring_common.py b/test/py/control/ring_common.py
index acc9aed365d554d01c3e6f3f54730fa26390ee5e..66d49a34d33a4c4d016bebc006a881c55a48dd6c 100755
--- a/test/py/control/ring_common.py
+++ b/test/py/control/ring_common.py
@@ -121,6 +121,7 @@ class RingCommon(object):
         self.nof_nodes = N_rn_list
         self.use_cable_to_next_rn = next_rn_list
         self.use_cable_to_previous_rn = prev_rn_list
+        self.logger.info("rinf_common.setup: PASSED")
 
     # next functions for testing
     def compare_lists(self, list1, list2):