Is the motherboard firmware capable of logging?

Example

I’m referring to something like dell.com/support/kbdoc/en-uk/000125003:

  1. The diagnostics, both ePSA (extended Preboot System Assessment) and DOS-based, can be logged in the BIOS.
  2. Any BIOS thermal or power events can be logged in the BIOS.

The BIOS stores the logs for each category and moves the oldest in each category down. Each log consists of a date and a timestamp, along with a description of the type of event. With the diagnostics, the event can also show the error code.

  1. BIOS Events

    This field allows you to view and clear BIOS POST events. It includes the date and time of the event and the LED code.

  2. DellDiag Events

    This field allows you to view the diagnostic results from DellDiags and PSA. It includes the time and date, the diagnostic and version which was run and the resulting code.

  3. Thermal Events

    It includes the date and time and the name of the event.

  4. Power Events

    It includes the date and time of the event, as well as the power state and reason.

Rationale

It states:

These logs can be helpful in troubleshooting, especially when tracking down intermittent problems, which can be the most difficult.

This is exactly why I’d like it - I’ve experienced the occasional random reboot, and want to ascertain what caused it [1] without needing to run it for a few days with the damned UART connected.


  1. reddit.com/r/ASUS/comments/mcust0/comment/kt9ndwd ↩︎

As far as I know, the Insyde H2O BIOS that Framework 16 ships with does not have any on board diagnostic program (sometimes called “ePSA” by other vendors) or system event logging. Given the current level of stagnation in Framework 16 firmware development (the last major release was 6 months ago and they still haven’t fixed the numerous USB-C power issues plaguing the Framework 16), I wouldn’t expect too much in the way of new diagnostic features in the near or probably far future.

1 Like

The BIOS outputs a lot of information as 32bit writes to Port80. The EC can be made to capture all these to a file.
During a cold boot, about 3000 values are output to port80.
Unfortunately, none of the values are documented, so its difficult to understand what they all mean.
The AMD mainboards also have a S5_RESET_STATUS register that can be read after a reboot, to find out what caused a random reboot.

2 Likes

@James3, that sounds like what I’d need to diagnose my specific problem. [1] Thanks. Have you ever managed to read it? If so, how did you do so? From my research, it appears that i2cdump might?


Likewise, for this – I presume I need to open the chassis and physically connect? :face_with_steam_from_nose:

Hopefully, reset -c is enough to test this.


  1. lore.kernel.org/lkml/20230407203720.18184-1-yazen.ghannam@amd.com/T/#mc5d3352afad7c0e891365e73dae4e4e8ae8eb04 ↩︎

That gives all the details of how to read the S5_RESET_STATUS.

1 Like

@James3, that’s superb! I think it’s even the same issue I’m experiencing, per your useful comments on Discourse:

You can use an EC CCD.
No need to open chassis.

2 Likes

Is this valid for the FW16, too? The EC Card 2 project page only mentions the FW13.

1 Like

Yes, the EC CCD card works on FW13 and FW16.
I use it with my FW16.

1 Like