dmidecode fails to output smibios 3.0 info

Bug #1578022 reported by Samantha Jian-Pielak
44
This bug affects 6 people
Affects Status Importance Assigned to Milestone
dmidecode (Ubuntu)
Fix Released
Medium
Colin Ian King
Xenial
Fix Released
Medium
Colin Ian King
Yakkety
Fix Released
Medium
Colin Ian King

Bug Description

[SRU JUSTIFICATION][XENIAL]

Ubuntu 16.04, dmidecode 3.0-2 can display smibios 2.8 but not smibios 3.0. Rhel 7.2 can display smibios 3.0 on the same system without a problem.

[FIX]
Let read_file return the actual data size
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=de9a74e1c60210bee229fcf55b1678a99d1b44dd

dmidecode: Use read_file() to read the DMI table from sysfs
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=364055211b1956539c6a6268e111e244e1292c8c

There's also a couple other SMBIOS 3.0 related fixes that is listed as recomended for 3.0 on http://dmidecode.nongnu.org/

Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=bf7bad24ce141dab5b5acc3ffb98ce5fe4a8e0f9

Use DWORD for Structure table maximum size in SMBIOS3
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=ab02b117511230e46bbef7febbd854b9c832c13c

Without the fix, dmidecode fails to display SMBIOS 3.0 tables. With the fix the headers can be decoded correctly.

[REGRESSION POTENTIAL]
Could break existing dmi table decoding. However, this has been tested on pre 3.0 and 3.0 SMBIOS tables, so the risk seems minimal as it works on a range of DMI table versions.

Revision history for this message
Samantha Jian-Pielak (samantha-jian) wrote :
Revision history for this message
Jeff Lane  (bladernr) wrote :

We found this during certification testing of a couple models from one OEM that apparently use SMIBIOS 3.0.

The failed test shows this in the output:

mmap: Can't map beyond end of file /sys/firmware/dmi/tables/DMI
Table is unreachable, sorry.
*** Incorrect or unknown server chassis type!

Failed 1 test (see above)

We also capture output of dmidecode in the test logs, on the 3.0 system this is all we get in output:

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.
Table at 0x7BB4E000.

Changed in dmidecode (Ubuntu):
status: New → Confirmed
tags: added: hwcert-server
Revision history for this message
Colin Ian King (colin-king) wrote :

Can you supply some more information:

1. Which kernels were being used? (RH 7.2 and Ubuntu)

2. Can you tar up the /sys/firmware directory on both systems so I can see if there any obvious differences at the interface level.

You will need to do that as root to be able to read the data.

Thanks

Changed in dmidecode (Ubuntu):
status: Confirmed → In Progress
importance: Undecided → Medium
assignee: nobody → Colin Ian King (colin-king)
Changed in dmidecode (Ubuntu):
status: In Progress → Incomplete
Revision history for this message
jeffrey leung (jefleung) wrote :

Hi Colin,

We ran into this at Cisco during 16.04 certification, Samantha asked me to collect the data you requested to see if we can be of any help.

kernel versions:
Ubuntu 16.04: 4.4.0-21-generic
RHEL 7.2: 3.10.0-327.el7.x86_64

I've attached dmi_cisco.rar which will have a screenshot with dmidecode output same as Samantha's above, along with the /sys/firmware directories for Ubuntu 16.04 and a fresh install of RHEL 7.2. I executed as root and was able to poke around the directories, but if any issues with the data I can try to recollect.

Thanks,
Jeff

Revision history for this message
Samantha Jian-Pielak (samantha-jian) wrote :

The /sys/firmware tarballs on another system.

"RHEL 7.2 with kernel ver:3.10.0-327.x86_4 (but have update dmi ver to 3.0)and Ubuntu kernel 4.4.0-21-generic"

Revision history for this message
Samantha Jian-Pielak (samantha-jian) wrote :

The /sys/firmware tarballs on another system.

"RHEL 7.2 with kernel ver:3.10.0-327.x86_4 (but have update dmi ver to 3.0)and Ubuntu kernel 4.4.0-21-generic"

Revision history for this message
Samantha Jian-Pielak (samantha-jian) wrote :

use 123 to open the tarball attached in #6.

Changed in dmidecode (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Andre Tomt (andre-tomt) wrote :

Recent BIOS upgrades from Asrock Rack is also hitting this, for example v2.10 for the dual socket Xeon EP2C612D16-2L2T board.

For Asrock at least SMBIOS 3.0 seems to have arrived with Broadwell-EP CPU support (Xeon E5 v4).

Revision history for this message
Andre Tomt (andre-tomt) wrote :

The following two upstream patches is needed to fix this (on my system):

Let read_file return the actual data size
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=de9a74e1c60210bee229fcf55b1678a99d1b44dd

dmidecode: Use read_file() to read the DMI table from sysfs
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=364055211b1956539c6a6268e111e244e1292c8c

There's also a couple other SMBIOS 3.0 related fixes that is listed as recomended for 3.0 on http://dmidecode.nongnu.org/

Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=bf7bad24ce141dab5b5acc3ffb98ce5fe4a8e0f9

Use DWORD for Structure table maximum size in SMBIOS3
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=ab02b117511230e46bbef7febbd854b9c832c13c

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

Hi, I've uploaded an updated dmidecode including the patches mentioned by Andre above to a test ppa:

ppa:colin-king/dmidecode

let me know if this solves the issue, and if it does I'll get it uploaded to Yakkety and SRU'd for Xenial

Changed in dmidecode (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Andre Tomt (andre-tomt) wrote :

Yup, this package fixes it on my systems.

Adam Conrad (adconrad)
Changed in dmidecode (Ubuntu Yakkety):
status: Incomplete → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dmidecode - 3.0-2ubuntu1

---------------
dmidecode (3.0-2ubuntu1) yakkety; urgency=medium

  * Fix decoding of SMBIOS 3.0 tables (LP: #1578022)
    - Pull in upstream fixes to allow dmidecode to decode
      SMBIOS 3.0 tables, 4 upstream fixes:
      + Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3
      + Let read_file return the actual data size of the entry point
      + Use read_file() to read the DMI table from sysfs
      + Use DWORD for Structure table maximum size in SMBIOS3

 -- Colin Ian King <email address hidden> Fri, 13 May 2016 13:42:11 +0100

Changed in dmidecode (Ubuntu Yakkety):
status: Fix Committed → Fix Released
Changed in dmidecode (Ubuntu Xenial):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Colin Ian King (colin-king)
Revision history for this message
Colin Ian King (colin-king) wrote :
description: updated
Revision history for this message
Colin Ian King (colin-king) wrote :
Revision history for this message
Adam Conrad (adconrad) wrote : Please test proposed package

Hello Samantha, or anyone else affected,

Accepted dmidecode into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/dmidecode/3.0-2ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in dmidecode (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
jeffrey leung (jefleung) wrote :

Hi Adam, after enabling -proposed and installing the dmidecode_3.0-2ubuntu0.1 package, it resolved the dmidecode issue.

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

Can this also be SRUd to Trusty?

Revision history for this message
Colin Ian King (colin-king) wrote : Re: [Bug 1578022] Re: dmidecode fails to output smibios 3.0 info

On 19/05/16 16:49, Jeff Lane wrote:
> Can this also be SRUd to Trusty?
>

Backporting it maybe non-trivial, I will have a look and see what is
required.

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

@Jeff, the backport to the much older 2.x version of smbios is just too intrusive and risky for me to deem this worthwhile; this is more like adding a feature to the older version 2 of the code, which is outside of the remit of a SRU, so for Trusty, I'm not going to SRU this.

Revision history for this message
Jeff Lane  (bladernr) wrote :
Download full text (3.5 KiB)

Understood. Thanks for investigating the possibility.

On Fri, May 20, 2016 at 10:43 AM, Colin Ian King
<email address hidden> wrote:
> @Jeff, the backport to the much older 2.x version of smbios is just too
> intrusive and risky for me to deem this worthwhile; this is more like
> adding a feature to the older version 2 of the code, which is outside of
> the remit of a SRU, so for Trusty, I'm not going to SRU this.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1578022
>
> Title:
> dmidecode fails to output smibios 3.0 info
>
> Status in dmidecode package in Ubuntu:
> Fix Released
> Status in dmidecode source package in Xenial:
> Fix Committed
> Status in dmidecode source package in Yakkety:
> Fix Released
>
> Bug description:
> [SRU JUSTIFICATION][XENIAL]
>
> Ubuntu 16.04, dmidecode 3.0-2 can display smibios 2.8 but not smibios
> 3.0. Rhel 7.2 can display smibios 3.0 on the same system without a
> problem.
>
> [FIX]
> Let read_file return the actual data size
> http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=de9a74e1c60210bee229fcf55b1678a99d1b44dd
>
> dmidecode: Use read_file() to read the DMI table from sysfs
> http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=364055211b1956539c6a6268e111e244e1292c8c
>
> There's also a couple other SMBIOS 3.0 related fixes that is listed as
> recomended for 3.0 on http://dmidecode.nongnu.org/
>
> Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3
> http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=bf7bad24ce141dab5b5acc3ffb98ce5fe4a8e0f9
>
> Use DWORD for Structure table maximum size in SMBIOS3
> http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=ab02b117511230e46bbef7febbd854b9c832c13c
>
> Without the fix, dmidecode fails to display SMBIOS 3.0 tables. With
> the fix the headers can be decoded correctly.
>
> [REGRESSION POTENTIAL]
> Could break existing dmi table decoding. However, this has been tested on pre 3.0 and 3.0 SMBIOS tables, so the risk seems minimal as it works on a range of DMI table versions.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/dmidecode/+bug/1578022/+subscriptions
>
> Launchpad-Notification-Type: bug
> Launchpad-Bug: distribution=ubuntu; sourcepackage=dmidecode; component=main; status=Fix Released; importance=Medium; <email address hidden>;
> Launchpad-Bug: distribution=ubuntu; distroseries=xenial; sourcepackage=dmidecode; component=main; status=Fix Committed; importance=Medium; <email address hidden>;
> Launchpad-Bug: distribution=ubuntu; distroseries=yakkety; sourcepackage=dmidecode; component=main; status=Fix Released; importance=Medium; <email address hidden>;
> Launchpad-Bug-Tags: hwcert-server verification-needed
> Launchpad-Bug-Information-Type: Public
> Launchpad-Bug-Private: no
> Launchpad-Bug-Security-Vulnerability: no
> Launchpad-Bug-Commenters: adconrad andre-tomt bladernr colin-king janitor jefleung samantha-jian
> Launchpad-Bug-Reporter: Samantha Jian-Pielak (samantha-jian)
> Launchpad-Bug-Modifier: Colin Ian King (colin-king)
> Lau...

Read more...

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dmidecode - 3.0-2ubuntu0.1

---------------
dmidecode (3.0-2ubuntu0.1) xenial; urgency=medium

  * Fix decoding of SMBIOS 3.0 tables (LP: #1578022)
    - Pull in upstream fixes to allow dmidecode to decode
      SMBIOS 3.0 tables, 4 upstream fixes:
      + Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3
      + Let read_file return the actual data size of the entry point
      + Use read_file() to read the DMI table from sysfs
      + Use DWORD for Structure table maximum size in SMBIOS3

 -- Colin Ian King <email address hidden> Fri, 13 May 2016 13:42:11 +0100

Changed in dmidecode (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Update Released

The verification of the Stable Release Update for dmidecode has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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