mstfwtrace Utility

The mstfwtrace utility extracts and prints trace messages generated by the firmware running on 5th generation (Group II) devices iRISCs.

These trace messages inform developers of software drivers about internal status, events, critical errors, etc. Trace messages generated by iRISCs are stored in the trace buffer. The trace buffer is located in host memory.

Warning

When using secure firmware, the user needs to validate that tracer's value is set to "1" to enable it.

  • For MLNX_OFED up to 4.6: /sys/kernel/debug/tracing/events/mlx5/fw_tracer/enable

  • For MLNX_OFED 4.6 and above: /sys/kernel/debug/tracing/events/mlx5/mlx5_fw/enable

  • For linux kernel tracer (when MLNX_OFED is not available): /sys/kernel/debug/tracing/events/enable

By default, the firmware does not print trace messages. Please contact your FAE for more details on how to enable firmware tracing.

  1. Enter the following command:

    Copy
    Copied!
                

    # mstfwtrace [options...]

where:

-h|--help

Print this help message and exit

-d|--device

PCI device (BDF)

--tracer_mode

Tracer mode [MEM]

--real_ts

Print real timestamps in [hh:mm:ss:nsec] format

-i|--irisc

iRISC name (use the "all" option after -i)

-s|--stream

Run in streaming mode

-m|--mask

Trace class mask, use "+" to enable multiple classes or use integer format, e.g: -m class1+class2+... or 0xff00ff00

-l|--level

Trace level

-v|--version

Print tool's version and exit

--ignore_old_events

Ignore collecting old events

Device-Specific Information:

  • Connect-IB, ConnectX-4, ConnectX-4 Lx, ConnectX-5,  ConnectX-6, ConnectX-6 Dx, ConnectX-6 Lx, ConnectX-7, BlueField, BlueField-2, Switch-IB, Switch-IB 2, Quantum, Quantum-2, Spectrum, Spectrum-2, Spectrum-3:
    iRISC names: [all]

  • Trace classes:
    DEBUG_INIT, INIT, ICM, ICM_FREE_LIST, HOST_MNG, CMD_IF, PHY_IB, PHY_RX_ADAP, PHY_EYE_OPN, PHY_COMMON, PHY_MANAGER, PWR, FLR, ICM_ACCESS, MAD, RXT_CHECKS, I2C, TRANSPORT, FW_LL, RX_ERRORS, CMD_DRIVER, PROFILING, MANAGEMENT, FLASH, STEERING, IFARM, ICMD, PCI, DC_CLEANUP, PHY_ETH, VIRT

    Example:

    Copy
    Copied!
                

    # mstfwtrace -d 41:00.1 -i all Read old events: [0x28ed5b22771a5] 0 [0xa1] IRON populate_local_dbase end entry_ix=0x0, <state_31_28,cmd_ix_20_16,gvmi_15_0>=0x10000001, cause_been_set=0 [0x28ed5b227b160] 0 [0xa5] access_reg: register_id=0x9043 [0x28ed5b228297f] 0 [0xa1] IRON populate_local_dbase end entry_ix=0x0, <state_31_28,cmd_ix_20_16,gvmi_15_0>=0x10000001, cause_been_set=0 [0x28ed5b2284365] 0 [0xa3] access_reg: register_id=0x9043 Read new events: [0x28edf8a8a3788] 0 [0xa1] IRON populate_local_dbase end entry_ix=0x0, <state_31_28,cmd_ix_20_16,gvmi_15_0>=0x10000001, cause_been_set=0 [0x28edf8a8a5bc0] 0 [0xa5] access_reg: register_id=0x9043 [0x28edf92960db4] 0 [0xa1] IRON populate_local_dbase end entry_ix=0x0, <state_31_28,cmd_ix_20_16,gvmi_15_0>=0x10000001, cause_been_set=0 [0x28edf929623dd] 0 [0xa2] access_reg: register_id=0x9043

© Copyright 2023, NVIDIA. Last updated on Feb 5, 2024.