FWTS should test for invalid data in BIOS/DMI

Bug #1262236 reported by Jeff Lane 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Firmware Test Suite
Fix Released
Medium
Colin Ian King

Bug Description

There really needs to be testing in FWTS to indicate when a manufacturer has put invalid or incorrect data in the DMI bits of their firmware.
For example:

DMI that reports strings like "O.E.M to fill in" or "TBD" or simply blank, or other strings that look incorrect.

Catching these is NOT an easy task, the test itself is fairly easy, just probe DMI and parse the items that should be parsed. But since the data is completely arbitrary, getting the strings right to match will probably be an ongoing process.

This would be VERY useful for both the client and server teams who do certification testing and could help identify pre-ship-level bios or other potential trouble spots.

Here is a recent example of two DMI types with bad data

Handle 0x0002, DMI type 2, 16 bytes
Base Board Information
 Manufacturer: Type2 - Board Vendor Name1
 Product Name: Type2 - Board Product Name1
 Version: Type2 - Board Version
 Serial Number: Type2 - Board Serial Number
 Asset Tag: Type2 - Board Asset Tag
 Features:
  Board is a hosting board
  Board is replaceable
 Location In Chassis: Type2 - Board Chassis Location
 Chassis Handle: 0x0003
 Type: Motherboard
 Contained Object Handles: 0

Handle 0x0003, DMI type 3, 23 bytes
Chassis Information
 Manufacturer: SeaMicro
 Type: Tower
 Lock: Not Present
 Version: Chassis Version
 Serial Number: Chassis Serial Number
 Asset Tag: Chassis Asset Tag
 Boot-up State: Safe
 Power Supply State: Safe
 Thermal State: Safe
 Security Status: None
 OEM Information: 0x00000000
 Height: Unspecified
 Number Of Power Cords: 1
 Contained Elements: 0
 SKU Number: Not Specified

Revision history for this message
Jeff Lane  (bladernr) wrote :

Additionally, while the strings may well be arbitrary, they're likely common to BIOS vendors, so Phoenix would use the same generic strings, as would AMI, IBM, and whomever else creates firmware.

Revision history for this message
Colin Ian King (colin-king) wrote :

fwts has a dmicheck test that checks for:

        { "DMISerialNumber", "Serial Number", "0123456789" },
        { "DMISerialNumber", "Serial Number", "System Serial Number" },
        { "DMISerialNumber", "Serial Number", "MB-1234567890" },
        { "DMISerialNumber", NULL, "Chassis Serial Number" },
        { "DMIAssetTag", "Asset Tag", "1234567890" },
        { "DMIAssetTag", "Asset Tag", "Asset-1234567890" },
        { "DMIChassisVendor", NULL, "Chassis Manufacture" },
        { "DMIChassisVersion", NULL, "Chassis Version" },
        { "DMIProductVersion", NULL, "System Version" },
        { "DMIBadDefault", NULL, "To Be Filled By O.E.M." },

I guess we need to scrape LP for all the DMI data to get a comprehensive list of weird fields that are not valid.

Colin

Changed in fwts:
status: New → In Progress
importance: Undecided → Low
assignee: nobody → Colin King (colin-king)
Revision history for this message
Colin Ian King (colin-king) wrote :

I've scanned thousands of bug reports and found around 100 or so invalid fields and added them to the test.

Fix send to fwts-devel mailing list: https://lists.ubuntu.com/archives/fwts-devel/2014-January/004255.html

Revision history for this message
Colin Ian King (colin-king) wrote :

If you find any more, please let me know.

Changed in fwts:
importance: Low → Medium
Alex Hung (alexhung)
Changed in fwts:
milestone: none → 14.01.00
status: In Progress → Fix Committed
Revision history for this message
Colin Ian King (colin-king) wrote :

fix committed, commit dde549988e2ad1d2f45650217d7f79d80b0c9973

Alex Hung (alexhung)
Changed in fwts:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.