Version 3

    mlxlink is a link debugging tool introduced in MFT 4.7.

    The tool is used to check and debug link status and related issues.

    The tool can be used on different links and cables (passive, active, transceiver and backplane).





    • Monitoring Features:
      • Error Counters and BER Information
      • Link Grade
      • FEC Information
      • General Port Info
      • SerDes Parameters
      • Device Information
      • PCIe
    • Configuration Features:
      • Reset Port
      • Speed
      • SerDes Parameters
      • FEC
      • Loopback



    Get Device info:

    # mlxlink -d /dev/mst/mt4117_pciconf0.1


    Operational Info


    State                           : Active

    Physical state                  : LinkUp

    Speed                           : 25GbE

    Width                           : 1x

    FEC                             : Standard RS-FEC - RS(528,514)

    Loopback Mode                   : No Loopback

    Auto Negotiation                : ON


    Supported Info


    Enabled Link Speed              : 0x08001001 (25G,10G,1G)

    Supported Cable Speed           : 0x08001001 (25G,10G,1G)


    Troubleshooting Info


    Status Opcode                   : 1023

    Group Opcode                    : N/A

    Recommendation                  : The port is Active.


    Get Help

    # mlxlink -d /dev/mst/mt4117_pciconf0.1 -h




            mlxlink [OPTIONS]




            -h |--help       : Display help message.        

            -v |--version   : Display version info.        

            --port_type      <port_type> : Port Type [NETWORK(Default)/PCIE/OOB]

            -d |--device     <device> : Perform operation for a specified mst device

            -p |--port       <port_number> : Port Number                  




            -m |--show_module : Show Module Info             

            -c |--show_counters : Show Physical Counters and BER Info

            -e |--show_eye   : Show Eye Opening Info        

            --show_fec       : Show FEC Capabilities        

            --show_serdes_tx : Show Transmitter Info        

            --show_device   : General Device Info          




            -a |--port_state <port_state> : Configure Port State [UP(up)/DN(down)/TG(toggle)]

            -s |--speeds     <speeds> : Configure Speeds [speed1,speed2,...]

            -k |--fec        <fec_override> : Configure FEC [AU(Auto)/NF(No-FEC)/FC(FireCode FEC)/RS(RS-FEC)]

            -l |--loopback   <loopback> : Configure Loopback Mode [NO(No Loopback)/PH(phy loopback)/EX(external loopback)]

            --pc             : Clear Counters               

            --serdes_tx      <params> : Configure Transmitter Parameters [polarity,ob_tap0,...]

                --serdes_tx_lane <transmitter_lane> : Transmitter Lane to Set (Optional - Default All Lanes)

                --database       : Save Transmitter Configuration for Current Speed Permanently (Optional)

            --test_mode      <prbs_mode> : Physical Test Mode Configuration [EN(enable)/DS(disable)/TU(perform tuning)]

                --rx_prbs        <rx_prbs_mode> : RX PRBS Mode [PRBS31(Default)/PRBS7/...] (Optional - Default PRBS31)

                --tx_prbs        <tx_prbs_mode> : TX PRBS Mode [PRBS31(Default)/PRBS7/...] (Optional - Default PRBS31)

                --rx_rate        <rx_lane_rate> : RX Lane Rate [EDR(Default)/25G/10G/...]  (Optional - Default 25G)

                --tx_rate        <tx_lane_rate> : TX Lane Rate [EDR(Default)/25G/10G/...]  (Optional - Default 25G)

            -b |--ber_collect <csv_file> : Port Extended Information Collection [CSV File]

                --ber_limit      <limit_criteria> : BER Limit Criteria [Nominal(Default)/Corner/Drift] (Optional - Default Nominal)

                --iteration      <iteration> : Iteration Number of BER Collection




            get info of <device>, <port_number>     :

      mlxlink -d <device> -p <port_number>

            get info of <device>, <port_number> and BER Counters:

      mlxlink -d <device> -p <port_number> -c

            get info of <device>, <port_number> and Transmitter Parameters:

      mlxlink -d <device> -p <port_number> --show_serdes_tx



            Configure Port State                    :

      mlxlink -d <device> -p <port_number> --port_state UP

            Configure Port Speeds                   :

      mlxlink -d <device> -p <port_number> --speeds 25G,50G,100G

            Configure FEC                           :

      mlxlink -d <device> -p <port_number> --fec RS

            Configure Port for Physical Test Mode   :

      mlxlink -d <device> -p <port_number> --test_mode EN (--rx_prbs PRBS31 --rx_rate 25G --tx_prbs PRBS7 --tx_rate 10G)

            Perform PRBS Tuning                     :

      mlxlink -d <device> -p <port_number> --test_mode TU

            Configure Transmitter Parameters (on lane, to database):

      mlxlink -d <device> -p <port_number> --serdes_tx <polarity>,<ob_tap0>,<ob_tap1>,<ob_tap2>,<ob_bias>,<ob_preemp_mode> (--serdes_tx_lane <lane number>) (--database)


    For more information, refer to mlxlink User Manual.