--- title: "Layer 1 Trace 10G mode (XGMII)" slug: "features-layer1-capture-trace-10g-mode-xgmii" updated: 2026-03-19T15:44:26Z published: 2026-03-19T15:44:26Z canonical: "docs.fmad.io/features-layer1-capture-trace-10g-mode-xgmii" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.fmad.io/llms.txt > Use this file to discover all available pages before exploring further. # Layer 1 Trace 10G mode (XGMII) Layer 1 Trace in 10G Mode requires the following command ```plaintext sudo fnic_test --trace-xgmii ``` Adding the —help option shows the list of configuration options ```plaintext fmadio@fmadio200v4-636$ sudo fnic_test --trace-xgmii --help XGMII 10G Trace Utility Options:  --trace-xgmii                : required uses 10G XGMII trace logic  --port              : outputs trace only for the specified capture port  --reset                      : resets the trigger conditions  --disable-data-zero          : disables data compression  --enable-data-zero           : converts full word data into zero to maximize compression  --enable-error-halt          : halts the trace on error condition Example usage:  step 1) halt on XGMII error condition on port 4          sudo ./fnic_test --trace-xgmii --port 4 --enable-error-halt --reset  step 2) Dump the tace buffer          sudo ./fnic_test --trace-xgmii --port 4 fmadio@fmadio200v4-636:/mnt/store0/develop/fnic_test$ ``` ## Tracing on XGMII Error Condition XGMII Error condition means the follow - SOF received when in a current packet - EOF received when not in a current packet This enables a small L1 trace of the XGMII data when one of the above conditions is received. ### Step 1) Reset tracer The tracer needs to initialized with compression/zeroing and any halt condition. In the below example it is halting on cap4 XGMII error state (e.g. SOF in packet, or EOF in packet) ```plaintext sudo fnic_test --trace-xgmii --port 4 --enable-error-halt --reset ``` Example output shown below ```plaintext fmadio@fmadio200v4-636:$  sudo fnic_test --trace-xgmii --port 4 --enable-error-halt --reset enable halt on error reset tracer fmadio@fmadio200v4-636:$ ``` This primes and enables the tracer, it will then run in the background ### Step 2) Dump the trace Dumping the trace outputs the current enable / trigger / halt state plus the actual XGMII traffic. Below is an example ```plaintext sudo fnic_test --trace-xgmii --port 4 ``` Output ```plaintext fmadio@fmadio200v4-636:$  fnic_test --trace-xgmii --port 4 BR1_P0: STATUS         : 0000000000000003 BR1_P0:     enb             : 1 BR1_P0:     trigger         : 1 BR1_P0:     zero            : 0 BR1_P0:     trigger_override: 0 BR1_P0:     frame_in        : 0 BR1_P0:     error           : 0 BR1_P0: WritePos       : 00000000000003d5 BR1_P0: Cycle Cnt Raw  :      16455696169 BR1_P0: Cycle Cnt BRAM :              980 BR1_P0: SOF  Cnt       :                0 BR1_P0: EOF  Cnt       :                0 BR1_P0: SOF0 Cnt       :                0 BR1_P0: SOF4 Cnt       :                0 BR1_P0: EOF0 Cnt       :                0 BR1_P0: EOF1 Cnt       :                0 BR1_P0: EOF2 Cnt       :                0 BR1_P0: EOF3 Cnt       :                0 BR1_P0: EOF4 Cnt       :                0 BR1_P0: EOF5 Cnt       :                0 BR1_P0: EOF6 Cnt       :                0 BR1_P0: EOF7 Cnt       :                0 BR1_P0 :[00000000:000000d5] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000001:000000d6] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000002:000000d7] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000003:000000d8] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000004:000000d9] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000005:000000da] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000006:000000db] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000007:000000dc] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000008:000000dd] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[00000009:000000de] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[0000000a:000000df] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[0000000b:000000e0] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[0000000c:000000e1] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[0000000d:000000e2] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[0000000e:000000e3] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[0000000f:000000e4] Cnt:16777216 E:0 P:0 ff 0707070707070707 . . . BR1_P0 :[000000f2:000000c7] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000f3:000000c8] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000f4:000000c9] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000f5:000000ca] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000f6:000000cb] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000f7:000000cc] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000f8:000000cd] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000f9:000000ce] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000fa:000000cf] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000fb:000000d0] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000fc:000000d1] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000fd:000000d2] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000fe:000000d3] Cnt:16777216 E:0 P:0 ff 0707070707070707 BR1_P0 :[000000ff:000000d4] Cnt:16777216 E:0 P:0 ff 0707070707070707 0000000000000003 0000000000000003 0000000000000003 0000000000000003 00000000d4000003 0000000000000003 0000000000000003 0000000000000003 fmadio@fmadio200v4-636:$ ``` Using the following to determine | signal | description | | --- | --- | | | | | enb | indicates the trace logic is currently enabled (and overwriting the buffer) | | trigger | trigger has been set | | zero | full cycle data words are replaced by 0 to maixmimze compression | | trigger_override | internal usage | | frame_in | XGMII state machine thinks it inside a packet currently | | error | XGMII state machine is in an error state (e.g. SOF when inside a packet) | | error_trigger | halt when XGMII state machine thinks its in an error state |