MCSStatus

Show MCS fault status

MCSStatus

Shortest form: mcss.

Show the state of each embedded core, or read one word of core memory.

  • MCSStatus reads each core’s state from its memory and prints uC <n> status: followed by RESET, No Valid FW, EDK FW, Ok with the firmware version, or Fault with a register dump.

  • MCSStatus Quick=true [TimeOutUs=<us>] pings each core instead (timeout default 1 s) and prints OK, ARM core is in reset, uKernel not responding, uKernel messaging is not initialized, No uC / MCS support or uC Invalid for this chip.

  • MCSStatus <address> prints <address>: <value> for one 32-bit word of core memory. This form is not in the built-in help.

Read-only.

On a SONiC Trident 3 switch both embedded cores (uC 0 and uC 1) are held in reset: SONiC loads no firmware onto them. That is why the commands that talk to core firmware, such as BroadSync, KNETSYNC and PTP, report that their firmware is not loaded or fail.

Hardware-validated

drivshell> mcsstatus Quick=true
uC 0 status: ARM core is in reset
uC 1 status: ARM core is in reset

Unvalidated — Read one word of core memory

drivshell> mcsstatus 0x1b004000

Built-in help

Prints fault status of microcontrollers
        Parameters: [Quick=true|false] [TimeOutUs=<val>]
        Quick = Call Ping function instead of FW Ver.(false)
        TimeOutUs = Ping Timeout in uSecs. Used only in Quick mode. (1Sec)