28th February 2005 - Full PDF Text Version
This Technical Tip has been raised in response to numerous requests into the Tier3 organization asking what the "FEC::ReceiverError" messages mean and how to decode the associated error number provided.
The FEC (Fast Ethernet Controller device) controls data that is to be sent/received to/from the IP Office and the Local Area Network (LAN). All FEC errors are therefore related to problems on the LAN.
The FEC Receiver Error message is output to the SysMonitor screen/log and is output when the Trace Options -> System -> Print option is enabled (refer to the SysMonitor screenshot below).
Note that the System -> Print option is enabled when Default Tracing is set (i.e. when the application is first installed and when the "Default All" button is selected.)
Please also note that the information contained within this Technical Tip will be incorporated into the next release of IP Office System Monitor Documentation, when it will also be added to the on-line Knowledgebase.
Typical message produced on SysMonitor
PRN: IP403_FEC::ReceiverError 804
Message Format
PRN: PLATFORM_FEC::ReceiverError ABCD
Where
PRN: - This message is output when the SysMonitor System/Print option is enabled.
PLATFORM - This parameter is used to indicate the IP Office unit type (or platform) reporting the error. Possible values are:- IP401NG, IP403, IP406, IP406V2 [reports IP405 in Version 2.1(27)] and IP412.
ABCD - This is the actual error code. It is a decoded of the "Ethernet Receive Buffer Descriptor" packet - refer to Table 2. It is formatted as 4 octets - A, B, C and D. The important information is contained within the last 6 bits of this packet - refer to Table 2. Please note that if the most significant octet (i.e. A) is 0 (zero) then it is not printed out and the error code is only 3 octets long (i.e. BCD).
Where are the errors generated and what do they mean?
FEC::ReceiverError Codes are derived from the FEC generated "Ethernet Receive Buffer Descriptor (RxBD)".
Table 1 (below) shows the bits within the RxBD that are used to generate the error codes (note that the bits that are labeled as "N/U" are NOT used in the FEC error decoding mechanism although they may actually be non zero).
Receive Buffer Descriptor (RxBD)
Octet |
A |
B |
C |
D |
||||||||||||
Value |
8 |
4 |
2 |
1 |
8 |
4 |
2 |
1 |
8 |
4 |
2 |
1 |
8 |
4 |
2 |
1 |
Bit |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Option |
N/U |
N/U |
N/U |
N/U |
L |
0 |
0 |
N/U |
N/U |
N/U |
LG |
NO |
SH |
CR |
OV |
TR |
Table 1
Note :- Bits 0, 1, 2, and 3 correspond to octet A (value equivalent to 8 for bit 0, 4 for bit 1, 2 for bit 2 and 1 for bit 3), bits 4, 5, 6 and 7 correspond to octet B (value equivalent to 8 for bit 4, 4 for bit 5, 2 for bit 6 and 1 for bit 7), bits 8, 9, 10 and 11 correspond to octet C (value equivalent to 8 for bit 8, 4 for bit 9, 2 for bit 10 and 1 for bit 11) and bits 12, 13, 14 and 15 correspond to octet D (value equivalent to 8 for bit 12, 4 for bit 13, 2 for bit 14 and 1 for bit 15).
Table 2 (below) provides additional useful information relating to each bit in the Received Buffer Descriptor (RxBD).
Receive Buffer Descriptor (RxBD) Field Description
Bits |
Name |
Description |
4 |
L |
Last in frame, written by FEC. |
10 |
LG |
If this bit is set it indicates that the received frame length exceeds 2047 bytes. This should never occur; if it does it indicates a mis-configured LAN. Note that this bit is valid only if bit 4 (the L bit) is set. |
11 |
NO |
If this bit is set it indicates that a non-octet-aligned frame (i.e. a frame that contained a number of bits that was not divisible by 8) has been received and the CRC check that occurred at the preceding byte boundary generated an error. This problem may occur in half-duplex networks at a low rate and is probably caused by bad network configuration. Note that this bit is valid only if bit 4 (the L bit) is set. Note also that if this bit is set bit 13 (the CR bit) will NOT be set. |
12 |
SH |
If this bit is set it indicates that a frame was received whose length is less than the minimum defined for this channel. This problem may occur in half-duplex networks at a low rate and is probably caused by bad network configuration. |
13 |
CR |
If this bit is set it indicates that a received frame, although an integral number of octets in length, contains a CRC error. The probable cause of this type of error is noise (induced from motors or switchgear equipment) or poor network terminations. If large numbers of CRC errors are being observed then it probably indicates a wiring problem of one sort or another. Note that this bit is only valid if bit 4 (the L bit) is set. |
14 |
OV |
If this bit is set it indicates that a receive FIFO overrun occurred during frame reception. If this bit is set, the other status bits, 10 (LG), 11 (NO), 12 (SH), and 13 (CR) lose their normal meaning and are cleared. This error is normally observed when the software running in the unit is unable to service the received packet. Note that this bit is only valid if bit 4 (the L bit) is set. |
15 |
TR |
This bit is set when the receive frame is truncated before the end of frame marker is received, i.e. the received packet is very large. This is a similar error to bit 10 (the LG bit) being set. This should never occur; if it does it indicates a mis-configured LAN. |
Table 2
How Do I Decode the Actual Error Being Reported?
Typical message produced on SysMonitor:-
PRN: IP403_FEC::ReceiverError 804
The FEC error code in the above example is 804.
To decode the error insert these values into Table 1 (as shown below)
Octet |
A |
B |
C |
D |
||||||||||||
Error Code |
0 |
8 |
0 |
4 |
||||||||||||
Value |
8 |
4 |
2 |
1 |
8 |
4 |
2 |
1 |
8 |
4 |
2 |
1 |
8 |
4 |
2 |
1 |
Bit |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Option |
N/U |
N/U |
N/U |
N/U |
L |
0 |
0 |
N/U |
N/U |
N/U |
LG |
NO |
SH |
CR |
OV |
TR |
Octet A = 0, which is 0000 in binary - so no bits are set (and so is not shown).
Octet B = 8, which is 1000 in binary - so bit 4 (L) is set.
Octet C = 0, which is 0000 in binary - so no bits are set.
Octet D = 4, which is 0100 in binary - so bit 13 (CR) is set.
This FEC::ReceiverError code was therefore generated as a result of receiving an IP packet on the IP403’s Local Area Network interface that had a CRC error (as bit 13 of the RxBD is set).
What do these errors mean?
If copious amounts of FEC::ReceiverError messages are being output to the SysMonitor log on a regular basis it is a sure sign that you are experiencing problems on your Local area Network, or more specifically on the local subnet that the IP Office is connected to.
What can I do to find out why these errors are being produced?
Further investigation will need to be carried to ascertain exactly what the problem is and what the root cause is. There are many specialised Network Troubleshooting and Network Analyser tools/applications on the market that will help you pinpoint exactly the cause of the problem being experienced. One of these specialised tools/applications should be employed; this functionality is NOT provided by the SysMonitor application.