Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fwts vs smbios-validation-tool #7

Open
glimchb opened this issue Jul 11, 2023 · 3 comments
Open

fwts vs smbios-validation-tool #7

glimchb opened this issue Jul 11, 2023 · 3 comments

Comments

@glimchb
Copy link
Member

glimchb commented Jul 11, 2023

from opiproject/opi-prov-life#178

sudo apt-get install fwts
sudo fwts -r stdout -q dmicheck

see https://bugs.launchpad.net/fwts/+bug/2013208
see https://git.launchpad.net/fwts/commit/src/dmi/dmicheck/dmicheck.c?id=dfa2624ca210397c8544253523b78a1bfd1fc2a6

@glimchb glimchb changed the title dmicheck vs smbios-validation-tool fwts vs smbios-validation-tool Jul 11, 2023
@glimchb
Copy link
Member Author

glimchb commented Jul 11, 2023

example output:

Results generated by fwts: Version V20.03.00 (2020-03-23 18:42:42).

Some of this work - Copyright (c) 1999 - 2020, Intel Corp. All rights reserved.
Some of this work - Copyright (c) 2010 - 2020, Canonical.
Some of this work - Copyright (c) 2016 - 2020, IBM.
Some of this work - Copyright (c) 2017 - 2020, ARM Ltd.

This test run on 31/07/21 at 00:02:32 on host Linux BORIS #16-Ubuntu SMP PREEMPT Fri Jun 4 13:40:12 UTC
2021 aarch64.

Command: "fwts -r stdout -q dmicheck".
Running tests: dmicheck.

dmicheck: DMI/SMBIOS table tests.
-------------------------------------------------------------------------------------------------------------------------------------------
Test 1 of 4: Find and test SMBIOS Table Entry Points.
This test tries to find and sanity check the SMBIOS data structures.
Cannot mmap SMBIOS entry at 0x0xfafb0000
SMBIOS30 entry loaded from /sys/firmware/dmi/tables/smbios_entry_point
PASSED: Test 1, Found SMBIOS30 Table Entry Point at 0xf5b30000
SMBIOS30 Entry Point Structure:
  Anchor String          : _SM3_
  Checksum               : 0x3a
  Entry Point Length     : 0x18
  Major Version          : 0x03
  Minor Version          : 0x01
  Docrev                 : 0x01
  Entry Point Revision   : 0x01
  Reserved               : 0x00
  Table maximum size     : 0x0000046c
  Table address          : 0x00000000f5b20000

PASSED: Test 1, SMBIOS30 Table Entry Point Checksum is valid.
PASSED: Test 1, SMBIOS30 Table Entry Point Length is valid.
SMBIOS30 table loaded from /sys/firmware/dmi/tables/DMI
PASSED: Test 1, SMBIOS 3.0 Table Entry Structure Table Address and Length looks valid.

Test 2 of 4: Test DMI/SMBIOS tables for errors.
SKIPPED: Test 2, Cannot find SMBIOS or DMI table entry, skip the test.

Test 3 of 4: Test DMI/SMBIOS3 tables for errors.
SMBIOS30 entry loaded from /sys/firmware/dmi/tables/smbios_entry_point
SMBIOS30 table loaded from /sys/firmware/dmi/tables/DMI
PASSED: Test 3, Entry @ 0xf5b20000 'BIOS Information (Type 0)'
PASSED: Test 3, Entry @ 0xf5b2005c 'System Information (Type 1)'
PASSED: Test 3, Entry @ 0xf5b200e7 'Base Board Information (Type 2)'
PASSED: Test 3, Entry @ 0xf5b20165 'Chassis Information (Type 3)'
PASSED: Test 3, Entry @ 0xf5b201e9 'Processor Information (Type 4)'
PASSED: Test 3, Entry @ 0xf5b202a8 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0xf5b202ce 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0xf5b202f4 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0xf5b2031a 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0xf5b20340 'Port Connector Information (Type 8)'
PASSED: Test 3, Entry @ 0xf5b20357 'Port Connector Information (Type 8)'
PASSED: Test 3, Entry @ 0xf5b20366 'OEM Strings (Type 11)'
PASSED: Test 3, Entry @ 0xf5b2037b 'System Configuration Options (Type 12)'
PASSED: Test 3, Entry @ 0xf5b2039e 'Physical Memory Array (Type 16)'
PASSED: Test 3, Entry @ 0xf5b203b7 'Memory Device (Type 17)'
PASSED: Test 3, Entry @ 0xf5b203fc 'System Boot Information (Type 32)'
PASSED: Test 3, Entry @ 0xf5b2040b 'System Boot Information (Type 32)'
PASSED: Test 3, Entry @ 0xf5b20418 'Unknown (Type 233)'
PASSED: Test 3, Entry @ 0xf5b20424 'Memory Array Mapped Address (Type 19)'
PASSED: Test 3, Entry @ 0xf5b20445 'Memory Array Mapped Address (Type 19)'

Test 4 of 4: Test ARM SBBR SMBIOS structure requirements.

===========================================================================================================================================
24 passed, 0 failed, 0 warning, 0 aborted, 1 skipped, 0 info only.
===========================================================================================================================================


24 passed, 0 failed, 0 warning, 0 aborted, 1 skipped, 0 info only.

Test Failure Summary
===========================================================================================================================================

Critical failures: NONE

High failures: NONE

Medium failures: NONE

Low failures: NONE

Other failures: NONE

Test           |Pass |Fail |Abort|Warn |Skip |Info |
---------------+-----+-----+-----+-----+-----+-----+
dmicheck       |   24|     |     |     |    1|     |
---------------+-----+-----+-----+-----+-----+-----+
Total:         |   24|    0|    0|    0|    1|    0|
---------------+-----+-----+-----+-----+-----+-----+

@glimchb
Copy link
Member Author

glimchb commented Jul 11, 2023

now using http://fwts.ubuntu.com/release/fwts-V23.07.00.tar.gz see 1 FAIL

sudo add-apt-repository ppa:firmware-testing-team/ppa-fwts-stable
sudo apt-get update
sudo apt-get install fwts

see

$ sudo fwts -r stdout -q dmicheck
Results generated by fwts: Version V23.07.00 (2023-07-07 02:40:18).

Some of this work - Copyright (c) 1999 - 2021, Intel Corp. All rights reserved.
Some of this work - Copyright (c) 2010 - 2021, Canonical.
Some of this work - Copyright (c) 2016 - 2021, IBM.
Some of this work - Copyright (c) 2017 - 2021, ARM Ltd.

This test run on 11/07/23 at 00:10:59 on host Linux BORIS #16-Ubuntu SMP PREEMPT Fri Jun 4 13:40:12 UTC
2021 aarch64.

Command: "fwts -r stdout -q dmicheck".
Running tests: dmicheck.

dmicheck: DMI/SMBIOS table tests.
-------------------------------------------------------------------------------------------------------------------------------------------
Test 1 of 4: Find and test SMBIOS Table Entry Points.
This test tries to find and sanity check the SMBIOS data structures.
PASSED: Test 1, Found SMBIOS Table Entry Point at 0xfafb0000
SMBIOS Entry Point Structure:
  Anchor String          : _SM_
  Checksum               : 0xc0
  Entry Point Length     : 0x1f
  Major Version          : 0x03
  Minor Version          : 0x01
  Maximum Struct Size    : 0x00bf
  Entry Point Revision   : 0x00
  Formatted Area         : 0x00 0x00 0x00 0x00 0x00
  Intermediate Anchor    : _DMI_
  Intermediate Checksum  : 0xbe
  Structure Table Length : 0x046c
  Structure Table Address: 0xfafa0000
  # of SMBIOS Structures : 0x0015
  SMBIOS BCD Revision    : 31

PASSED: Test 1, SMBIOS Table Entry Point Checksum is valid.
PASSED: Test 1, SMBIOS Table Entry Point Length is valid.
PASSED: Test 1, SMBIOS Table Entry Intermediate Anchor String _DMI_ is valid.
PASSED: Test 1, SMBIOS Table Entry Point Intermediate Checksum is valid.
WARNING: Test 1, Skipping scanning SMBIOS table in memory for arm64 systems
PASSED: Test 1, Found SMBIOS30 Table Entry Point at 0xf5b30000
SMBIOS30 Entry Point Structure:
  Anchor String          : _SM3_
  Checksum               : 0x3a
  Entry Point Length     : 0x18
  Major Version          : 0x03
  Minor Version          : 0x01
  Docrev                 : 0x01
  Entry Point Revision   : 0x01
  Reserved               : 0x00
  Table maximum size     : 0x0000046c
  Table address          : 0x00000000f5b20000

PASSED: Test 1, SMBIOS30 Table Entry Point Checksum is valid.
PASSED: Test 1, SMBIOS30 Table Entry Point Length is valid.
SMBIOS30 table loaded from /sys/firmware/dmi/tables/DMI
PASSED: Test 1, SMBIOS 3.0 Table Entry Structure Table Address and Length looks valid.

Test 2 of 4: Test DMI/SMBIOS tables for errors.
WARNING: Test 2, Skipping scanning SMBIOS table in memory for arm64 systems

Test 3 of 4: Test DMI/SMBIOS3 tables for errors.
SMBIOS30 table loaded from /sys/firmware/dmi/tables/DMI
PASSED: Test 3, Entry @ 0xf5b20000 'BIOS Information (Type 0)'
FAILED [MEDIUM] DMISerialNumber: Test 3, String index 0x04 in table entry 'System Information (Type 1)' @ 0xf5b2005c, field 'Serial Number'
, offset 0x07 has a default value 'Unspecified System Serial Number' and probably has not been updated by the BIOS vendor.

ADVICE: The DMI table contains data which is clearly been left in a default setting and not been configured for this machine. Somebody has
probably forgotten to define this field and it basically means this field is effectively useless. Note that the kernel uses this field so
it probably should be corrected to ensure the kernel is using sane values.


ADVICE: It may be worth checking against section 7.2 of the System Management BIOS (SMBIOS) Reference Specification (see http:
//www.dmtf.org/standards/smbios).

PASSED: Test 3, Entry @ 0xf5b200e7 'Base Board Information (Type 2)'
PASSED: Test 3, Entry @ 0xf5b20165 'Chassis Information (Type 3)'
PASSED: Test 3, Entry @ 0xf5b201e9 'Processor Information (Type 4)'
PASSED: Test 3, Entry @ 0xf5b202a8 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0xf5b202ce 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0xf5b202f4 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0xf5b2031a 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0xf5b20340 'Port Connector Information (Type 8)'
PASSED: Test 3, Entry @ 0xf5b20357 'Port Connector Information (Type 8)'
PASSED: Test 3, Entry @ 0xf5b20366 'OEM Strings (Type 11)'
PASSED: Test 3, Entry @ 0xf5b2037b 'System Configuration Options (Type 12)'
PASSED: Test 3, Entry @ 0xf5b2039e 'Physical Memory Array (Type 16)'
PASSED: Test 3, Entry @ 0xf5b203b7 'Memory Device (Type 17)'
PASSED: Test 3, Entry @ 0xf5b203fc 'System Boot Information (Type 32)'
PASSED: Test 3, Entry @ 0xf5b2040b 'System Boot Information (Type 32)'
PASSED: Test 3, Entry @ 0xf5b20418 'Unknown (Type 233)'
PASSED: Test 3, Entry @ 0xf5b20424 'Memory Array Mapped Address (Type 19)'
PASSED: Test 3, Entry @ 0xf5b20445 'Memory Array Mapped Address (Type 19)'

Test 4 of 4: Test ARM SBBR SMBIOS structure requirements.

===========================================================================================================================================
28 passed, 1 failed, 2 warnings, 0 aborted, 0 skipped, 0 info only.
===========================================================================================================================================


28 passed, 1 failed, 2 warnings, 0 aborted, 0 skipped, 0 info only.

Test Failure Summary
===========================================================================================================================================

Critical failures: NONE

High failures: NONE

Medium failures: 1
 dmicheck: String index 0x04 in table entry 'System Information (Type 1)' @ 0xf5b2005c, field 'Serial Number', offset 0x07 has a default value 'Unspecified System Serial Number' and probably has not been updated by the BIOS vendor.

Low failures: NONE

Other failures: NONE

Test           |Pass |Fail |Abort|Warn |Skip |Info |
---------------+-----+-----+-----+-----+-----+-----+
dmicheck       |   28|    1|     |    2|     |     |
---------------+-----+-----+-----+-----+-----+-----+
Total:         |   28|    1|    0|    2|    0|    0|
---------------+-----+-----+-----+-----+-----+-----+

@glimchb
Copy link
Member Author

glimchb commented May 28, 2024

@jcastanos2 , in OPI LAB running on Nvidia BF-2 card , using

sudo add-apt-repository ppa:firmware-testing-team/ppa-fwts-stable
sudo apt-get update
sudo apt-get install fwts

see

root@bf2:~# sudo fwts -r stdout -q dmicheck
sudo: unable to resolve host bf2: Name or service not known
Results generated by fwts: Version V24.03.00 (2024-04-08 03:21:26).

Some of this work - Copyright (c) 1999 - 2023, Intel Corp. All rights reserved.
Some of this work - Copyright (c) 2010 - 2023, Canonical.
Some of this work - Copyright (c) 2016 - 2023, IBM.
Some of this work - Copyright (c) 2017 - 2023, ARM Ltd.

This test run on 28/05/24 at 11:04:35 on host Linux bf2 5.15.0-1042-bluefield #44-Ubuntu SMP Tue Apr 16 11:14:06 UTC 2024 aarch64.

Command: "fwts -r stdout -q dmicheck".
Running tests: dmicheck.

dmicheck: DMI/SMBIOS table tests.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Test 1 of 4: Find and test SMBIOS Table Entry Points.
This test tries to find and sanity check the SMBIOS data structures.
Cannot mmap SMBIOS entry at 0x0xfffe0000
SMBIOS3 entry loaded from /sys/firmware/dmi/tables/smbios_entry_point
PASSED: Test 1, Found SMBIOS30 Table Entry Point at 0x47a7f0000
SMBIOS30 Entry Point Structure:
  Anchor String          : _SM3_
  Checksum               : 0x1e
  Entry Point Length     : 0x18
  Major Version          : 0x03
  Minor Version          : 0x03
  Docrev                 : 0x00
  Entry Point Revision   : 0x01
  Reserved               : 0x00
  Table maximum size     : 0x00000531
  Table address          : 0x000000047a7e0000

PASSED: Test 1, SMBIOS30 Table Entry Point Checksum is valid.
PASSED: Test 1, SMBIOS30 Table Entry Point Length is valid.
SMBIOS30 table loaded from /sys/firmware/dmi/tables/DMI
PASSED: Test 1, SMBIOS 3.0 Table Entry Structure Table Address and Length looks valid.

Test 2 of 4: Test DMI/SMBIOS tables for errors.
SKIPPED: Test 2, Cannot find SMBIOS or DMI table entry, skip the test.

Test 3 of 4: Test DMI/SMBIOS3 tables for errors.
SMBIOS3 entry loaded from /sys/firmware/dmi/tables/smbios_entry_point
SMBIOS30 table loaded from /sys/firmware/dmi/tables/DMI
PASSED: Test 3, Entry @ 0x7a7e0000 'BIOS Information (Type 0)'
PASSED: Test 3, Entry @ 0x7a7e004c 'System Information (Type 1)'
PASSED: Test 3, Entry @ 0x7a7e00bc 'Base Board Information (Type 2)'
PASSED: Test 3, Entry @ 0x7a7e013a 'Chassis Information (Type 3)'
PASSED: Test 3, Entry @ 0x7a7e01be 'Processor Information (Type 4)'
PASSED: Test 3, Entry @ 0x7a7e027d 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0x7a7e02a3 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0x7a7e02c9 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0x7a7e02ef 'Cache Information (Type 7)'
PASSED: Test 3, Entry @ 0x7a7e0315 'Port Connector Information (Type 8)'
PASSED: Test 3, Entry @ 0x7a7e032c 'Port Connector Information (Type 8)'
PASSED: Test 3, Entry @ 0x7a7e033b 'OEM Strings (Type 11)'
PASSED: Test 3, Entry @ 0x7a7e0350 'System Configuration Options (Type 12)'
PASSED: Test 3, Entry @ 0x7a7e0373 'Physical Memory Array (Type 16)'
FAILED [HIGH] DMIValueOutOfRange: Test 3, Out of range value 0x00 (range allowed 0x01..0x07) while accessing entry 'Memory Device (Type 17)' @ 0x7a7e038c, field 'Memory Technology', offset
0x28

ADVICE: A value that is out of range is incorrect and not conforming to the SMBIOS specification. This field is not currently used by the Linux kernel, so this firmware bug shouldn't cause
any problems.


ADVICE: It may be worth checking against section 7.18 of the System Management BIOS (SMBIOS) Reference Specification (see http://www.dmtf.org/standards/smbios).

PASSED: Test 3, Entry @ 0x7a7e0408 'System Boot Information (Type 32)'
PASSED: Test 3, Entry @ 0x7a7e0417 'System Boot Information (Type 32)'
PASSED: Test 3, Entry @ 0x7a7e0424 'Unknown (Type 233)'
PASSED: Test 3, Entry @ 0x7a7e0430 'Memory Array Mapped Address (Type 19)'
PASSED: Test 3, Entry @ 0x7a7e0451 'Memory Array Mapped Address (Type 19)'
PASSED: Test 3, Entry @ 0x7a7e0472 'Memory Array Mapped Address (Type 19)'
PASSED: Test 3, Entry @ 0x7a7e0493 'Management Controller Host Interface (Type 42)'

Test 4 of 4: Test ARM SBBR SMBIOS structure requirements.

=============================================================================================================================================================================================
25 passed, 1 failed, 0 warning, 0 aborted, 1 skipped, 0 info only.
=============================================================================================================================================================================================


25 passed, 1 failed, 0 warning, 0 aborted, 1 skipped, 0 info only.

Test Failure Summary
=============================================================================================================================================================================================

Critical failures: NONE

High failures: 1
 dmicheck: Out of range value 0x00 (range allowed 0x01..0x07) while accessing entry 'Memory Device (Type 17)' @ 0x7a7e038c, field 'Memory Technology', offset 0x28

Medium failures: NONE

Low failures: NONE

Other failures: NONE

Test           |Pass |Fail |Abort|Warn |Skip |Info |
---------------+-----+-----+-----+-----+-----+-----+
dmicheck       |   25|    1|     |     |    1|     |
---------------+-----+-----+-----+-----+-----+-----+
Total:         |   25|    1|    0|    0|    1|    0|
---------------+-----+-----+-----+-----+-----+-----+
root@bf2:~#

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant