Investigating 528 and Titan frame soft resets.
528 mic stations and Titan frame devices come preconfigured with a list of Cobranet errors that the device will monitor. If any of these errors persist for X polls in a row, then the firmware will soft reset the device. Below is a description of the default reset criteria and a list of properties pertinent to determining the cause of the last soft reset.
Error Reset Criteria:
The preconfigured error reset criteria is an array of bytes found in the Cobranet Interface object. The default array contains the following bytes:
{$01, $00, $04, $F0, $20, $21, $22, $2D, $2F, $F4, $00, $00}
1. The first 3 bytes of the criteria are combined ($040001) to check against the
24-bit Error Indicators.
a. $000001 = Fault
b. $040000 = Unexpected System Error
2. $F0 is a special criteria byte indicating that the next series of non-special
bytes should be checked against the Error Display Code.
Code Desc Expected Condition ----------------------------------------------------------------------------
a. $20 (32) DSP Cycles exhausted Broadcast Storm
b. $21 (33) Rx Storm Loop in network
c. $22 (34) Beat Flood Multiple Conductors
d. $2D (45) Too many ctrl packets Excessive broadcast traffic
e. $2F (47) Receive packets backlogged Excessive broadcast traffic
3. $F4 is a special criteria byte indicating that the SysUptime should be checked.
Diagnosing the cause of the last soft reset:
1. Pertinant Properties:
A. Device Manager (object 0)
1. 2p103 - DSP Error Count
2. 2p104 - DSP Error Code
3. 2p105 - Task Fault Flags
From I24 Appendix A.2.d
-----------------------
MAIN_TASK_FAULT 0x0002
ENET_TASK_FAULT 0x0004
CAN_TASK_FAULT 0x0008
COBRANET_TASK_FAULT 0x0010
USNET_RX_TASK_FAULT 0x0020
TIM_BUFFERS_FAULT 0x0100
USSW_TASK_FAULT 0x2000
TASK_CHECK_IN_FAULT 0x4000
TASK_SOFT_RESET 0x8000 (Could be Cobrnet Interface).
4. 2p106 - Reset Count
B. CobraNet Interface (Object 60050)
1. 3p25 - Last Error Indicators (32 bits).
a. Most significant byte represents the "Read Error Code". (These are error
communicating with the Cobranet module.)
Read Error Codes (From I24 Appendix B.7.c)
------------------------------
Desc Decimal Hex
------------------------------
cERR_NO_ERROR 0 00
cERR_MUTE 1 01
cERR_DAWG 2 02
cERR_TRDY 3 03
cERR_HF2High 4 04
cERR_HF2Low 5 05
cERR_RXDF 6 06
cERR_TXDE 7 07
cERR_HOST 8 08
cERR_MEMORY 9 09
cERR_SIZE 10 0A
cERR_BAD_TYPE 11 0B
cERR_TIMEOUT 12 0C
cERR_HREQ_HIGH 13 0D
NE_TX_NOT_IDLE -2 FE
NE_BUFFER_OVR -3 FD
NE_MEM -4 FC
NE_QUEUE_FULL -5 FB
b. Low 3 bytes represent the Cobranet Error Indicators.
(I24 Appendix B.7.a)
HexValue Condition
------------------------------------
000001 Fault
000004 Receive Error
000008 Transmit Error
010000 Audio Mute (audio output may be corrupt)
020000 BuddyLink output disabled
040000 Unexpected System Error
2. 3p26 - Last Error Code (32 bits).
The lower 3 bytes are the Error Display and the High Byte is the Error Code
at the time of the last reset. If the CobraNet variable could not be read,
this property will be 0xffffffff. A complete list of error codes can be
found in the Cobranet Data Sheet file. An abbreviated list of error codes
pertinant to IED can be found in the I24 Appendix B.7.b.
3. 3p27 - Reset Count
2. Using the pertinant properties to diagnose the reset.
A. Check the DevMgr 2p106 Reset Count. If non-zero, check the Task
Fault Flags (2p105). If task faults indicate a "soft reset",
then the reset could have been due to a Cobranet Reset
Criteria or communication with the Cobranet Module.
Move to "B".
B. Check the Cobranet interface reset count (3p27). If non-zero,
check the check and decipher Last Error Indicators (3p25)
and Last Error Code (3p26).
Note: A cold boot or writing to any of the "Reset Count" properties should
clear the values.