Let's have a look on Optical Signal Level that is reported by ONT
First of all - ONTs receive signal @1490nm and transmit @1310nm. To be able to synchronize receiver, the signal level must be better than -28dBm. Well, I've seen situations when -30 was still ok and without errors, but it strictly depends on the particular ONT's optical receiver unit.
Each receiver is different, each laser is different - that's why calibration for each unit is done in a factory, and unique calibration parameters are written in EEPROM/flash to be used by an optical driver (LDD)... Let's say I will discuss all that optical hardware in another chapter later on – so stay tuned!
OMCI MIB - quite important to be remembered - has no relation to SNMP MIBs, so if you don't know what it is, reset your mind for a second.
OMCI (ONT Management Control Interface) is a protocol used for signaling exchange between OLT and ONT. Like - OLT may want to create a datapath that will be used for internet transmission, or OLT wants to check ONT's LAN port state or other ONT's parameters, like - RX signal level @1490nm. For all of that (and much more) - OMCI applies.
OMCI MIBs is a database, set of database objects, with entries that have some predefined meaning. MIB object can be public (defined in ITU-T like G.988 specification) or private (not defined in ITU-T, but with ID that is in a range of private IDs defined by ITU-T).
In standard OMCI implementations, to cover Optical Signal Level - public OMCI MIB is used. The name of that MIB is Ani-G (Access Network Interface, G - GPON). Its specification can be found in ITU-T G.988 document, and in real ONT it looks like that:
Let's look at 2 bolded parameters:
- EntityID: - 0x8001 - it is shortened number of that interface. It consists of a slot (0x80) and a number (0x01). In most cases this value is 0x8001, but I have seen ONTs where Ani-G used 0x8000, and also, much worse 0x0000... that is also a story for a separate chapter;
- OpticalSignalLevel: - this is what we will focus on - 16bits (2bytes) value that magically contains RX Signal level that ONT reads from an optical module.
Currently, value read from the receiver is:
So we have OpticalSignalLevel: 0xdb3b and Rx Power: -18.827108 dBm
Now, let's focus on a magic formula changing floating point value to raw hex in Ani-G
G.988 contains such description:
"Optical signal level: This attribute reports the current measurement of the total downstream optical signal level. Its value is a 2s complement integer referred to 1 mW (i.e., 1 dBm), with 0.002 dB granularity. (R) (optional) (2 bytes)."
Actually, it's quite simple. Let's say that:
On the other side - OLT does reversed operation:
As you can see, we are losing a bit of how precise the number is, however - this is still very accurate.
And - technically - how does this OMCI communication look?
OLT sends GET message, after which ONT responds with values. Example:
(parsed messages below)
Request:
Response:
(raw hex message below)
Request:
Response:
(examples are dumps of communication between Dasan OLT and Leox ONT)
OLT output below:
However, as Ani-G is mandatory, not all OLTs use this simple GET method. Some of them also use (and some of them ONLY) - another method of handling Ani-G - it is called TEST. Ani-G TEST method can deliver much more transceiver-related information and....
.... it is covered in the next chapter - Optical signal level and other parameters in test procedure!
If you have any questions about reporting Optical Signal Level, or other questions related to PON in your fiber network – we will gladly help, just let us know - contact@leolabs.pl.