The mlxreg utility allows users to obtain information regarding supported access registers, such as their fields and attributes. It also allows getting access to register data from firmware and setting access register data on firmware.
Registers can be get/set in unknown (RAW) mode by providing register ID and length.
Unknown (RAW) mode is risky as no checks are performed, please consult with Support before using it.
mst driver must be started prior to running mlxreg tool.
Some access registers depend on setup configuration such as link up/down. Invalid setup may cause failures.
To run mlxreg, use the following line:
|-h |--help||Displays help message.|
|-v |--version||Displays version info.|
|-d |--device <device>||Performs operation for a specified mst device.|
|-a |--adb_file <adb_file>||An external ADB file|
|--reg_name <reg_name>||Known access register name|
|--reg_id <reg_ID>||Access register ID|
|--reg_len <reg_length>||Access register layout length (bytes)|
|-i |--indexes <idxs_vals>||Register indexes|
|-g |--get||Register access GET|
|-s |--set <reg_dataStr>||Register access SET|
|--show_reg <reg_name>||Prints the fields of a given reg access (must have reg_name)|
|--show_regs||Prints all available access registers|
|--yes||Non-interactive mode, answer yes to all questions|
Show all available access registers (the example below shows a sample of the whole list):
Query a single access register (PAOS):
Note: There might be indexes in access register fields that must be provided when setting or getting data.
Get access register data (PAOS with indexes: local port 1, swid 0):
Set access register data (PAOS with indexes: local_port 1 swid 0x0 and data: e 1):
Get access register data (PAOS (0x5006) in unknown mode (RAW) with indexes: local_port=0x1 swid=0x0):
Set access register data (PAOS in unknown mode (RAW) with indexes: local_port=0x1 swid=0x0 and data e 1):