tree: 9e308231ece0a92e069f00c573e41941e5dc6274 [path history] [tgz]
  1. src/
  2. event_message.proto
  3. meson.build
  4. nemorad.cpp
  5. OWNERS
  6. README.md
subprojects/nemora-postd/README.md

Nemora-postd

Nemora-postd is a daemon running on the BMC to stream host POST codes.

Tests

The following instruction is for manual testing, but the Robot Framework test can follow the same logic.

Prerequisites

Install the latest version of Protocol Buffers, and the latest version of Linux / UNIX TCP Port Forwarder.

Functional Tests

  1. On BMC, stop the existing Nemora-postd;
systemctl stop nemora-postd@eth0
  1. On any machine, start a testing server at IP_SERVER listening to upcoming UDP datagrams;
DECODE_CMD="protoc --decode=platforms.nemora.proto.EventSeries event_message.proto"
exec socat udp-recvfrom:3960,fork exec:"$DECODE_CMD",fdout=stdout
  1. On BMC, start a new nemora session which sends POST codes to the testing server;
nemora-postd eth0 --udp4 $IP_SERVER
  1. On BMC, manually change the DBus property via busctl;
busctl set-property xyz.openbmc_project.State.Boot.Raw /xyz/openbmc_project/state/boot/raw0 xyz.openbmc_project.State.Boot.Raw Value '('tay')' 10000004 3 1 2 3
  1. The testing server should receive the following packet in about 20 seconds.
magic: 9876039085048616960
mac: ...
sent_time_us: ...
postcodes: 0x989684
postcodes_protocol: NATIVE_32_BIT

Note that, magic and postcodes_protocol are fixed. postcodes should be what you set via busctl.