Xena ANLT Utility Documentation#
Xena ANLT Utility (Xena ANLT Utility) provides an interactive shell for users to control Xena testers via command-line interface (CLI) commands to performance operations such as ANLT testing and resource management (more will be added in future releases) in an interactive fashion.
Introduction#
Xena OpenAutomation ANLT Utility (Xena ANLT Utility) is an application that provides users with a command-line user interface to do interactive testing (e.g. ANLT testing). It provides a set of CLI commands to manage and configure test ports, collect statistics, and save logs. Xena ANLT Utility uses xoa-driver to communicate to Xena ANLT Testers.

Xena ANLT Utility System#
The CLI commands of Xena ANLT Utility are categorized into the following families:
See also
You can view a list of Xena ANLT Utility CLI commands in Summary of Xena ANLT Utility CLI commands

Auto-Negotiation and Link Training#
Auto-Negotiation and Link Training (ANLT) provides functions to help you fine-tune the protocol to its optimal state, test interoperability between different vendors, and protocol compliance for different implementations.
Auto-negotiation (AN) was originally designed for Ethernet over twisted pair up to 1G. Beyond exchanging speed capabilities for the link participants, AN has evolved for today’s Ethernet to include additional configuration information for establishing reliable and consistent connections. AN allows the devices at the end points of a link to negotiate common transmission parameters capabilities like speed and duplex mode, exchange extended page information and media signaling support. At higher speeds and signaling the choice of FEC may be relevant. It is during auto negotiation the end points of a link share their capabilities and choose the highest performance transmission mode they both support.

Once the ports in the link have completed the requisite AN information exchange and reached agreement, the link partners move to the next step, link training (LT), the exchange of Training Sequences. This is essential to tune the channels for optimal transmission. During link training the two end points of the link will exchange signals.

No Auto Negotiation, No Link Training
In some instances, Auto Negotiation and Link Training are not required to establish a communication path: High speed optical transceivers and interfaces typically only run at one speed, so there is no need the negotiate this.
Link Training is only required for electrical interfaces - in some cases (e.g. when short cables are used) an electrical interface may become operational just using default settings of the terminal equipment in the communication path. The IEEE 802.3 by specification allows for force connect over electrical interfaces in these instances.
No Auto Negotiation, Link Training
While Link Training can be essential to make some electrical interfaces work, Auto Negotiation may not be required, if the link speed is fixed or if it can be manually set at both end points of a link.
Auto Negotiation and Link Training
Auto Negotiation and Link Training are in principle two independent processes. However, when both are to be done, Auto Negotiation must start first to determine the overall mode for a link and then the Link Training. Hereby you get the sequence shown in the figure below.

See also
Read more about Auto Negotiation and Link Training on NRZ and PAM4 based Ethernet Interfaces.
In Xena ANLT Utility, you can find the following functionalities to do auto-negotiation and link training interactive tests.
AN Functionalities#
Enable/disable auto-negotiation
Auto-negotiation trace log, provides AN trace log for debugging and troubleshooting.
Auto-negotiation status, provides the following AN status:
Received and transmitted number of Link Code Words (Base Pages), message pages, and unformatted pages
Number of HCD (Highest Common Denominator) failures
Number of FEC failures
Number of LOS (Loss of Sync) failures
Number of timeouts
Number of successes
Duration of AN in microseconds
LT Functionalities#
Enable/disable link training
Allow/deny link training loopback
Enable/disable link training timeout
Tuning link partner TX EQ coefficient, use presets as a starting point to tune link partner TX EQ coefficients per serdes, increment and decrement of coefficients c(-3), c(-2), c(-1), c(0), c(1).
Configure local TX EQ coefficients
Monitor local TX EQ coefficients
Link training trace log per serdes
Link training status per serdes, provides the following LT status:
Number of lost locks
Local value of coefficient (per coefficient)
RX number of increment/decrement requests from link partner (per coefficient)
RX number of EQ coefficient request limits reached from link partner (per coefficient)
RX number of EQ request limits reached from link partner (per coefficient)
RX number of coefficients not supported from link partner (per coefficient)
RX number of coefficients at limit from link partner (per coefficient)
TX number of increment/decrement requests to link partner (per coefficient)
TX number of EQ coefficient request limits reached to link partner (per coefficient)
TX number of EQ request limits reached to link partner (per coefficient)
TX number of coefficients not supported to link partner (per coefficient)
TX number of coefficients at limit to link partner (per coefficient)
Duration of LT in microseconds
PRBS total error bits
PRBS total error bits
PRBS bit error rate
Local frame lock status
Link partner frame lock status
Test Resource Management#
Connect to tester
Reserve port
Release port
Reset port
Disconnect
Getting Started#
Installation#
ANLT Utility is made into a Python package, xoa-utils for easy installation and upgrade for all platforms. However, it requires you to have knowledge about Python and the operating system you are using.
The table below shows the distribution methods for each platform.
Windows (x64) |
macOS |
Linux |
---|---|---|
Python package xoa-utils (requires Python >=3.8) |
Python package xoa-utils (requires Python >=3.8) |
Python package xoa-utils (requires Python >=3.8) |
xoa-utils-win-x64-x.y.z.exe (64-bit, no installation required) |
If you want to use Windows executable:
Executable for Windows#
Generate SSH Key#
ANLT Utility requires an SSH key pair to run as a SSH service. To generate a SSH key pair, please open Command Prompt or PowerShell on Windows.
> ssh-keygen -t rsa
You will be prompted to save and name the key. If not found, read Generate SSH Keys in Windows 10/11.
> Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\USER\.ssh\id_rsa):
Press Enter to use the default name id_rsa
.
Important
The filename of the key should be id_rsa
. Please don’t use other filenames otherwise the application won’t be able to run.
Next you will be asked to create and confirm a passphrase for the key:
> Enter passphrase (empty for no passphrase):
Press Enter to skip passphrase.
> Enter same passphrase again:
Press Enter again to confirm passphrase.
This will generate two files, by default called id_rsa
and id_rsa.pub
in C:\Users\USER\.ssh
See also
You can read more about Generating SSH Key
Attention
If your machine doesn’t have internet access, you should generate the SSK keys on another machine and copy the keys to your target machine.
Download Windows Executable#
Download xoa-utils-win-x64-
.
Start ANLT Utility#
Unzip the file and run xoa-utils-win-x64-<version>.exe
. The executable includes Python itself, xoa-driver, and all the dependencies.
Important
There is no need to install Python or any Python packages on your PC to run the ANLT Utility Windows executable, but remember you still need to generate the SSH key.
> xoa-utils
(PID: 12345) ANLT Utility SSH Service (1.1.0) running on 0.0.0.0:22622.
Note
Unlike the Python package, you can’t change the port number on which you run the SSH server if using the Windows executable.
If you want to use Python package:
Python Package for macOS/Linux/Windows#
Generate SSH Key#
ANLT Utility requires an SSH key pair to run as a SSH service. To generate a SSH key pair, please open Command Prompt/PowerShell (Windows) or Terminal (macOS/Linux)
> ssh-keygen -t rsa
You will be prompted to save and name the key.
> Generating public/private rsa key pair. Enter file in which to save the key (/Users/USER/.ssh/id_rsa):
Press Enter to use the default name id_rsa
.
Important
The filename of the key should be id_rsa
. Please don’t use other filenames otherwise the application won’t be able to run.
Next you will be asked to create and confirm a passphrase for the key:
> Enter passphrase (empty for no passphrase):
Press Enter to skip passphrase.
> Enter same passphrase again:
Press Enter again to confirm passphrase.
This will generate two files, by default called id_rsa
and id_rsa.pub
in /Users/USER/.ssh
See also
You can read more about Generating SSH Key
Python Package for Win/macOS/Linux#
Note
Skip this section, if you are a Windows (x64) user and don’t want to install ANLT Utility as a Python package but simply want the .exe application,
ANLT Utility is available to install via the Python Package Index. You can also install from the source file. The steps below will guide you through
Prerequisites#
Before installing ANLT Utility, please make sure your environment has installed:
Install Python (requires Python >= 3.8)
Install Python#
Important
ANLT Utility requires Python >= 3.8.
ANLT Utility requires that you download and install Python3 on your system.
After installation, open Command Prompt (Windows) or Terminal (macOS/Linux) and type python
to verify your Python installation.
> python
Python 3.10.10 (tags/v3.10.10:878ead1, Feb 7 2023, 16:38:35) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ python3
Python 3.10.10 (v3.10.10:a58ebcc701, Feb 7 2023, 14:50:16) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Note
🧐 If you are stuck with Python installation, seek help in Python 3 Installation & Setup Guide
Install PIP#
Make sure pip
is installed on your system. pip
is the package installer for Python . You can use it to install packages from the Python Package Index and other indexes.
Usually, pip
is automatically installed if you are:
working in a virtual Python environment (virtualenv or venv ). It is not necessary to use
sudo pip
inside a virtual Python environment.using Python downloaded from python.org
If you don’t have pip
installed, you can:
Download the script, from https://bootstrap.pypa.io/get-pip.py.
Open a terminal/command prompt,
cd
to the folder containing theget-pip.py
file and run:
> py get-pip.py
$ python3 get-pip.py
See also
Read more details about this script in pypa/get-pip.
Read more about installation of pip
in pip installation.
Install From PyPi Repository#
pip
is the recommended installer for ANLT Utility. The most common usage of pip
is to install from the Python Package Index using Requirement Specifiers.
Note
If you install ANLT Utility using pip install xoa-utils
, XOA Python API (PyPI package name xoa_driver) will be automatically installed.
Important
You can either install xoa-utils in your global Python namespace/package inventory or you can create a virtual Python environment to prevent polluting your global Python package inventory
If Install To Global Namespace#
> pip install xoa-utils # latest version
> pip install xoa-utils==1.0.0 # specific version
> pip install xoa-utils>=1.0.0 # minimum version
$ pip install xoa-utils # latest version
$ pip install xoa-utils==1.0.0 # specific version
$ pip install xoa-utils>=1.0.0 # minimum version
If Install To Virtual Environment#
Install ANLT Utility in a virtual environment, so it does not pollute your global namespace.
For example, your project folder is called /my_xoa_project
.
[my_xoa_project]> python -m venv .\env
[my_xoa_project]> .env\Scripts\activate
(env) [my_xoa_project]> pip install xoa-utils # latest version
(env) [my_xoa_project]> pip install xoa-utils==1.0.0 # specific version
(env) [my_xoa_project]> pip install xoa-utils>=1.0.0 # minimum version
[my_xoa_project]$ python3 -m venv ./env
[my_xoa_project]$ source ./env/bin/activate
(env) [my_xoa_project]$ pip install xoa-utils # latest version
(env) [my_xoa_project]$ pip install xoa-utils==1.0.0 # specific version
(env) [my_xoa_project]$ pip install xoa-utile>=1.0.0 # minimum version
Afterwards, your project folder will be:
/my_xoa_project
|
|- env
See also
Upgrade From PyPi Repository#
To upgrade ANLT Utility package from PyPI:
> pip install xoa-utils --upgrade
$ pip install xoa-utils --upgrade
Note
If you upgrade ANLT Utility using pip install --upgrade xoa-utils
, XOA Python API (PyPI package name xoa_driver) will be automatically upgraded.
Install Manually From Source#
If you don’t have internet access, you can install ANLT Utility manually from source, the steps are:
Step 1, make sure Python packages wheel and setuptools are installed on your system. Install wheel
and setuptools
using pip
:
wheel
and setuptools
in Windows environment.#> pip install wheel setuptools
wheel
and setuptools
in macOS/Linux environment.#$ pip install wheel setuptools
Step 2, download the ANLT Utility source distribution from ANLT Utility Releases. Unzip the archive and run the setup.py
script to install the package:
[xoa_core]> python setup.py install
[xoa_core]$ python3 setup.py install
Step 3, if you want to distribute, you can build .whl
file for distribution from the source:
[xoa_core]> python setup.py bdist_wheel
[xoa_core]$ python3 setup.py bdist_wheel
Important
If you install ANLT Utility from the source code, you need to install XOA Python API (PyPI package name xoa_driver) separately. This is because XOA Python API is treated as a 3rd-party dependency of ANLT Utility. You can go to XOA Python API repository to learn how to install it.
Start ANLT Utility#
After installing the package and ensuring the SSH key in place, you can start ANLT Utility simply by typing xoa-utils
> xoa-utils
(PID: 12345) ANLT Utility SSH Service (1.1.0) running on 0.0.0.0:22622.
$ xoa-utils
(PID: 12345) ANLT Utility SSH Service (1.1.0) running on 0.0.0.0:22622.
Note
If you want to run xoa-utils SSH service on a different port, do xoa-utils <port number>
Uninstall and Remove Unused Dependencies#
pip uninstall xoa-utils
can uninstall the package itself but not its dependencies. Leaving the package’s dependencies in your environment can later create conflicting dependencies problem.
We recommend install and use the pip-autoremove utility to remove a package plus unused dependencies.
Step-by-Step Guide#
This section provides a step-by-step guide on how to use ANLT Utility to do interactive ANLT test.
Note
⚡️ You can use tab key to auto-complete a command to speed up your input speed.
SSH to ANLT Utility#
After running the ANLT Utility SSH Server, use another console to SSH to ANLT Utility.
Connect#
First, you need to connect to your tester using the command connect.
If you don’t know which ports you will use at the time of connecting to the port, just leave the option --ports
empty as the example shows below. You can reserve ports later.
xoa-utils > connect 10.10.10.10 yourname
Reserve Port#
Then, reserve a port on the tester using the command port, as shown in the example below.
Note
You can only work on one port at a time in one console window. If you want to simultaneously work on multiple ports, you can open multiple console windows.
xoa-utils[123456] > port 0/0
Start ANLT Logging#
Start ANLT logging by anlt log.
xoa-utils[123456][0/0] > anlt log -f mylog.log
Note
This commands continuously displays the log messages on the screen so you can keep track of your ANLT actions.
To quit the continuous display mode, press Control-z.
Use one terminal to view the ANLT protocol trace, and use another to execute ANLT commands, as shown in the screenshot below.

Set ANLT Shadow Configuration#
After disabling link recovery on the port, you can start setting ANLT shadow configuration using an config, lt config, lt im, and lt alg as the example shown below.
xoa-utils[123456][0/0] > an config --off --no-loopback
xoa-utils[123456][0/0] > lt config --on --preset0 ieee --mode interactive
Note
The initial modulation of each serdes on a port is by default PAM2 (NRZ). If you want to change them, you can use lt im, otherwise do nothing.
Important
an config, lt config, and lt im only change the shadow ANLT configuration. To apply the configuration, you need to run anlt start, otherwise your changes will not take effect on the tester.
Start ANLT#
After configuring the ANLT shadow configuration, you should execute anlt start to apply the shadow configuration and let the ANLT tester to start the ANLT procedure.
xoa-utils[123456][0/0] > anlt start
Use one terminal to view the ANLT protocol trace, and use another to execute ANLT commands, as shown in the sreenshot below.

Control LT Interactive#
If you run LT (interactive), you will need to manually control the LT parameters using the LT Control Commands shown in LT Group, for example:
xoa-utils[123456][0/0] > lt preset 0 2
xoa-utils[123456][0/0] > lt inc 0 pre3
xoa-utils[123456][0/0] > lt inc 0 main
xoa-utils[123456][0/0] > lt dec 0 post
xoa-utils[123456][0/0] > lt status 0
xoa-utils[123456][0/0] > lt trained 0
xoa-utils[123456][0/0] > lt txtapget 0
xoa-utils[123456][0/0] > lt txtapset 0 0 0 1 56 0
Check AN Status#
Check AN statistics by an status.
xoa-utils[123456][0/0] > an status
[AN STATUS]
Mode : enabled
Loopback : allowed
Duration : 2,068,747 µs
Successful runs : 1
Timeouts : 0
Loss of sync : 0
HCD : IEEE_800GBASE_CR8_KR8
HCD negotiation fails : 0
FEC result : RS_FEC_KP
FEC negotiation fails : 0
RX TX
Link codewords : 2 1
Next-page messages : 0 0
Unformatted pages : 0 0
Check LT Status#
Check LT statistics by lt status.
xoa-utils[123456][0/0] > lt status 0
[LT STATUS]
Is enabled : true
Is trained : true
Failure : no_failure
Initial mod. : nrz
Preset0 : standard tap values
Total bits : 2,201,372,480
Total err. bits : 24
BER : 1.09e-08
Duration : 2,000,250 µs
Lock lost : 2
Frame lock : locked
Remote frame lock : locked
Frame errors : 1
Overrun errors : 1
Last IC received : Preset 3
Last IC sent : Preset 3
TX Coefficient : c(-3) c(-2) c(-1) c(0) c(1)
Current level : 0 0 1 44 0
: RX TX RX TX RX TX RX TX RX TX
+ req : 0 0 0 0 2 2 1 1 0 0
- req : 0 0 0 0 2 2 0 0 0 0
coeff/eq limit reached : 0 0 0 0 0 0 0 0 0 0
eq limit reached : 0 0 0 0 0 0 0 0 0 0
coeff not supported : 0 0 0 0 0 0 0 0 0 0
coeff at limit : 0 0 0 0 0 0 0 0 0 0
Stop ANLT and Restart#
To stop and start ANLT again:
xoa-utils[123456][0/0] > anlt stop
xoa-utils[123456][0/0] > anlt start
Interpreting ANLT Log#
Save or Read Log#
With Freya, you not only have the capability to manually control the link training process but also gain visibility into the ANLT protocol by reading the protocol trace log file.
Use
anlt log -f <filename>.log
to display and save the live log from Freya port during ANLT.
Note
You need first execute port to switch your working port before collecting log on it.
Use
anlt log --read -f <saved_filename>.log
to read the already saved log file.
You can use ANLT Utility as a log file reader. Reading a save log file doesn’t need to reserve a port or connect to the chassis, as shown in the screenshot below.

Note
You should place the log file in the same directory where the ANLT Utility .exe
is.
Structure#
A log message consists of 4 parts
Timestamp (red block)
Protocol (orange block)
Message Type (yellow block)
Message Content (green block)

Timestamp#
The timestamp unit is in seconds, for example, 171406.514179
represents 171406.514179 seconds. The granularity is in microseconds.
When analyzing your ANLT log trace, focus on the relative time difference between messages rather than solely concentrating on the absolute time value. The absolute time value describes the elapsed time since the chassis was started.
Protocol#
ANEG
: message is generated by auto-negotiation.
LT(S<x>)
: message is generated by link training serdes lane <x>
.
LT_COEFF(S<x>)
: message is generated by link training coefficient on serdes lane <x>
.
Message Type#
FSM
: Finite State Machine type.
MSG
: log message type.
TX
: ANLT test frame transmitted by the port to the remote port.
RX
: ANLT test frame from the remote port received by the port.
Message Content#
For messages of type FSM
, the message content includes the state information or state transition information of the Finite State Machine.
For messages of type MSG
, the message content shows the log message.
For messages of type TX
and RX
, the message content includes both the raw Hex value of the test frame and its human-readable meaning.
Explanation#
ANEG FSM#
171406.515335, ANEG, FSM: (EVENT_INIT_DONE) IDLE -> WAIT_ANEG_ENABLE
171406.515382, ANEG, FSM: (EVENT_AUTONEG_DISABLE) WAIT_ANEG_ENABLE -> AN_GOOD_CHECK
ANEG FSM messages show the FSM state and state transition of ANEG defined in IEEE 802.3-2022 73.10.4, as shown in the screenshots below.



ANEG MSG#
171406.654505, ANEG, MSG: SYNC=false, SYNC LOST=true, NEW_PAGE=true
ANEG MSG messages show log messages from ANEG. Explanations of the message content:
SYNC
: indicates the current lock status.SYNC=true
means locked.SYNC=false
means lock lost.SYNC LOST
: indicates the previous lock status.SYNC LOST=true
means the port lost lock previously.SYNC LOST=false
means the port locked previously.NEW_PAGE
: indicates if there is New Page.
ANEG TX & RX#
The raw hex value of the transmitted and received ANEG test frames are shown first. Then base page
and next page
indicate if it is Base Page or Next Page, followed by the value of each field.
171406.519452, ANEG, MSG: TRANSMIT_DISABLE - ANEG restart
171406.519462, ANEG, TX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
FEC:[], ABILITY:['200GBASE_KR2_CR2']
171406.519481, ANEG, RX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
FEC:[], ABILITY:['200GBASE_KR2_CR2']
171406.586888, ANEG, FSM: (EVENT_BREAK_LINK_TIMER_DONE) TRANSMIT_DISABLE -> ABILITY_DETECT
171406.586905, ANEG, MSG: SYNC=true, SYNC LOST=false, NEW_PAGE=true
171406.586917, ANEG, TX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
FEC:[], ABILITY:['200GBASE_KR2_CR2']
171406.586935, ANEG, RX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
FEC:[], ABILITY:['200GBASE_KR2_CR2']
171406.586984, ANEG, FSM: (EVENT_ABILITY_MATCH_NONCE) ABILITY_DETECT -> TRANSMIT_DISABLE
171406.654806, ANEG, FSM: (EVENT_ACK_NP) COMPLETE_ACKNOWLEDGE -> NEXT_PAGE_WAIT
171406.654818, ANEG, TX: 0x04DF0353A805, next page, NP:1, ACK:0, MP:1, ACK2:0, T:1
Formatted message:
Value:0x0005, Msg:OUI Tagged: 0x6a737c (preliminary)
171406.654837, ANEG, RX: 0x04DF0353A805, next page, NP:1, ACK:0, MP:1, ACK2:0, T:1
Formatted message:
Value:0x0005, Msg:OUI Tagged: 0x6a737c (preliminary)
171406.654889, ANEG, FSM: (EVENT_NEXT_PAGE) NEXT_PAGE_WAIT -> ACKNOWLEDGE_DETECT
171406.654901, ANEG, TX: 0x04DF0353E805, next page, NP:1, ACK:1, MP:1, ACK2:0, T:1
Formatted message:
Value:0x0005, Msg:OUI Tagged: 0x6a737c (preliminary)
171406.654939, ANEG, RX: 0x04DF0353E805, next page, NP:1, ACK:1, MP:1, ACK2:0, T:1
Formatted message:
Value:0x0005, Msg:OUI Tagged: 0x6a737c (preliminary)
Base Page#
Base Page is defined in IEEE 802.3-2022 73.6

NP
: Next Page, IEEE 802.3-2022 73.6.9

ACK
: Acknowledge, IEEE 802.3-2022 73.6.8

RF
: Remote Fault, IEEE 802.3-2022 73.6.7

TN
: Transmitted Nonce Field, IEEE 802.3-2022 73.6.3

EN
: Echoed Nonce, IEEE 802.3-2022 73.6.2

C
: Pause Ability, IEEE 802.3-2022 73.6.6

FEC
: FEC capability, IEEE 802.3-2022 73.6.5

ABILITY
: Technology Ability, IEEE 802.3-2022 73.6.4

Next Page#
Next Page is defined in IEEE 802.3-2022 73.7.7. Next Page contains the following fields
ACK
: AcknowledgeACK2
: Acknowledge 2MP
: Message PageT
: Toggle


LT FSM#
171406.515404, LT(S0), FSM: (EVENT_TRAINING_ENABLE) INITIALIZE -> START_DELAY1
171406.515426, LT(S1), FSM: (EVENT_TRAINING_ENABLE) INITIALIZE -> START_DELAY1
171406.518225, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
171406.519238, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
171406.519323, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
171406.519336, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
LT FSM messages show the FSM state transition of LT for each serdes lane, e.g. LT(S0)
for lane 0, and LT(S1)
for lane 1.



Note
STATE_ALG_INIT
, STATE_ALG_PAM4
, STATE_ALG_PRESET
, and STATE_ALG_DONE
are internal proprietary link training algorithm states.
LT MSG#
171406.708127, LT(S0), MSG: LOCK=true, SYNC LOST=true, NEW_FRAME=true, OVERRUN=false
LT MSG messages show log messages from a serdes lane of LT.
LT COEFF MSG#
171406.708154, LT_COEF(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> OUT_OF_SYNC
171406.708165, LT_COEF(S0), MSG: Setting coeff c(-1) PRE1 to 0
171406.708175, LT_COEF(S0), MSG: Setting coeff c(0) MAIN to 68
171406.708185, LT_COEF(S0), MSG: Setting coeff c(1) POST to 0
171406.708196, LT_COEF(S0), MSG: Setting coeff c(-2) PRE2 to 0
171406.708206, LT_COEF(S0), MSG: Setting coeff c(-3) PRE3 to 0
171406.708217, LT(S0), TX: 0x00000300, LOCKED=true, TRAINED=false
LT COEFF MSG messages show log messages of coefficient change of a serdes lane from LT.
LT TX & RX#
171406.758221, LT(S0), TX: 0x12000A00, LOCKED=true, TRAINED=false
C_REQ: Hold C_SEL: c(0) IC_REQ: IC 1 PAM_MOD: PAM4
C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
171406.758319, LT_ALG0(S1), FSM: (EVENT_ALG_SCAN_PRESET) STATE_ALG_PAM4 -> STATE_ALG_PRESET
171406.758355, LT(S0), RX: 0x02000B00, LOCKED=true, TRAINED=false
C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
171406.758393, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
171406.758410, LT(S1), TX: 0x12000A00, LOCKED=true, TRAINED=false
C_REQ: Hold C_SEL: c(0) IC_REQ: IC 1 PAM_MOD: PAM4
C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
171406.758461, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
The raw hex value of the transmitted and received LT test frames are shown first. Decoding of each field are shown after the raw value.
Note
The example above demonstrates a 4-way handshake of the link training transaction.
The port lane 0 requests the remote to use Preset 1
C_REQ: Hold C_SEL: c(0) IC_REQ: IC 1 PAM_MOD: PAM4
The remote confirms the update
C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
without requesting any change.The port tells the remote port to hold
C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4`
The remote port holds the change
C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
Control Field#
The first line C_REQ, C_SEL, IC_REQ, PAM_MOD
is control field information, defined in IEEE 802.3ck Table 162-9.
C_REQ
: Coefficient requestC_SEL
: Coefficient selectIC_REQ
, Initial condition requestPAM_MOD
, Modulation and precoding request

Status Field#
The second line C_ECH, C_STS, IC_STS, PAM_MOD
is status information, defined in IEEE 802.3ck Table 162-10.
C_ECH
: Coefficient select echoC_STS
: Coefficient statusIC_STS
, Initial condition statusPAM_MOD
, Modulation and precoding status

Full Example#
A complete log example is shown below.
1Last login: Sun Mar 17 12:35:57 on ttys014
2leonardyu@HRW-L000058 ~ % ssh 2342@localhost -p 22622
3Hello 2342, welcome to Xena OpenAutomation ANLT Utility server (2.2.0)
4
5xoa-utils > anlt log --read -f 20240317_1.log
6171406.514179, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
7171406.515194, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
8171406.515279, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
9171406.515291, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
10171406.515335, ANEG, FSM: (EVENT_INIT_DONE) IDLE -> WAIT_ANEG_ENABLE
11171406.515382, ANEG, FSM: (EVENT_AUTONEG_DISABLE) WAIT_ANEG_ENABLE -> AN_GOOD_CHECK
12171406.515404, LT(S0), FSM: (EVENT_TRAINING_ENABLE) INITIALIZE -> START_DELAY1
13171406.515426, LT(S1), FSM: (EVENT_TRAINING_ENABLE) INITIALIZE -> START_DELAY1
14171406.518225, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
15171406.519238, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
16171406.519323, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
17171406.519336, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
18171406.519359, ANEG, FSM: (EVENT_INIT_DONE) IDLE -> WAIT_ANEG_ENABLE
19171406.519385, ANEG, FSM: (EVENT_AUTONEG_ENABLE) WAIT_ANEG_ENABLE -> TRANSMIT_DISABLE
20171406.519396, ANEG, MSG: Setting coeff c(-1) PRE1 to 0
21171406.519407, ANEG, MSG: Setting coeff c(0) MAIN to 68
22171406.519417, ANEG, MSG: Setting coeff c(1) POST to 0
23171406.519428, ANEG, MSG: Setting coeff c(-2) PRE2 to 0
24171406.519438, ANEG, MSG: Setting coeff c(-3) PRE3 to 0
25171406.519452, ANEG, MSG: TRANSMIT_DISABLE - ANEG restart
26171406.519462, ANEG, TX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
27 FEC:[], ABILITY:['200GBASE_KR2_CR2']
28171406.519481, ANEG, RX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
29 FEC:[], ABILITY:['200GBASE_KR2_CR2']
30171406.586888, ANEG, FSM: (EVENT_BREAK_LINK_TIMER_DONE) TRANSMIT_DISABLE -> ABILITY_DETECT
31171406.586905, ANEG, MSG: SYNC=true, SYNC LOST=false, NEW_PAGE=true
32171406.586917, ANEG, TX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
33 FEC:[], ABILITY:['200GBASE_KR2_CR2']
34171406.586935, ANEG, RX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
35 FEC:[], ABILITY:['200GBASE_KR2_CR2']
36171406.586984, ANEG, FSM: (EVENT_ABILITY_MATCH_NONCE) ABILITY_DETECT -> TRANSMIT_DISABLE
37171406.586995, ANEG, MSG: Setting coeff c(-1) PRE1 to 0
38171406.587005, ANEG, MSG: Setting coeff c(0) MAIN to 68
39171406.587015, ANEG, MSG: Setting coeff c(1) POST to 0
40171406.587026, ANEG, MSG: Setting coeff c(-2) PRE2 to 0
41171406.587036, ANEG, MSG: Setting coeff c(-3) PRE3 to 0
42171406.587050, ANEG, MSG: TRANSMIT_DISABLE - ANEG restart
43171406.587059, ANEG, TX: 0x004000078001, base page, NP:1, ACK:0, RF:0, TN:7, EN:0, C:0
44 FEC:[], ABILITY:['200GBASE_KR2_CR2']
45171406.654488, ANEG, FSM: (EVENT_BREAK_LINK_TIMER_DONE) TRANSMIT_DISABLE -> ABILITY_DETECT
46171406.654505, ANEG, MSG: SYNC=false, SYNC LOST=true, NEW_PAGE=true
47171406.654517, ANEG, TX: 0x004000078001, base page, NP:1, ACK:0, RF:0, TN:7, EN:0, C:0
48 FEC:[], ABILITY:['200GBASE_KR2_CR2']
49171406.654535, ANEG, RX: 0x004000198001, base page, NP:1, ACK:0, RF:0, TN:25, EN:0, C:0
50 FEC:[], ABILITY:['200GBASE_KR2_CR2']
51171406.654566, ANEG, MSG: SYNC=true, SYNC LOST=true, NEW_PAGE=true
52171406.654579, ANEG, RX: 0x0040001B8001, base page, NP:1, ACK:0, RF:0, TN:27, EN:0, C:0
53 FEC:[], ABILITY:['200GBASE_KR2_CR2']
54171406.654612, ANEG, MSG: SYNC=true, SYNC LOST=false, NEW_PAGE=true
55171406.654641, ANEG, FSM: (EVENT_ABILITY_MATCH_N_NONCE) ABILITY_DETECT -> ACKNOWLEDGE_DETECT
56171406.654653, ANEG, TX: 0x00400007C361, base page, NP:1, ACK:1, RF:0, TN:7, EN:27, C:0
57 FEC:[], ABILITY:['200GBASE_KR2_CR2']
58171406.654707, ANEG, RX: 0x0040001BC0E1, base page, NP:1, ACK:1, RF:0, TN:27, EN:7, C:0
59 FEC:[], ABILITY:['200GBASE_KR2_CR2']
60171406.654739, ANEG, FSM: (EVENT_ACKNOWLEDGE_DETECT) ACKNOWLEDGE_DETECT -> COMPLETE_ACKNOWLEDGE
61171406.654806, ANEG, FSM: (EVENT_ACK_NP) COMPLETE_ACKNOWLEDGE -> NEXT_PAGE_WAIT
62171406.654818, ANEG, TX: 0x04DF0353A805, next page, NP:1, ACK:0, MP:1, ACK2:0, T:1
63 Formatted message:
64 Value:0x0005, Msg:OUI Tagged: 0x6a737c (preliminary)
65171406.654837, ANEG, RX: 0x04DF0353A805, next page, NP:1, ACK:0, MP:1, ACK2:0, T:1
66 Formatted message:
67 Value:0x0005, Msg:OUI Tagged: 0x6a737c (preliminary)
68171406.654889, ANEG, FSM: (EVENT_NEXT_PAGE) NEXT_PAGE_WAIT -> ACKNOWLEDGE_DETECT
69171406.654901, ANEG, TX: 0x04DF0353E805, next page, NP:1, ACK:1, MP:1, ACK2:0, T:1
70 Formatted message:
71 Value:0x0005, Msg:OUI Tagged: 0x6a737c (preliminary)
72171406.654939, ANEG, RX: 0x04DF0353E805, next page, NP:1, ACK:1, MP:1, ACK2:0, T:1
73 Formatted message:
74 Value:0x0005, Msg:OUI Tagged: 0x6a737c (preliminary)
75171406.654973, ANEG, FSM: (EVENT_ACKNOWLEDGE_DETECT) ACKNOWLEDGE_DETECT -> COMPLETE_ACKNOWLEDGE
76171406.655022, ANEG, FSM: (EVENT_ACK_NP) COMPLETE_ACKNOWLEDGE -> NEXT_PAGE_WAIT
77171406.655034, ANEG, TX: 0x000000000203, next page, NP:0, ACK:0, MP:0, ACK2:0, T:0
78 Un-formatted message:
79 Value:0x0203, Msg:OUI Tagged: 0x6a737d (final) Ethernet Technology Consortium
80 FEC:[], ABILITY:[]
81171406.655049, ANEG, RX: 0x000000000203, next page, NP:0, ACK:0, MP:0, ACK2:0, T:0
82 Un-formatted message:
83 Value:0x0203, Msg:OUI Tagged: 0x6a737d (final) Ethernet Technology Consortium
84 FEC:[], ABILITY:[]
85171406.656373, ANEG, FSM: (EVENT_NEXT_PAGE) NEXT_PAGE_WAIT -> ACKNOWLEDGE_DETECT
86171406.656386, ANEG, TX: 0x000000004203, next page, NP:0, ACK:1, MP:0, ACK2:0, T:0
87 Un-formatted message:
88 Value:0x0203, Msg:OUI Tagged: 0x6a737d (final) Ethernet Technology Consortium
89 FEC:[], ABILITY:[]
90171406.658021, ANEG, RX: 0x000000004203, next page, NP:0, ACK:1, MP:0, ACK2:0, T:0
91 Un-formatted message:
92 Value:0x0203, Msg:OUI Tagged: 0x6a737d (final) Ethernet Technology Consortium
93 FEC:[], ABILITY:[]
94171406.658050, ANEG, FSM: (EVENT_ACKNOWLEDGE_DETECT) ACKNOWLEDGE_DETECT -> COMPLETE_ACKNOWLEDGE
95171406.658080, ANEG, FSM: (EVENT_ACK_N_NP) COMPLETE_ACKNOWLEDGE -> AN_GOOD_CHECK
96171406.658103, LT(S0), FSM: (EVENT_TRAINING_ENABLE) INITIALIZE -> START_DELAY1
97171406.658125, LT(S1), FSM: (EVENT_TRAINING_ENABLE) INITIALIZE -> START_DELAY1
98171406.683096, LT(S0), FSM: (EVENT_WAIT_TIMER_DONE) START_DELAY1 -> START_DELAY2
99171406.683127, LT(S1), FSM: (EVENT_WAIT_TIMER_DONE) START_DELAY1 -> START_DELAY2
100171406.708103, LT(S0), FSM: (EVENT_WAIT_TIMER_DONE) START_DELAY2 -> SEND_TF
101171406.708115, LT(S0), TX: 0x00000000, LOCKED=false, TRAINED=false
102 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
103 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
104171406.708127, LT(S0), MSG: LOCK=true, SYNC LOST=true, NEW_FRAME=true, OVERRUN=false
105171406.708143, LT(S0), RX: 0x00000000, LOCKED=false, TRAINED=false
106 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
107 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
108171406.708154, LT_COEF(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> OUT_OF_SYNC
109171406.708165, LT_COEF(S0), MSG: Setting coeff c(-1) PRE1 to 0
110171406.708175, LT_COEF(S0), MSG: Setting coeff c(0) MAIN to 68
111171406.708185, LT_COEF(S0), MSG: Setting coeff c(1) POST to 0
112171406.708196, LT_COEF(S0), MSG: Setting coeff c(-2) PRE2 to 0
113171406.708206, LT_COEF(S0), MSG: Setting coeff c(-3) PRE3 to 0
114171406.708217, LT(S0), TX: 0x00000300, LOCKED=true, TRAINED=false
115 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
116 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM2
117171406.708230, LT_ALG0(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> STATE_ALG_INIT
118171406.708240, LT_ALG1(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> STATE_ALG_INIT
119171406.708251, LT(S1), FSM: (EVENT_WAIT_TIMER_DONE) START_DELAY2 -> SEND_TF
120171406.708263, LT(S1), TX: 0x00000000, LOCKED=false, TRAINED=false
121 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
122 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
123171406.708275, LT(S1), MSG: LOCK=true, SYNC LOST=true, NEW_FRAME=true, OVERRUN=true
124171406.708291, LT(S1), RX: 0x00000000, LOCKED=false, TRAINED=false
125 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
126 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
127171406.708303, LT_COEF(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> OUT_OF_SYNC
128171406.708313, LT_COEF(S1), MSG: Setting coeff c(-1) PRE1 to 0
129171406.708324, LT_COEF(S1), MSG: Setting coeff c(0) MAIN to 68
130171406.708334, LT_COEF(S1), MSG: Setting coeff c(1) POST to 0
131171406.708345, LT_COEF(S1), MSG: Setting coeff c(-2) PRE2 to 0
132171406.708355, LT_COEF(S1), MSG: Setting coeff c(-3) PRE3 to 0
133171406.708366, LT(S1), TX: 0x00000300, LOCKED=true, TRAINED=false
134 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
135 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM2
136171406.708379, LT_ALG0(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> STATE_ALG_INIT
137171406.708390, LT_ALG1(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> STATE_ALG_INIT
138171406.708415, LT(S0), RX: 0x00000300, LOCKED=true, TRAINED=false
139 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
140 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM2
141171406.708428, LT_COEF(S0), FSM: (EVENT_LOCAL_TF_LOCK) OUT_OF_SYNC -> NEW_INDEX
142171406.708439, LT(S0), TX: 0x00000280, LOCKED=true, TRAINED=false
143 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
144 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
145171406.708454, LT(S1), MSG: LOCK=true, SYNC LOST=false, NEW_FRAME=true, OVERRUN=false
146171406.708466, LT(S1), RX: 0x00000180, LOCKED=false, TRAINED=false
147 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
148 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM2
149171406.708478, LT_COEF(S1), FSM: (EVENT_LOCAL_TF_LOCK) OUT_OF_SYNC -> NEW_INDEX
150171406.708490, LT(S1), TX: 0x00000280, LOCKED=true, TRAINED=false
151 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
152 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
153171406.708517, LT(S0), FSM: (EVENT_TEST_FRAME_LOCK) SEND_TF -> TRAIN_LOCAL
154171406.708529, LT(S0), RX: 0x00000280, LOCKED=true, TRAINED=false
155 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
156 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
157171406.708552, LT_ALG0(S0), FSM: (EVENT_ALG_SWITCH_PAM4) STATE_ALG_INIT -> STATE_ALG_PAM4
158171406.708575, LT(S1), RX: 0x00000280, LOCKED=true, TRAINED=false
159 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
160 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
161171406.708607, LT(S1), FSM: (EVENT_TEST_FRAME_LOCK) SEND_TF -> TRAIN_LOCAL
162171406.708629, LT_ALG0(S1), FSM: (EVENT_ALG_SWITCH_PAM4) STATE_ALG_INIT -> STATE_ALG_PAM4
163171406.708665, LT(S0), TX: 0x02000200, LOCKED=true, TRAINED=false
164 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
165 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
166171406.708682, LT(S1), RX: 0x02000200, LOCKED=true, TRAINED=false
167 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
168 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
169171406.708697, LT(S1), TX: 0x00000A00, LOCKED=true, TRAINED=false
170 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM2
171 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
172171406.708726, LT(S0), RX: 0x02000200, LOCKED=true, TRAINED=false
173 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
174 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM2
175171406.708741, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
176 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
177 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
178171406.712900, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
179 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
180 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
181171406.713344, LT(S1), TX: 0x02000A80, LOCKED=true, TRAINED=false
182 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
183 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
184171406.713418, LT(S1), RX: 0x02000A80, LOCKED=true, TRAINED=false
185 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
186 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
187171406.758160, LT_ALG0(S0), FSM: (EVENT_ALG_SCAN_PRESET) STATE_ALG_PRESET -> STATE_ALG_PRESET
188171406.758221, LT(S0), TX: 0x12000A00, LOCKED=true, TRAINED=false
189 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 1 PAM_MOD: PAM4
190 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
191171406.758319, LT_ALG0(S1), FSM: (EVENT_ALG_SCAN_PRESET) STATE_ALG_PAM4 -> STATE_ALG_PRESET
192171406.758355, LT(S0), RX: 0x02000B00, LOCKED=true, TRAINED=false
193 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
194 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
195171406.758393, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
196 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
197 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
198171406.758410, LT(S1), TX: 0x12000A00, LOCKED=true, TRAINED=false
199 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 1 PAM_MOD: PAM4
200 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
201171406.758461, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
202 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
203 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
204171406.758561, LT(S1), RX: 0x02000B00, LOCKED=true, TRAINED=false
205 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
206 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
207171406.758597, LT(S1), RX: 0x12000B80, LOCKED=true, TRAINED=false
208 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 1 PAM_MOD: PAM4
209 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
210171406.758611, LT_COEF(S1), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
211171406.758622, LT_COEF(S1), MSG: Setting coeff c(-1) PRE1 to 0
212171406.758633, LT_COEF(S1), MSG: Setting coeff c(0) MAIN to 68
213171406.758643, LT_COEF(S1), MSG: Setting coeff c(1) POST to 0
214171406.758653, LT_COEF(S1), MSG: Setting coeff c(-2) PRE2 to 0
215171406.758664, LT_COEF(S1), MSG: Setting coeff c(-3) PRE3 to 0
216171406.758675, LT(S1), TX: 0x02000B00, LOCKED=true, TRAINED=false
217 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
218 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
219171406.758748, LT(S1), RX: 0x12000A00, LOCKED=true, TRAINED=false
220 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 1 PAM_MOD: PAM4
221 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
222171406.758784, LT(S1), RX: 0x02000A80, LOCKED=true, TRAINED=false
223 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
224 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
225171406.758798, LT_COEF(S1), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
226171406.758809, LT(S1), TX: 0x02000A80, LOCKED=true, TRAINED=false
227 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
228 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
229171406.783254, LT(S0), RX: 0x12000A00, LOCKED=true, TRAINED=false
230 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 1 PAM_MOD: PAM4
231 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
232171406.783269, LT_COEF(S0), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
233171406.783280, LT_COEF(S0), MSG: Setting coeff c(-1) PRE1 to 0
234171406.783290, LT_COEF(S0), MSG: Setting coeff c(0) MAIN to 68
235171406.783300, LT_COEF(S0), MSG: Setting coeff c(1) POST to 0
236171406.783311, LT_COEF(S0), MSG: Setting coeff c(-2) PRE2 to 0
237171406.783321, LT_COEF(S0), MSG: Setting coeff c(-3) PRE3 to 0
238171406.783332, LT(S0), TX: 0x02000B00, LOCKED=true, TRAINED=false
239 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
240 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
241171406.783440, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
242 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
243 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
244171406.783454, LT_COEF(S0), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
245171406.783466, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
246 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
247 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
248171406.808169, LT_ALG0(S0), FSM: (EVENT_ALG_NEXT) STATE_ALG_PRESET -> STATE_ALG_PRESET
249171406.808230, LT(S0), TX: 0x22000A00, LOCKED=true, TRAINED=false
250 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 2 PAM_MOD: PAM4
251 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
252171406.808365, LT(S0), RX: 0x02000B00, LOCKED=true, TRAINED=false
253 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
254 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
255171406.808415, LT_ALG0(S1), FSM: (EVENT_ALG_NEXT) STATE_ALG_PRESET -> STATE_ALG_PRESET
256171406.808451, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
257 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
258 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
259171406.808468, LT(S1), RX: 0x22000A00, LOCKED=true, TRAINED=false
260 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 2 PAM_MOD: PAM4
261 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
262171406.808483, LT_COEF(S1), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
263171406.808494, LT_COEF(S1), MSG: Setting coeff c(-1) PRE1 to 0
264171406.808504, LT_COEF(S1), MSG: Setting coeff c(0) MAIN to 42
265171406.808514, LT_COEF(S1), MSG: Setting coeff c(1) POST to 0
266171406.808524, LT_COEF(S1), MSG: Setting coeff c(-2) PRE2 to 0
267171406.808535, LT_COEF(S1), MSG: Setting coeff c(-3) PRE3 to 0
268171406.808545, LT(S1), TX: 0x02000B00, LOCKED=true, TRAINED=false
269 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
270 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
271171406.808576, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
272 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
273 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
274171406.808595, LT(S1), TX: 0x22000B80, LOCKED=true, TRAINED=false
275 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 2 PAM_MOD: PAM4
276 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
277171406.808711, LT(S1), RX: 0x02000B00, LOCKED=true, TRAINED=false
278 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
279 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
280171406.808725, LT_COEF(S1), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
281171406.808737, LT(S1), TX: 0x22000A00, LOCKED=true, TRAINED=false
282 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 2 PAM_MOD: PAM4
283 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
284171406.808771, LT(S1), TX: 0x02000A80, LOCKED=true, TRAINED=false
285 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
286 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
287171406.808865, LT(S1), RX: 0x02000A80, LOCKED=true, TRAINED=false
288 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
289 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
290171406.858203, LT_ALG0(S0), FSM: (EVENT_ALG_NEXT) STATE_ALG_PRESET -> STATE_ALG_PRESET
291171406.858264, LT(S0), TX: 0x32000A80, LOCKED=true, TRAINED=false
292 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
293 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
294171406.858298, LT(S0), RX: 0x22000A00, LOCKED=true, TRAINED=false
295 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 2 PAM_MOD: PAM4
296 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
297171406.858313, LT_COEF(S0), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
298171406.858324, LT_COEF(S0), MSG: Setting coeff c(-1) PRE1 to 0
299171406.858334, LT_COEF(S0), MSG: Setting coeff c(0) MAIN to 42
300171406.858345, LT_COEF(S0), MSG: Setting coeff c(1) POST to 0
301171406.858355, LT_COEF(S0), MSG: Setting coeff c(-2) PRE2 to 0
302171406.858365, LT_COEF(S0), MSG: Setting coeff c(-3) PRE3 to 0
303171406.858376, LT(S0), TX: 0x32000B00, LOCKED=true, TRAINED=false
304 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
305 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
306171406.858411, LT(S0), RX: 0x22000B80, LOCKED=true, TRAINED=false
307 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 2 PAM_MOD: PAM4
308 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
309171406.858461, LT_ALG0(S1), FSM: (EVENT_ALG_NEXT) STATE_ALG_PRESET -> STATE_ALG_PRESET
310171406.858497, LT(S0), TX: 0x02000B00, LOCKED=true, TRAINED=false
311 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
312 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
313171406.858532, LT(S0), RX: 0x02000B00, LOCKED=true, TRAINED=false
314 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
315 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
316171406.858546, LT_COEF(S0), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
317171406.858558, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
318 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
319 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
320171406.858574, LT(S1), RX: 0x32000A80, LOCKED=true, TRAINED=false
321 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
322 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
323171406.858589, LT_COEF(S1), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
324171406.858600, LT_COEF(S1), MSG: Setting coeff c(-1) PRE1 to 8
325171406.858610, LT_COEF(S1), MSG: Setting coeff c(0) MAIN to 52
326171406.858621, LT_COEF(S1), MSG: Setting coeff c(1) POST to 0
327171406.858631, LT_COEF(S1), MSG: Setting coeff c(-2) PRE2 to 0
328171406.858641, LT_COEF(S1), MSG: Setting coeff c(-3) PRE3 to 0
329171406.858652, LT(S1), TX: 0x32000B00, LOCKED=true, TRAINED=false
330 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
331 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
332171406.858683, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
333 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
334 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
335171406.858783, LT(S1), RX: 0x32000B00, LOCKED=true, TRAINED=false
336 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
337 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
338171406.858819, LT(S1), RX: 0x02000B00, LOCKED=true, TRAINED=false
339 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
340 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
341171406.858833, LT_COEF(S1), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
342171406.858844, LT(S1), TX: 0x02000A80, LOCKED=true, TRAINED=false
343 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
344 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
345171406.858918, LT(S1), RX: 0x02000A80, LOCKED=true, TRAINED=false
346 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
347 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
348171406.908314, LT(S0), RX: 0x32000A80, LOCKED=true, TRAINED=false
349 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
350 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
351171406.908329, LT_COEF(S0), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
352171406.908340, LT_COEF(S0), MSG: Setting coeff c(-1) PRE1 to 8
353171406.908350, LT_COEF(S0), MSG: Setting coeff c(0) MAIN to 52
354171406.908361, LT_COEF(S0), MSG: Setting coeff c(1) POST to 0
355171406.908371, LT_COEF(S0), MSG: Setting coeff c(-2) PRE2 to 0
356171406.908381, LT_COEF(S0), MSG: Setting coeff c(-3) PRE3 to 0
357171406.908392, LT(S0), TX: 0x02000B00, LOCKED=true, TRAINED=false
358 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
359 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
360171406.908541, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
361 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
362 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
363171406.908555, LT_COEF(S0), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
364171406.908567, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
365 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
366 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
367171406.908583, LT(S1), RX: 0x0A000A00, LOCKED=true, TRAINED=false
368 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 4 PAM_MOD: PAM4
369 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
370171406.908598, LT_COEF(S1), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
371171406.908609, LT_COEF(S1), MSG: Setting coeff c(-1) PRE1 to 18
372171406.908619, LT_COEF(S1), MSG: Setting coeff c(0) MAIN to 52
373171406.908630, LT_COEF(S1), MSG: Setting coeff c(1) POST to 0
374171406.908640, LT_COEF(S1), MSG: Setting coeff c(-2) PRE2 to 5
375171406.908650, LT_COEF(S1), MSG: Setting coeff c(-3) PRE3 to 0
376171406.908661, LT(S1), TX: 0x02000B00, LOCKED=true, TRAINED=false
377 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
378 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
379171406.908736, LT(S1), RX: 0x02000A80, LOCKED=true, TRAINED=false
380 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
381 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
382171406.908750, LT_COEF(S1), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
383171406.908761, LT(S1), TX: 0x02000A80, LOCKED=true, TRAINED=false
384 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
385 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
386171406.933241, LT_ALG0(S0), FSM: (EVENT_ALG_NEXT) STATE_ALG_PRESET -> STATE_ALG_PRESET
387171406.933302, LT(S0), TX: 0x0A000A00, LOCKED=true, TRAINED=false
388 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 4 PAM_MOD: PAM4
389 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
390171406.933437, LT(S0), RX: 0x02000B00, LOCKED=true, TRAINED=false
391 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
392 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
393171406.933486, LT_ALG0(S1), FSM: (EVENT_ALG_NEXT) STATE_ALG_PRESET -> STATE_ALG_PRESET
394171406.933524, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
395 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
396 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
397171406.933562, LT(S1), TX: 0x0A000A00, LOCKED=true, TRAINED=false
398 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 4 PAM_MOD: PAM4
399 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
400171406.933593, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
401 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
402 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
403171406.933693, LT(S1), RX: 0x02000B00, LOCKED=true, TRAINED=false
404 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
405 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
406171406.933729, LT(S1), TX: 0x02000A80, LOCKED=true, TRAINED=false
407 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
408 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
409171406.933803, LT(S1), RX: 0x02000A80, LOCKED=true, TRAINED=false
410 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
411 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
412171406.958569, LT(S1), RX: 0x32000A80, LOCKED=true, TRAINED=false
413 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
414 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
415171406.958584, LT_COEF(S1), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
416171406.958595, LT_COEF(S1), MSG: Setting coeff c(-1) PRE1 to 8
417171406.958605, LT_COEF(S1), MSG: Setting coeff c(0) MAIN to 52
418171406.958615, LT_COEF(S1), MSG: Setting coeff c(1) POST to 0
419171406.958626, LT_COEF(S1), MSG: Setting coeff c(-2) PRE2 to 0
420171406.958636, LT_COEF(S1), MSG: Setting coeff c(-3) PRE3 to 0
421171406.958647, LT(S1), TX: 0x02000B00, LOCKED=true, TRAINED=false
422 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
423 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
424171406.958741, LT(S1), RX: 0x02000A80, LOCKED=true, TRAINED=false
425 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
426 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
427171406.958755, LT_COEF(S1), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
428171406.958766, LT(S1), TX: 0x02000A80, LOCKED=true, TRAINED=false
429 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
430 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
431171406.983247, LT_ALG0(S0), FSM: (EVENT_ALG_NEXT) STATE_ALG_PRESET -> STATE_ALG_PRESET
432171406.983308, LT(S0), TX: 0x32000A80, LOCKED=true, TRAINED=false
433 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
434 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
435171406.983343, LT(S0), RX: 0x0A000A00, LOCKED=true, TRAINED=false
436 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 4 PAM_MOD: PAM4
437 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
438171406.983358, LT_COEF(S0), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
439171406.983369, LT_COEF(S0), MSG: Setting coeff c(-1) PRE1 to 18
440171406.983379, LT_COEF(S0), MSG: Setting coeff c(0) MAIN to 52
441171406.983390, LT_COEF(S0), MSG: Setting coeff c(1) POST to 0
442171406.983400, LT_COEF(S0), MSG: Setting coeff c(-2) PRE2 to 5
443171406.983410, LT_COEF(S0), MSG: Setting coeff c(-3) PRE3 to 0
444171406.983421, LT(S0), TX: 0x32000B00, LOCKED=true, TRAINED=false
445 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
446 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
447171406.983456, LT(S0), RX: 0x0A000B80, LOCKED=true, TRAINED=false
448 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 4 PAM_MOD: PAM4
449 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
450171406.983506, LT_ALG0(S1), FSM: (EVENT_ALG_NEXT) STATE_ALG_PRESET -> STATE_ALG_PRESET
451171406.983542, LT(S0), RX: 0x02000B00, LOCKED=true, TRAINED=false
452 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
453 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
454171406.983556, LT_COEF(S0), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
455171406.983568, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
456 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
457 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
458171406.983606, LT(S1), TX: 0x32000A80, LOCKED=true, TRAINED=false
459 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
460 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
461171406.983657, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
462 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
463 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
464171406.983737, LT(S1), RX: 0x02000B00, LOCKED=true, TRAINED=false
465 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
466 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
467171406.983773, LT(S1), TX: 0x02000A80, LOCKED=true, TRAINED=false
468 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
469 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
470171406.983867, LT(S1), RX: 0x02000A80, LOCKED=true, TRAINED=false
471 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
472 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
473171407.033343, LT(S0), RX: 0x32000A80, LOCKED=true, TRAINED=false
474 C_REQ: Hold C_SEL: c(0) IC_REQ: IC 3 PAM_MOD: PAM4
475 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
476171407.033358, LT_COEF(S0), FSM: (EVENT_NEW_IC) NEW_INDEX -> NEW_IC
477171407.033369, LT_COEF(S0), MSG: Setting coeff c(-1) PRE1 to 8
478171407.033379, LT_COEF(S0), MSG: Setting coeff c(0) MAIN to 52
479171407.033390, LT_COEF(S0), MSG: Setting coeff c(1) POST to 0
480171407.033400, LT_COEF(S0), MSG: Setting coeff c(-2) PRE2 to 0
481171407.033410, LT_COEF(S0), MSG: Setting coeff c(-3) PRE3 to 0
482171407.033422, LT(S0), TX: 0x02000B00, LOCKED=true, TRAINED=false
483 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
484 C_ECH: c(0) C_STS: No upd IC_STS: Upd PAM_MOD: PAM4
485171407.033510, LT(S0), RX: 0x02000A80, LOCKED=true, TRAINED=false
486 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
487 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
488171407.033524, LT_COEF(S0), FSM: (EVENT_NEW_REQ) NEW_IC -> NEW_INDEX
489171407.033536, LT(S0), TX: 0x02000A80, LOCKED=true, TRAINED=false
490 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
491 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
492171407.033653, LT(S1), RX: 0x02008A00, LOCKED=true, TRAINED=true
493 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
494 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
495171407.058271, LT_ALG0(S0), FSM: (EVENT_ALG_DONE) STATE_ALG_PRESET -> STATE_ALG_DONE
496171407.058292, LT_ALG0(S0), MSG: {'cmds': [{'ber': ['56', '68'], 'cmd': 'SET PRESET_1', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 2081396800, 'errors': 68, 'result': '3.267e-08'}], 'result': 'success'}, {'ber': ['20745', '199'], 'cmd': 'SET PRESET_2', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 2082624640, 'errors': 199, 'result': '9.555e-08'}], 'result': 'success'}, {'ber': ['1114', '1', '0'], 'cmd': 'SET PRESET_3', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 4164585280, 'errors': 1, 'result': '2.401e-10'}], 'result': 'success'}, {'ber': ['11397', '1775'], 'cmd': 'SET PRESET_4', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 2081435520, 'errors': 1775, 'result': '8.528e-07'}], 'result': 'success'}, {'ber': ['20857', '0', '3'], 'cmd': 'SET PRESET_3', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 4164583040, 'errors': 3, 'result': '7.204e-10'}], 'result': 'success'}, {'cmd': 'LOCAL_TRAINED'}]}
497171407.058340, LT(S0), FSM: (EVENT_LOCAL_TRAINED) TRAIN_LOCAL -> TRAIN_REMOTE
498171407.058352, LT(S0), TX: 0x02008A00, LOCKED=true, TRAINED=true
499 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
500 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
501171407.058520, LT_ALG0(S1), FSM: (EVENT_ALG_DONE) STATE_ALG_PRESET -> STATE_ALG_DONE
502171407.058541, LT_ALG0(S1), MSG: {'cmds': [{'ber': ['193', '131'], 'cmd': 'SET PRESET_1', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 2084357760, 'errors': 131, 'result': '6.285e-08'}], 'result': 'success'}, {'ber': ['7456', '872'], 'cmd': 'SET PRESET_2', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 2084303360, 'errors': 872, 'result': '4.184e-07'}], 'result': 'success'}, {'ber': ['443', '2', '2'], 'cmd': 'SET PRESET_3', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 4163505280, 'errors': 4, 'result': '9.607e-10'}], 'result': 'success'}, {'ber': ['15475', '214'], 'cmd': 'SET PRESET_4', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 2081495680, 'errors': 214, 'result': '1.028e-07'}], 'result': 'success'}, {'ber': ['1166', '3', '4'], 'cmd': 'SET PRESET_3', 'flags': ['DONE', 'LOCK'], 'prbs': [{'bits': 4163755520, 'errors': 7, 'result': '1.681e-09'}], 'result': 'success'}, {'cmd': 'LOCAL_TRAINED'}]}
503171407.058588, LT(S1), FSM: (EVENT_LOCAL_TRAINED) TRAIN_LOCAL -> TRAIN_REMOTE
504171407.058601, LT(S1), TX: 0x02008A00, LOCKED=true, TRAINED=true
505 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
506 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
507171407.058634, LT(S1), FSM: (EVENT_REMOTE_RX_READY) TRAIN_REMOTE -> LINK_READY
508171407.058765, LT(S1), FSM: (EVENT_WAIT_TIMER_DONE) LINK_READY -> SEND_DATA
509171407.058776, LT_COEF(S1), FSM: (XFSM_EVENT_SELF) NEW_INDEX -> IDLE
510171407.058787, LT_ALG0(S1), FSM: (XFSM_EVENT_SELF) STATE_ALG_DONE -> IDLE
511171407.058797, LT_ALG1(S1), FSM: (XFSM_EVENT_SELF) STATE_ALG_INIT -> IDLE
512171407.108387, LT(S0), RX: 0x02008A00, LOCKED=true, TRAINED=true
513 C_REQ: Hold C_SEL: c(0) IC_REQ: INDV PAM_MOD: PAM4
514 C_ECH: c(0) C_STS: No upd IC_STS: No upd PAM_MOD: PAM4
515171407.108419, LT(S0), FSM: (EVENT_REMOTE_RX_READY) TRAIN_REMOTE -> LINK_READY
516171407.108555, LT(S0), FSM: (EVENT_WAIT_TIMER_DONE) LINK_READY -> SEND_DATA
517171407.108567, LT_COEF(S0), FSM: (XFSM_EVENT_SELF) NEW_INDEX -> IDLE
518171407.108577, LT_ALG0(S0), FSM: (XFSM_EVENT_SELF) STATE_ALG_DONE -> IDLE
519171407.108588, LT_ALG1(S0), FSM: (XFSM_EVENT_SELF) STATE_ALG_INIT -> IDLE
520171407.108615, ANEG, FSM: (EVENT_LINK_HCD_OK) AN_GOOD_CHECK -> AN_GOOD
521171415.054007, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
522171415.054970, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
523171415.055053, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
524171415.055065, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
525171415.055111, ANEG, FSM: (EVENT_INIT_DONE) IDLE -> WAIT_ANEG_ENABLE
526171415.055158, ANEG, FSM: (EVENT_AUTONEG_ENABLE) WAIT_ANEG_ENABLE -> TRANSMIT_DISABLE
527171415.055169, ANEG, MSG: Setting coeff c(-1) PRE1 to 0
528171415.055179, ANEG, MSG: Setting coeff c(0) MAIN to 68
529171415.055190, ANEG, MSG: Setting coeff c(1) POST to 0
530171415.055200, ANEG, MSG: Setting coeff c(-2) PRE2 to 0
531171415.055210, ANEG, MSG: Setting coeff c(-3) PRE3 to 0
532171415.055224, ANEG, MSG: TRANSMIT_DISABLE - ANEG restart
533171415.055233, ANEG, TX: 0x004000158001, base page, NP:1, ACK:0, RF:0, TN:21, EN:0, C:0
534 FEC:[], ABILITY:['200GBASE_KR2_CR2']
535171415.057863, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
536171415.058993, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
537171415.059100, LT(S0), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
538171415.059112, LT(S1), FSM: (EVENT_RESET_DEASSERT) IDLE -> INITIALIZE
539171415.059136, ANEG, FSM: (EVENT_INIT_DONE) IDLE -> WAIT_ANEG_ENABLE
540171415.059162, ANEG, FSM: (EVENT_AUTONEG_DISABLE) WAIT_ANEG_ENABLE -> AN_GOOD_CHECK
541171415.059175, LT(S0), FSM: (EVENT_TRAINING_DISABLE) INITIALIZE -> SEND_DATA
542171415.059187, LT(S1), FSM: (EVENT_TRAINING_DISABLE) INITIALIZE -> SEND_DATA
543171415.059212, ANEG, FSM: (EVENT_LINK_HCD_OK) AN_GOOD_CHECK -> AN_GOOD
544xoa-utils >
Command Reference#
Summary#
Command |
Description |
Example |
---|---|---|
Connect to tester |
|
|
Reserve and switch port |
|
|
List ports |
|
|
Set module media and port config |
|
|
Exit the session |
|
Command |
Description |
Example |
---|---|---|
Apply and start AN/LT on the port |
|
|
Stop AN/LT on the port |
|
|
Show AN/LT protocol trace log and save to a file |
|
|
Read saved log file |
|
|
Control AN/LT autorestart |
|
|
Show AN/LT status of the local port |
|
|
Enable/disable ANLt strict mode |
|
|
Control what should be logged in ANLT by xenaserver |
|
Command |
Description |
Example |
---|---|---|
Configure AN of the local port |
|
|
Show AN status of the local port |
|
Command |
Description |
Example |
---|---|---|
Configure LT of the local port |
|
|
Request remote port to use the specified encoding on the specified serdes |
|
|
Request remote port to use the preset of the specified serdes |
|
|
Request remote port to increase (+) its emphasis value by 1 |
|
|
Request remote port to decrease (-) its emphasis value by 1 |
|
|
Show the link training status of the specified serdes of the local port |
|
|
Announce that the specified serdes is trained |
|
|
Request remote port to turn off equalizer on its emphasis |
|
|
Set initial modulation for the specified serdes of the local port |
|
|
Set the link training algorithm for the specified serdes |
|
|
Read the tap values of the specified serdes of the local port |
|
|
Write the tap values of the specified serdes of the local port |
|
|
Auto tune the tap values of the specified serdes of the local port |
|
Management Commands#
connect#
Description#
Connect to a tester for the current session.
Synopsis#
connect <DEVICE> <USERNAME>
[-p, --ports <value: text list>]
[--reset/--no-reset]
[--force/--no-force]
[-P, --password <value: text>]
[-t, --tcp_port <value: integer>]
Arguments#
<DEVICE>
(text)
Specifies the chassis address for connection.
You can specify the IP addresses in IPv4 format, or a host name, e.g. 10.10.10.10
or demo.xenanetworks.com
<USERNAME>
(text)
Specifies the name of the user, e.g. xoa
or automation
Options#
-p, --ports
(text list)
Specifies the ports on the specified device host, default to null.
Specify a port using the format slot/port, no space between.
e.g. --ports 0/0,0/1,0/2,0/3
.
If used, the context will switch to the first port in the list after the connection is established.
--reset/--no-reset
Removes all port configurations of the ports in –ports after reservation, default to --reset
.
--force/--no-force
Breaks port locks established by another user, aka. force reservation, default to --force
.
-P, --password
(text)
The login password of the tester, default to xena
.
-t, --tcp
(int)
The TCP port number on the chassis for the client to establish a session, default to 22606
.
Examples#
xoa-utils > connect 10.10.10.10 xoa
Tester : 9999999
ConInfo : 10.10.10.102:22606
Username: xoa
Port Sync Owner
xoa-utils[123456][port0/0] >
exit#
Description#
Exit the session by terminating port reservations, disconnecting from the chassis, releasing system resources, and removing the specified port configurations. This command works in all context.
Synopsis#
exit
[--reset/--no-reset]
[--release/--no-release]
Arguments#
Options#
--reset/--no-reset
Removes all port configurations of the ports in --ports
after reservation, default to --reset
.
--release/--no-release
Determines whether the ports should be released before exiting, default to --release
.
Examples#
xoa-utils[123456][port0/2] > exit
port#
Description#
Reserve and switch port. If the port is not yet reserved, reserve the port. This command changes the working port and will stay in the same context.
Synopsis#
port <PORT>
[--reset/--no-reset]
[--force/--no-force]
Arguments#
<PORT>
(text)
Specifies the port on the specified device host.
Specify a port using the format slot/port, e.g. 0/0
Options#
--reset/--no-reset
Removes the port configurations, default to --no-reset
.
--force/--no-force
Breaks port locks established by another user, aka. force reservation, default to --force
.
Examples#
xoa-utils[123456] > port 0/0
Port Sync Owner
*2/0 IN_SYNC You
[ ACTUAL CONFIG ]
Link recovery : off
Serdes count : 1
Auto-negotiation : off (allow loopback: yes)
Link training : on (interactive) (preset0: standard tap values) (timeout: disabled)
Initial Mod. : {'0': 'NRZ'}
[ SHADOW CONFIG ]
Auto-negotiation : off (allow loopback: no)
Link training : on (interactive) (preset0: standard tap values)
Initial Mod. : {'0': 'NRZ'}
ports#
Description#
List all the ports reserved by the current session. This command works in all context.
Synopsis#
ports
[--all/--no-all]
Arguments#
Options#
--all/--no-all
Show all ports of the tester, default to --no-all
Examples#
xoa-utils[123456][port0/0] > ports
Ports Sync Owner
*0/0 yes You
xoa-utils[123456][port0/0] > ports --all
Port Sync Owner
*0/0 IN_SYNC You
0/1 IN_SYNC Others
6/0 NO_SYNC Others
6/1 NO_SYNC Others
module-config#
Description#
Set module’s media configuration and port speed configuration.
Synopsis#
module-config <MODULE> <MEDIA> <PORT_COUNT> <PORT_SPEED>
[--force/--no-force]
Arguments#
<MODULE>
(text)
Specifies the module on the specified device host.
Specify a module using the format slot, e.g. 0
<MEDIA>
(text)
Specifies the media configuration type of the module.
Allowed values:
cfp4
cxp
sfp28
qsfp28_nrz
qsfp28_pam4
qsfp56_pam4
qsfpdd_pam4
sfp56
sfpdd
sfp112
qsfpdd_nrz
cfp
base_t1
base_t1s
qsfpdd800
qsfp112
osfp800
<PORT_COUNT>
(integer)
Specifies the port count of the module.
<PORT_SPEED>
(text)
Specifies the port speed in Gbps of the module.
Allowed values:
10g
25g
50g
100g
200g
400g
800g
Options#
--force/--no-force
Breaks module locks established by another user and all the ports of the module, aka. force reservation, default to --force
.
Examples#
xoa-utils[123456] > module-config 0 qsfpdd800 8 100g
AN & LT Commands#
ANLT Group#
Commands for AN/LT.
anlt start#
Description#
Apply and start AN/LT to the working port.
Apply the shadow configuration from an config, lt config, and lt im to the working port, and then start AN/LT on the port.
Synopsis#
anlt start
Arguments#
Options#
Examples#
xoa-utils[123456][port0/0] > anlt start
xoa-utils[123456][port0/0] >
anlt stop#
Description#
Stop AN/LT to the working port.
Synopsis#
anlt stop
Arguments#
Options#
Examples#
xoa-utils[123456][port0/0] > anlt stop
xoa-utils[123456][port0/0] >
anlt autorestart#
Description#
Control AN/LT autorestart.
Synopsis#
anlt autorestart
[--link-down/--no-link-down]
[--lt-fail/--no-lt-fail]
Arguments#
Options#
--link-down/--no-link-down
Should port enables AN+LT autorestart when a link down condition is detected, default to --no-link-down
--lt-fail/--no-lt-fail
Should port initiates the AN+LT restart process repeatedly when LT experiences failure until LT succeeds, default to --no-lt-fail
.
Examples#
xoa-utils[123456][port0/2] > anlt autorestart --link-down --lt-fail
anlt status#
Description#
Show auto-negotiation and link training actual and shadow configurations of the working port.
Synopsis#
anlt status
Arguments#
Options#
Examples#
xoa-utils[123456][port0/0] > anlt status
[ACTUAL CONFIG]
Link recovery : off
Serdes count : 1
Auto-negotiation : on (allow loopback: yes)
Link training : on (auto) (preset0: standard tap values) (timeout: default)
[SHADOW CONFIG]
Auto-negotiation : on (allow loopback: no)
Link training : off (auto) (preset0: standard tap values)
xoa-utils[123456][port0/2] >
anlt log#
Description#
Show ANLT protocol trace log and save to a file.
To quit the continuous display mode, press Control-z.
Synopsis#
anlt log
[-f, --filename <value: text>]
[-k, --keep <value: text>]
[-s, --serdes <value>]
[--read, <value: text>]
Arguments#
Options#
-f, --filename
(text)
Specifies the filename for the log messages to be stored.
--read -f
(text)
Specifies the filepath of the log file to display.
-k, --keep
(text)
Specifies what types of log entries to keep, default to keep all.
Allowed values:
all, to keep all.
an. to keep autoneg only.
lt, to keep lt only.
-s, --serdes
(int list)
Specifies which serdes of LT logs to keep. If you don’t know how many serdes serdes the port has, use anlt log, default to all serdes.
Examples#
xoa-utils[123456][port0/2] > anlt log --filename mylog.log --keep lt --serdes 0

anlt logctrl#
Description#
Control what types of ANLT log messages are sent by xenaserver. This command is different from the --keep
option of anlt log. anlt log-ctrl
control the log message from its source, where anlt_log
filters the messages for display output.
Synopsis#
anlt logctrl
[-D/-d, --debug/--no-debug]
[-A/-a, --an-trace/--no-an-trace]
[-L/-l, --lt-trace/--no-lt-trace]
[-G/-g, --alg-trace/--no-alg-trace]
[-P/-p, --fsm-port/--no-fsm-port]
[-N/-n, --fsm-an/--no-fsm-an]
[-M/-m, --fsm-an-stimuli/--no-fsm-an-stimuli]
[-T/-t, --fsm-lt/--no-fsm-lt]
[-C/-c, --fsm-lt-coeff/--no-fsm-lt-coeff]
[-S/-s, --fsm-lt-stimuli/--no-fsm-lt-stimuli]
[-Z/-z, --fsm-lt-alg0/--no-fsm-lt-alg0]
[-O/-o, --fsm-lt-algn1/--no-fsm-lt-algn1]
Arguments#
Options#
-D/-d, --debug/--no-debug
Debug log out, default to --debug, -D
-A/-a, --an-trace/--no-an-trace
Auto-negotiation trace output, default to –an-trace, -A
-L/-l, --lt-trace/--no-lt-trace
Link training algorithm trace, default to –lt-trace, -L
-G/-g, --alg-trace/--no-alg-trace
Link training algorithm trace output, default to –alg-trace, -G
-P/-p, --fsm-port/--no-fsm-port
Port state machine transitions output, default to –no-fsm-port, -p
-N/-n, --fsm-an/--no-fsm-an
Auto-negotiation state machine transitions, default to –fsm-an, -N
-M/-m, --fsm-an-stimuli/--no-fsm-an-stimuli
Auto-negotiation stimuli state machine transitions, default to –no-fsm-an-stimuli, -m
-T/-t, --fsm-lt/--no-fsm-lt
Link training state machine transitions, default to –fsm-lt, -T
-C/-c, --fsm-lt-coeff/--no-fsm-lt-coeff
Link training coefficient state machine transitions, default to –no-fsm-lt-coeff, -c
-S/-s, --fsm-lt-stimuli/--no-fsm-lt-stimuli
Link training stimuli state machine transitions, default to –no-fsm-lt-stimuli, -s
-Z/-z, --fsm-lt-alg0/--no-fsm-lt-alg0
Link training algorithm 0 state machine transitions, default to –fsm-lt-alg0, -Z
-O/-o, --fsm-lt-algn1/--no-fsm-lt-algn1
Link training algorithm -1 state machine transitions, default to –fsm-lt-algn1, -O
Examples#
xoa-utils[123456][port0/2] > anlt logctrl
Port 0/2 log control:
Type debug: on
Type AN trace: on
Type LT trace: on
Type ALG trace: on
Type FSM port: on
Type FSM AN: on
Type FSM AN Stimuli: off
Type FSM LT: on
Type FSM LT Coeff: off
Type FSM LT Stimuli: off
Type FSM LT ALG 0: on
Type FSM LT ALG -1: on
xoa-utils[123456][port0/2] >
anlt strict#
Description#
Enable/disable ANLt strict mode. If enable, errored frames will be ignored.
Synopsis#
anlt strict
[--on/--off]
Arguments#
Options#
--on/--off
Should enable ANLT strict mode, default to --on
.
Examples#
xoa-utils[123456][port0/2] > anlt strict --on
Port 0/2 ANLT strict mode: on
xoa-utils[123456][port0/2] >
AN Group#
Commands for Auto-Negotiation.
an config#
Important
This command only changes the local AN configuration state. To execute the configuration, you need to run anlt start, otherwise your changes will not take effect on the tester.
Description#
Configure AN of the working port.
Synopsis#
an config
[--on/--off]
[--loopback/--no-loopback]
Arguments#
Options#
--on/--off
Enable or disable auto-negotiation on the working port, default to --on
.
--loopback/--no-loopback
Should loopback be allowed in auto-negotiation, default to --no-loopback
.
Examples#
xoa-utils[123456][port0/2] > an config --on --loopback
AN configuration to be on port 2/0
[SHADOW CONFIG]
Auto-negotiation : on (allow loopback: yes)
Link training : off (auto) (preset0: standard tap values)
xoa-utils[123456][port0/2] >
an status#
Description#
Show the auto-negotiation status of the working port.
Synopsis#
an status
Arguments#
Options#
Examples#
xoa-utils[123456][port0/2] > an status
[AN STATUS]
Mode : enabled
Loopback : allowed
Duration : 2,068,747 µs
Successful runs : 1
Timeouts : 0
Loss of sync : 0
HCD : IEEE_800GBASE_CR8_KR8
HCD negotiation fails : 0
FEC result : RS_FEC_KP
FEC negotiation fails : 0
RX TX
Link codewords : 2 1
Next-page messages : 0 0
Unformatted pages : 0 0
xoa-utils[123456][port0/2] >
LT Group#
Commands for Link Training.
lt config#
Important
This command only changes the local LT configuration state. To execute the configuration, you need to run anlt start, otherwise your changes will not take effect on the tester.
Description#
Configure LT for the working port.
Synopsis#
lt config
[--on/--off]
[-m, --mode <value: text>]
[--preset0 <value: text>]
[--timeout <value: text>]
Arguments#
Options#
--on/--off
Enable or disable link training on the working port, default to --on
.
-m, --mode
(text)
The mode for link training on the working port, default to auto
.
Allowed values:
auto: link training procedures are done by the port.
interactive: link training procedures requires manual operation.
--preset0
(text)
The preset0 mode, default to standard`.
Allowed values:
standard: Use standard tap values as preset0
existing: Use the existing tap values as preset0
--timeout
(text)
Timeout mode, default to enable`.
Allowed values:
enable: Enable timeout for LT auto
disable: Disable timeout for LT auto
Examples#
xoa-utils[123456][port0/2] > lt config --on --preset0=existing --mode=interactive --timeout disable
LT configuration to be on port 2/0
[SHADOW CONFIG]
Auto-negotiation : off (allow loopback: no)
Link training : on (interactive) (preset0: existing tap values)
xoa-utils[123456][port0/2] >
lt im#
Important
This command only changes the local LT configuration state. To execute the configuration, you need to run anlt start, otherwise your changes will not take effect on the tester.
Description#
Set initial modulation for the specified serdes.
Synopsis#
lt im <SERDES> <ENCODING>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<ENCODING>
(text)
Specifies the initial modulation.
Allowed values:
nrz
pam4
pam4pre
Options#
Examples#
xoa-utils[123456][port0/2] > lt im 0 nrz
Initial modulation to be NRZ on Serdes 0
[SHADOW CONFIG]
Auto-negotiation : off (allow loopback: no)
Link training : on (interactive) (preset0: standard tap values)
Initial Mod. : {'0': 'NRZ'}
xoa-utils[123456][port0/2] >
lt alg#
Important
This command only changes the local LT configuration state. To execute the configuration, you need to run anlt start, otherwise your changes will not take effect on the tester.
Description#
Set the link training algorithm for the specified serdes.
Synopsis#
lt alg <SERDES> <ALGORITHM>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<ALGORITHM>
(text)
Specifies the algorithm.
Allowed values:
alg0
algn1
Options#
Examples#
xoa-utils[123456][port0/2] > lt alg 0 alg0
Initial modulation to be NRZ on Serdes 0
[SHADOW CONFIG]
Auto-negotiation : off (allow loopback: no)
Link training : on (interactive) (preset0: standard tap values)
Algorithm : {'0': 'ALG0'}
xoa-utils[123456][port0/2] >
lt inc#
Description#
Request the remote link training partner to increase (+) its emphasis value by 1.
Synopsis#
lt inc <SERDES> <EMPHASIS>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<EMPHASIS>
(text)
The emphasis (coefficient) of the link partner.
Allowed values:
pre3
pre2
pre
main
post
Options#
Examples#
xoa-utils[123456][port0/2] > lt inc 0 main
Port 0/0: increase c(0) by 1 on Serdes 0 (COEFF_STS_UPDATED)
xoa-utils[123456][port0/2] >
lt dec#
Description#
Request the remote link training partner to decrease (-) its emphasis value by 1.
Synopsis#
lt dec <SERDES> <EMPHASIS>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<EMPHASIS>
(text)
The emphasis (coefficient) of the link partner.
Allowed values:
pre3
pre2
pre
main
post
Options#
Examples#
xoa-utils[123456][port0/2] > lt dec 0 main
Port 0/0: decrease c(0) by 1 on Serdes 0 (COEFF_STS_UPDATED)
xoa-utils[123456][port0/2] >
lt no-eq#
Description#
Request the remote link training turn off equalizer on its emphasis.
Synopsis#
lt no-eq <SERDES> <EMPHASIS>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<EMPHASIS>
(text)
The emphasis (coefficient) of the link partner.
Allowed values:
pre3
pre2
pre
main
post
Options#
Examples#
xoa-utils[123456][port0/2] > lt no-eq 0 main
Port 0/0: Turning off equalizer on c(0) on Serdes 0 (COEFF_STS_UPDATED)
xoa-utils[123456][port0/2] >
lt encoding#
Description#
Request the remote link training partner to use the specified encoding on the specified serdes.
Synopsis#
lt encoding <SERDES> <ENCODING>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<ENCODING>
(text)
Specifies the encoding.
Allowed values:
nrz
pam4
pam4pre
Options#
Examples#
xoa-utils[123456][port0/2] > lt encoding 0 pam4
Port 0/0: use PAM4 on Serdes 0 (SUCCESS)
xoa-utils[123456][port0/2] >
lt preset#
Description#
Request the remote link training partner to use the preset of the specified serdes.
Synopsis#
lt preset <SERDES> <PRESET>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<PRESET>
(integer)
Specifies the preset index.
Allowed values: 1, 2, 3, 4, 5
Options#
Examples#
xoa-utils[123456][port0/2] > lt preset 0 1
Port 0/0: use preset 0 on Serdes 0 (SUCCESS)
xoa-utils[123456][port0/2] >
lt trained#
Description#
Announce that the specified serdes is trained.
Synopsis#
lt trained <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > lt trained 0
Port 0/0 requests: Serdes 0 is trained (SUCCESS)
xoa-utils[123456][port0/2] >
lt txtapget#
Description#
Read the tap values of the specified serdes of the local port.
Synopsis#
lt txtapget <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > lt txtapget 0
Local Coefficient Serdes(0) : c(-3) c(-2) c(-1) c(0) c(1)
Current level : 0 0 0 42 0
xoa-utils[123456][port0/2] >
lt txtapset#
Description#
Write the tap values of the specified serdes of the local port.
Synopsis#
lt txtapset <SERDES> <PRE3> <PRE2> <PRE> <MAIN> <POST>
Arguments#
<SERDES>
(integer)
Specifies the serdes index.
<PRE3>
(integer)
Specifies c(-3) value of the tap.
<PRE2>
(integer)
Specifies c(-2) value of the tap.
<PRE>
(integer)
Specifies c(-1) value of the tap.
<MAIN>
(integer)
Specifies c(0) value of the tap.
<POST>
(integer)
Specifies c(1) value of the tap.
Options#
Examples#
xoa-utils[123456][port0/2] > lt txtapset 5 1 6 5 80 0
Local Coefficient Serdes(5) : c(-3) c(-2) c(-1) c(0) c(1)
Current level : 1 6 5 80 0
xoa-utils[123456][port0/2] >
lt txtap-autotune#
Description#
Auto tune the tap values of the specified serdes of the local port.
Synopsis#
lt txtap-autotune <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > lt txtap-autotune 0
Local Coefficient Serdes(0) : c(-3) c(-2) c(-1) c(0) c(1)
Current level : 0 0 0 42 0
xoa-utils[123456][port0/2] >
lt status#
Description#
Show the link training status of the specified serdes.
Synopsis#
lt status <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > lt status 0
[LT STATUS]
Mode : on
Status : trained
Failure : no_failure
Initial mod. : nrz
Preset0 : standard tap values
Total bits : 2,201,372,480
Total err. bits : 24
BER : 1.09e-08
Duration : 2,000,250 µs
Lock lost : 2
Frame lock : locked
Remote frame lock : locked
Frame errors : 1
Overrun errors : 1
Last IC received : Preset 3
Last IC sent : Preset 3
TX Coefficient : c(-3) c(-2) c(-1) c(0) c(1)
Current level : 0 0 1 44 0
: RX TX RX TX RX TX RX TX RX TX
+ req : 0 0 0 0 2 2 1 1 0 0
- req : 0 0 0 0 2 2 0 0 0 0
coeff/eq limit reached : 0 0 0 0 0 0 0 0 0 0
eq limit reached : 0 0 0 0 0 0 0 0 0 0
coeff not supported : 0 0 0 0 0 0 0 0 0 0
coeff at limit : 0 0 0 0 0 0 0 0 0 0
xoa-utils[123456][port0/2] >
Debug Group#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
debug init#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Initialize debug
Synopsis#
debug init <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index
Options#
Examples#
xoa-utils[123456][port0/2] > debug init 0
xoa-utils[123456][port0/2] >
debug serdes-reset#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug, reset the serdes.
Synopsis#
debug serdes-reset <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug serdes-reset 0
xoa-utils[123456][port0/2] >
debug mode-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug mode-get
Synopsis#
debug mode-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug mode-get 0
xoa-utils[123456][port0/2] >
debug mode-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug mode-set
Synopsis#
debug mode-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug mode-set 0
xoa-utils[123456][port0/2] >
debug an-status#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-status
Synopsis#
debug an-status <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-status 0
xoa-utils[123456][port0/2] >
debug an-tx-config-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-tx-config-get
Synopsis#
debug an-tx-config-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-tx-config-get 0
xoa-utils[123456][port0/2] >
debug an-tx-config-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-tx-config-set
Synopsis#
debug an-tx-config-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-tx-config-set 0
xoa-utils[123456][port0/2] >
debug an-rx-config-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-rx-config-get
Synopsis#
debug an-rx-config-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-rx-config-get 0
xoa-utils[123456][port0/2] >
debug an-rx-config-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-rx-config-set
Synopsis#
debug an-rx-config-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-rx-config-set 0
xoa-utils[123456][port0/2] >
debug an-rx-dme-mv-range-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-rx-dme-mv-range-get
Synopsis#
debug an-rx-dme-mv-range-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-rx-dme-mv-range-get 0
xoa-utils[123456][port0/2] >
debug an-rx-dme-mv-range-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-rx-dme-mv-range-set
Synopsis#
debug an-rx-dme-mv-range-set <SERDES> <VALUE>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<VALUE>
(integer)
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-rx-dme-mv-range-set 0 1234
xoa-utils[123456][port0/2] >
debug an-rx-dme-bit-range-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-rx-dme-bit-range-get
Synopsis#
debug an-rx-dme-bit-range-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-rx-dme-bit-range-get 0
xoa-utils[123456][port0/2] >
debug an-rx-dme-bit-range-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug an-rx-dme-bit-range-set
Synopsis#
debug an-rx-dme-bit-range-set <SERDES> <VALUE>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
<VALUE>
(integer)
Options#
Examples#
xoa-utils[123456][port0/2] > debug an-rx-dme-bit-range-set 0 1234
xoa-utils[123456][port0/2] >
debug lt-tx-config-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-tx-config-get
Synopsis#
debug lt-tx-config-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-tx-config-get 0
xoa-utils[123456][port0/2] >
debug lt-tx-config-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-tx-config-set
Synopsis#
debug lt-tx-config-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-tx-config-set 0
xoa-utils[123456][port0/2] >
debug lt-rx-config-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-rx-config-get
Synopsis#
debug lt-rx-config-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-rx-config-get 0
xoa-utils[123456][port0/2] >
debug lt-rx-config-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-rx-config-set
Synopsis#
debug lt-rx-config-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-rx-config-set 0
xoa-utils[123456][port0/2] >
debug lt-tx-tf-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-tx-tf-get
Synopsis#
debug lt-tx-tf-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-tx-tf-get 0
xoa-utils[123456][port0/2] >
debug lt-tx-tf-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-tx-tf-set
Synopsis#
debug lt-tx-tf-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-tx-tf-set 0
xoa-utils[123456][port0/2] >
debug lt-rx-tf-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-rx-tf-get
Synopsis#
debug lt-rx-tf-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-rx-tf-get 0
xoa-utils[123456][port0/2] >
debug lt-status#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-status
Synopsis#
debug lt-status <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-status 0
xoa-utils[123456][port0/2] >
debug lt-rx-error-stat0-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-rx-error-stat0-get
Synopsis#
debug lt-rx-error-stat0-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-rx-error-stat0-get 0
xoa-utils[123456][port0/2] >
debug lt-rx-error-stat1-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-rx-error-stat1-get
Synopsis#
debug lt-rx-error-stat1-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-rx-error-stat1-get 0
xoa-utils[123456][port0/2] >
debug xla-config-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-config-get
Synopsis#
debug xla-config-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-config-get 0
xoa-utils[123456][port0/2] >
debug xla-config-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-config-set
Synopsis#
debug xla-config-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-config-set 0
xoa-utils[123456][port0/2] >
debug xla-trig-mask-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-trig-mask-get
Synopsis#
debug xla-trig-mask-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-trig-mask-get 0
xoa-utils[123456][port0/2] >
debug xla-trig-mask-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-trig-mask-set
Synopsis#
debug xla-trig-mask-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-trig-mask-set 0
xoa-utils[123456][port0/2] >
debug xla-status-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-status-get
Synopsis#
debug xla-status-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-status-get 0
xoa-utils[123456][port0/2] >
debug xla-rd-addr-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-rd-addr-get
Synopsis#
debug xla-rd-addr-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-rd-addr-get 0
xoa-utils[123456][port0/2] >
debug xla-rd-addr-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-rd-addr-set
Synopsis#
debug xla-rd-addr-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-rd-addr-set 0
xoa-utils[123456][port0/2] >
debug xla-rd-page-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-rd-page-get
Synopsis#
debug xla-rd-page-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-rd-page-get 0
xoa-utils[123456][port0/2] >
debug xla-rd-page-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-rd-page-set
Synopsis#
debug xla-rd-page-set <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-rd-page-set 0
xoa-utils[123456][port0/2] >
debug xla-rd-data-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-rd-data-get
Synopsis#
debug xla-rd-data-get <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-rd-data-get 0
xoa-utils[123456][port0/2] >
debug lt-prbs#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug lt-prbs
Synopsis#
debug lt-prbs <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug lt-prbs 0
xoa-utils[123456][port0/2] >
debug xla-dump#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-dump
Synopsis#
debug xla-dump <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
Examples#
xoa-utils[123456][port0/2] > debug xla-dump 0
xoa-utils[123456][port0/2] >
debug xla-dump-ctrl#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Control XLA auto dump
Synopsis#
debug xla-dump-ctrl
[--on/--off]
Arguments#
Options#
Examples#
xoa-utils[123456][port0/2] > anlt xla-dump-ctrl
debug xla-trig-n-dump#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug xla-trig-n-dump
Synopsis#
debug xla-trig-n-dump <SERDES>
Arguments#
<SERDES>
(integer)
Specifies the transceiver serdes index.
Options#
--mask, -m
Mask, default to 0x00000FF0
.
--window-offset, -o
Window offset, default to 0x0080
.
--trigger-select, -s
Trigger select, default to 0x0001
.
--filename, -f
Trigger select, default to xla_dump.csv
.
Examples#
xoa-utils[123456][port0/2] > debug xla-trig-n-dump
xoa-utils[123456][port0/2] >
debug px-get#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug px-get
Synopsis#
debug px-get <PAGE_ADDRESS> <REG_ADDRESS>
Arguments#
<PAGE_ADDRESS>
(integer)
<REG_ADDRESS>
(string)
Options#
Examples#
xoa-utils[123456][port0/2] > debug px-get 2000 0x2f505
debug px-set#
Important
To debug on a serdes, you must always use debug init command prior to all the other debug commands.
Description#
Debug px-set
Synopsis#
debug px-set <PAGE_ADDRESS> <REG_ADDRESS> <VALUE>
Arguments#
<PAGE_ADDRESS>
(integer)
<REG_ADDRESS>
(string)
<VALUE>
(string)
Options#
Examples#
xoa-utils[123456][port0/2] > debug px-set 2000 0x2f50 0x0101
Glossary of Terms#
- AN#
Auto-Negotiation
- ANLT#
Auto-Negotiation and Link Training
- API#
Application Programming Interface.
- LT#
Link Training
- Test Resource#
Test chassis, test module, and test port, both hardware and virtual are referred to as test resources. A user must have the ownership of a test resource before be able to perform testing.
- TGA#
Traffic Generation and Analysis.
- Xena ANLT Utility#
Xena Auto-Negotiation and Link Training Utility
- XOA#
Xena OpenAutomation