Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
Software for White Rabbit PTP Core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
32
Issues
32
List
Board
Labels
Milestones
Merge Requests
4
Merge Requests
4
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
Software for White Rabbit PTP Core
Commits
9d3b7924
Commit
9d3b7924
authored
Jun 27, 2017
by
Grzegorz Daniluk
Committed by
Adam Wujek
Jun 30, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wrpc_failures: small fixes
parent
2d141594
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
128 additions
and
119 deletions
+128
-119
fail.tex
doc/wrpc_failures/fail.tex
+53
-39
intro.tex
doc/wrpc_failures/intro.tex
+6
-19
snmp_objects.tex
doc/wrpc_failures/snmp_objects.tex
+67
-48
wrpc_failures.tex
doc/wrpc_failures/wrpc_failures.tex
+2
-13
No files found.
doc/wrpc_failures/fail.tex
View file @
9d3b7924
This diff is collapsed.
Click to expand it.
doc/wrpc_failures/intro.tex
View file @
9d3b7924
\section
{
Introduction
}
This document provides information about the diagnostics of White Rabbit
This document provides information about the diagnostics of
the
White Rabbit
PTP Core (WRPC) - an HDL module present in every White Rabbit node. It is a
complementary documentation to the official
\emph
{
White Rabbit PTP Core User's
Manual
}
published with every stable release. Please refer to this user manual
...
...
@@ -9,25 +9,12 @@ the official reference designs.\\
White Rabbit PTP Core starting from
\emph
{
v4.0
}
provides diagnostic mechanisms
in the form of SNMP objects and optional Syslog messages (depending on the build
time LM32 software configuration). The implementation of
the
SNMP agent in the
time LM32 software configuration). The implementation of
an
SNMP agent in the
WRPC is very basic comparing to the diagnostics offered by the White Rabbit
Switch. Since we are very constraint on the code size running inside the WR PTP
Core, almost all of the logic to detect and report errors has to be implemented
on the SNMP Manager's side.
on the SNMP Manager's side.
\\
%This document is
%organized in two parts. It starts with a description of the SNMP objects and
%procedures to be followed if various errors are reported (section
%\ref{sec:snmp_exports}). This first part is meant for the operators and people
%integrating a WR switch into a control system, without the deep knowledge about
%the White Rabbit internals. These people usually have to perform a quick
%diagnostics and decide on actions to restore a WR network.
%Second part of the document tries to list all the possible failures
%that may disturb synchronization and Ethernet switching (section
%\ref{sec:failures}). It is meant for the WR experts to help them with in-depth
%diagnosis of the problems reported by SNMP.
This document has many internal hyperlinks that associate general SNMP status
objects and expert SNMP objects with related problems' description and the other
way round. These links can be easily used when reading the document on a
computer.
This document has many internal hyperlinks that associate SNMP objects with
related problems description and the other way round. These links can be easily
used when reading the document on a computer.
doc/wrpc_failures/snmp_objects.tex
View file @
9d3b7924
...
...
@@ -6,10 +6,11 @@
Type of the hardware of a given WR Node.
}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcVersionGroup
}{
wrpcVersionSwVersion
}{
\underline
{
Description:
}
Version of the LM32 software running inside the WR PTP Core
(WRPC)
}
Version of the LM32 software running inside the WR PTP Core
.
}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcVersionGroup
}{
wrpcVersionSwBuildBy
}{
\underline
{
Description:
}
Information who has compiled the LM32 software running inside the WRPC
}
Information who has compiled the LM32 software running inside the WR PTP
Core.
}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcVersionGroup
}{
wrpcVersionSwBuildDate
}{
\underline
{
Description:
}
Information when the LM32 software was compiled.
}
...
...
@@ -47,43 +48,49 @@
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcSpllStatusGroup
}{
wrpcSpllMode
}{
\underline
{
Description:
}
Mode of operation of the Soft PLL inside WR PTP Core. Possible values:
\\
\texttt
{
grandmaster
\emph
{
(1)
}}
-- Master synchronized to external reference (e.g. GPS or Cesium)
\\
\texttt
{
master
\emph
{
(2)
}}
-- Free-running Master
\\
\texttt
{
slave
\emph
{
(3)
}}
\\
\texttt
{
disabled
\emph
{
(4)
}}
Mode of operation of the Soft PLL inside WR PTP Core. Possible values:
\begin{packed_items_snmp_obj}
\item
\texttt
{
grandmaster
\emph
{
(1)
}}
-- Master synchronized to external reference (e.g. GPS or Cesium)
\item
\texttt
{
master
\emph
{
(2)
}}
-- Free-running Master
\item
\texttt
{
slave
\emph
{
(3)
}}
\item
\texttt
{
disabled
\emph
{
(4)
}}
\end{packed_items_snmp_obj}
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcSpllStatusGroup
}{
wrpcSpllIrqCnt
}{
\underline
{
Description:
}
Number of interrupts received by SoftPLL for DDMTD tags.
}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcSpllStatusGroup
}{
wrpcSpllSeqState
}{
\underline
{
Description:
}
SoftPLL sequencer state. Possible values:
\\
\texttt
{
startExt
\emph
{
(1)
}}
\\
\texttt
{
waitExt
\emph
{
(2)
}}
\\
\texttt
{
startHelper
\emph
{
(3)
}}
\\
\texttt
{
waitHelper
\emph
{
(4)
}}
\\
\texttt
{
startMain
\emph
{
(5)
}}
\\
\texttt
{
waitMain
\emph
{
(6)
}}
\\
\texttt
{
disabled
\emph
{
(7)
}}
\\
\texttt
{
ready
\emph
{
(8)
}}
\\
\texttt
{
clearDacs
\emph
{
(9)
}}
\\
\texttt
{
waitClearDacs
\emph
{
(10)
}}
SoftPLL sequencer state. Possible values:
\begin{packed_items_snmp_obj}
\item
\texttt
{
startExt
\emph
{
(1)
}}
\item
\texttt
{
waitExt
\emph
{
(2)
}}
\item
\texttt
{
startHelper
\emph
{
(3)
}}
\item
\texttt
{
waitHelper
\emph
{
(4)
}}
\item
\texttt
{
startMain
\emph
{
(5)
}}
\item
\texttt
{
waitMain
\emph
{
(6)
}}
\item
\texttt
{
disabled
\emph
{
(7)
}}
\item
\texttt
{
ready
\emph
{
(8)
}}
\item
\texttt
{
clearDacs
\emph
{
(9)
}}
\item
\texttt
{
waitClearDacs
\emph
{
(10)
}}
\end{packed_items_snmp_obj}
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcSpllStatusGroup
}{
wrpcSpllAlignState
}{
\underline
{
Description:
}
SoftPLL aligner state. Possible values:
\\
\texttt
{
extOff
\emph
{
(0)
}}
\\
\texttt
{
start
\emph
{
(1)
}}
\\
\texttt
{
initCsync
\emph
{
(2)
}}
\\
\texttt
{
waitCsync
\emph
{
(3)
}}
\\
\texttt
{
waitSample
\emph
{
(4)
}}
\\
\texttt
{
compensateDelay
\emph
{
(5)
}}
\\
\texttt
{
locked
\emph
{
(6)
}}
\\
\texttt
{
startAlignment
\emph
{
(7)
}}
\\
\texttt
{
startMain
\emph
{
(8)
}}
\\
\texttt
{
waitClkin
\emph
{
(9)
}}
\\
\texttt
{
waitPlock
\emph
{
(10)
}}
SoftPLL aligner state. Possible values:
\begin{packed_items_snmp_obj}
\item
\texttt
{
extOff
\emph
{
(0)
}}
\item
\texttt
{
start
\emph
{
(1)
}}
\item
\texttt
{
initCsync
\emph
{
(2)
}}
\item
\texttt
{
waitCsync
\emph
{
(3)
}}
\item
\texttt
{
waitSample
\emph
{
(4)
}}
\item
\texttt
{
compensateDelay
\emph
{
(5)
}}
\item
\texttt
{
locked
\emph
{
(6)
}}
\item
\texttt
{
startAlignment
\emph
{
(7)
}}
\item
\texttt
{
startMain
\emph
{
(8)
}}
\item
\texttt
{
waitClkin
\emph
{
(9)
}}
\item
\texttt
{
waitPlock
\emph
{
(10)
}}
\end{packed_items_snmp_obj}
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcSpllStatusGroup
}{
wrpcSpllHlock
}{
\underline
{
Description:
}
...
...
@@ -101,8 +108,8 @@
Main PLL DAC value (range 0-65535).
}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcSpllStatusGroup
}{
wrpcSpllDelCnt
}{
\underline
{
Description:
}
Delock counter - how many times
since the WRPC software has started, either
the Helper of Main PLL lost lock
.
Delock counter - how many times
either Helper of Main PLL lost lock since
the WRPC software has started
.
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{}{
wrpcPtpGroup
}{
...
...
@@ -111,13 +118,15 @@ the Helper of Main PLL lost lock.
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpServoStateN
}{
\underline
{
Description:
}
Current state of WR synchronization servo running in the PTP. Possible
values:
\\
\texttt
{
uninitialized
\emph
{
(0)
}}
\\
\texttt
{
syncNsec
\emph
{
(1)
}}
\\
\texttt
{
syncSec
\emph
{
(2)
}}
\\
\texttt
{
syncPhase
\emph
{
(3)
}}
\\
\texttt
{
trackPhase
\emph
{
(4)
}}
\\
\texttt
{
waitOffsetStable
\emph
{
(5)
}}
values:
\begin{packed_items_snmp_obj}
\item
\texttt
{
uninitialized
\emph
{
(0)
}}
\item
\texttt
{
syncNsec
\emph
{
(1)
}}
\item
\texttt
{
syncSec
\emph
{
(2)
}}
\item
\texttt
{
syncPhase
\emph
{
(3)
}}
\item
\texttt
{
trackPhase
\emph
{
(4)
}}
\item
\texttt
{
waitOffsetStable
\emph
{
(5)
}}
\end{packed_items_snmp_obj}
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpClockOffsetPsHR
}{
\underline
{
Description:
}
...
...
@@ -139,12 +148,21 @@ values:\\
\underline
{
Description:
}
TAI nanoseconds when the WR PTP servo was last updated.
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpDeltaTxM
}{}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpDeltaRxM
}{}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpDeltaTxS
}{}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpDeltaTxM
}{
\underline
{
Description:
}
Fixed Tx latency of the WR master.
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpDeltaRxM
}{
\underline
{
Description:
}
Fixed Rx latency of the WR master.
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpDeltaTxS
}{
\underline
{
Description:
}
Fixed Tx latency of the WR slave.
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpDeltaRxS
}{
\underline
{
Description:
}
Fixed
Tx and Rx latencies of the WR master and
slave.
Fixed
Rx latency of the WR
slave.
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpServoStateErrCnt
}{
\underline
{
Description:
}
...
...
@@ -175,12 +193,12 @@ previously calculated value.
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpGroup
}{
wrpcPtpAlpha
}{
\underline
{
Description:
}
Alpha value (fiber asymmetry coef
icient) used for WR to estimate the one-way
link delay.
Alpha value (fiber asymmetry coef
ficient) used for WR to estimate the
one-way
link delay.
\glspar
\underline
{
Related problems:
}}
\snmpentrys
{
WR-WRPC-MIB
}{}{
wrpcPtpConfigGroup
}{
The groups contains objects for configuring remotely the SFP databse with
The groups contains objects for configuring remotely the SFP datab
a
se with
calibration parameters
}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpConfigGroup
}{
wrpcPtpConfigRestart
}{
...
...
@@ -189,7 +207,7 @@ calibration parameters}
Possible values:
\begin{packed_items_snmp_obj}
\item
write:
\texttt
{
restartPtp
\emph
{
(1)
}}
-- triggers PTP restart
\item
read:
\texttt
{
restartPtpSuccessful
\emph
{
(100)
}}
-- PTP restart triggered succesfully
\item
read:
\texttt
{
restartPtpSuccessful
\emph
{
(100)
}}
-- PTP restart triggered succes
s
fully
\item
read:
\texttt
{
restartPtpFailed
\emph
{
(200)
}}
-- failed to trigger PTP restart
\end{packed_items_snmp_obj}
}
...
...
@@ -229,7 +247,8 @@ Possible values:
}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpConfigGroup
}{
wrpcPtpConfigSfpPn
}{
\underline
{
Description:
}
Read-write object. SFP product number identifying which entry in the Flash SFP databse to
Read-write object. SFP product number identifying which entry in the Flash
SFP database to
update.
}
\snmpentrys
{
WR-WRPC-MIB
}{
wrpcPtpConfigGroup
}{
wrpcPtpConfigDeltaTx
}{
\underline
{
Description:
}
...
...
doc/wrpc_failures/wrpc_failures.tex
View file @
9d3b7924
...
...
@@ -45,8 +45,9 @@
\setlength
{
\parsep
}{
0pt
}
}{
\end{itemize}
}
% \begin{itemize}[leftmargin=50pt] %,topsep=-12pt]
\newenvironment
{
packed
_
items
_
snmp
_
obj
}{
\begin{itemize}
[leftmargin=50pt,topsep=-12
pt]
\begin{itemize}
[leftmargin=50
pt]
\setlength
{
\itemsep
}{
1pt
}
\setlength
{
\parskip
}{
0pt
}
\setlength
{
\parsep
}{
0pt
}
...
...
@@ -269,18 +270,6 @@
\newpage
\input
{
snmp
_
exports.tex
}
\appendix
%\newpage
%\section{Operator's diagnostic example}
%\input{diamon_example.tex}
%\newpage
%\section{Sorted list of all MIB objects}
%\label{sec:snmp_exports:sorted}
%% print alphabetical list
%\printnoidxglossary[type=snmp_all,style=tree,sort=letter]
% add not used entries, but don't display their's section
% based on:
% http://tex.stackexchange.com/questions/115635/glossaries-suppress-pages-when-using-glsaddall
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment