Verification done on jammy-proposed.

1) a system/hardware vendor tested and confirmed that:
   - systems with SMBIOS 3.5 report the new fields as expected;
   - systems with SMBIOS < 3.4 keep the old fields as expected.

2) I tested on several physical and virtual machines, and:
   - systems with SMBIOS < 3.4 keep the old fields as expected.
     (see details below and in next comment.)

Physical machines:
- Supermicro AS -2024US-TRT
- Dell PowerEdge R730xd
- HP ProLiant SL390s G7
- HP ProLiant DL360e Gen8
- HP ProLiant DL360 Gen9

Virtual machines:
- Multipass VM
- LXD VM
- OpenStack VM

cheers,
Mauricio

...

Summary and Text/Binary output comparison:
---

Supermicro AS -2024US-TRT

        + grep ^SMBIOS .* present. dmidecode.txt.3.3-3
        SMBIOS 3.2.0 present.
        + grep -A2 ^System Information dmidecode.txt.3.3-3
        System Information
                Manufacturer: Supermicro
                Product Name: AS -2024US-TRT
        + grep -A1 ^BIOS Information dmidecode.txt.3.3-3
        BIOS Information
                Vendor: American Megatrends Inc.

        + md5sum dmidecode.txt.3.3-3 dmidecode.txt.3.3-3ubuntu0.1 
dmidecode.bin.3.3-3 dmidecode.bin.3.3-3ubuntu0.1
        88865ff7234bd4a979579a9d6e9cd7cd  dmidecode.txt.3.3-3
        88865ff7234bd4a979579a9d6e9cd7cd  dmidecode.txt.3.3-3ubuntu0.1
        8d4c657ea8ab82357852322ad16420af  dmidecode.bin.3.3-3
        8d4c657ea8ab82357852322ad16420af  dmidecode.bin.3.3-3ubuntu0.1

Dell PowerEdge R730xd

        + grep ^SMBIOS .* present. dmidecode.txt.3.3-3
        SMBIOS 2.8 present.
        + grep -A2 ^System Information dmidecode.txt.3.3-3
        System Information
                Manufacturer: Dell Inc.
                Product Name: PowerEdge R730xd
        + grep -A1 ^BIOS Information dmidecode.txt.3.3-3
        BIOS Information
                Vendor: Dell Inc.
        + md5sum dmidecode.txt.3.3-3 dmidecode.txt.3.3-3ubuntu0.1 
dmidecode.bin.3.3-3 dmidecode.bin.3.3-3ubuntu0.1
        82d9b0eb5cbc8212f512e499b654a8f3  dmidecode.txt.3.3-3
        82d9b0eb5cbc8212f512e499b654a8f3  dmidecode.txt.3.3-3ubuntu0.1
        fe26b54cdc05cfbfcf3ddf19e90b4c29  dmidecode.bin.3.3-3
        fe26b54cdc05cfbfcf3ddf19e90b4c29  dmidecode.bin.3.3-3ubuntu0.1

HP ProLiant SL390s G7

        + grep ^SMBIOS .* present. dmidecode.txt.3.3-3
        SMBIOS 2.7 present.
        + grep -A2 ^System Information dmidecode.txt.3.3-3
        System Information
                Manufacturer: HP
                Product Name: ProLiant SL390s G7
        + grep -A1 ^BIOS Information dmidecode.txt.3.3-3
        BIOS Information
                Vendor: HP
        + md5sum dmidecode.txt.3.3-3 dmidecode.txt.3.3-3ubuntu0.1 
dmidecode.bin.3.3-3 dmidecode.bin.3.3-3ubuntu0.1
        5b97d7f1aecf02a910b4bfcfc9594945  dmidecode.txt.3.3-3
        5b97d7f1aecf02a910b4bfcfc9594945  dmidecode.txt.3.3-3ubuntu0.1
        b8ff99487efafd209c952dcd79882d84  dmidecode.bin.3.3-3
        b8ff99487efafd209c952dcd79882d84  dmidecode.bin.3.3-3ubuntu0.1

HP ProLiant DL360e Gen8

        + grep ^SMBIOS .* present. dmidecode.txt.3.3-3
        SMBIOS 2.8 present.
        + grep -A2 ^System Information dmidecode.txt.3.3-3
        System Information
                Manufacturer: HP
                Product Name: ProLiant DL360e Gen8
        + grep -A1 ^BIOS Information dmidecode.txt.3.3-3
        BIOS Information
                Vendor: HP
        + md5sum dmidecode.txt.3.3-3 dmidecode.txt.3.3-3ubuntu0.1 
dmidecode.bin.3.3-3 dmidecode.bin.3.3-3ubuntu0.1
        aae595aea144852698376c36023b32f2  dmidecode.txt.3.3-3
        aae595aea144852698376c36023b32f2  dmidecode.txt.3.3-3ubuntu0.1
        b8852c019861c797bbfc80ccb29b49c9  dmidecode.bin.3.3-3
        b8852c019861c797bbfc80ccb29b49c9  dmidecode.bin.3.3-3ubuntu0.1

HP ProLiant DL360 Gen9

        + grep ^SMBIOS .* present. dmidecode.txt.3.3-3
        SMBIOS 2.8 present.
        + grep -A2 ^System Information dmidecode.txt.3.3-3
        System Information
                Manufacturer: HP
                Product Name: ProLiant DL360 Gen9
        + grep -A1 ^BIOS Information dmidecode.txt.3.3-3
        BIOS Information
                Vendor: HP
        + md5sum dmidecode.txt.3.3-3 dmidecode.txt.3.3-3ubuntu0.1 
dmidecode.bin.3.3-3 dmidecode.bin.3.3-3ubuntu0.1
        0609536fcd59c42943457baf4d480c57  dmidecode.txt.3.3-3
        0609536fcd59c42943457baf4d480c57  dmidecode.txt.3.3-3ubuntu0.1
        327aeff813a3db1f18ee5d4cbaee9009  dmidecode.bin.3.3-3
        327aeff813a3db1f18ee5d4cbaee9009  dmidecode.bin.3.3-3ubuntu0.1

Multipass VM

        + grep ^SMBIOS .* present. dmidecode.txt.3.3-3
        SMBIOS 2.8 present.
        + grep -A2 ^System Information dmidecode.txt.3.3-3
        System Information
                Manufacturer: QEMU
                Product Name: Standard PC (i440FX + PIIX, 1996)
        + grep -A1 ^BIOS Information dmidecode.txt.3.3-3
        BIOS Information
                Vendor: SeaBIOS
        + md5sum dmidecode.txt.3.3-3 dmidecode.txt.3.3-3ubuntu0.1 
dmidecode.bin.3.3-3 dmidecode.bin.3.3-3ubuntu0.1
        064cc05ea93377465b52bec9a9dc7355  dmidecode.txt.3.3-3
        064cc05ea93377465b52bec9a9dc7355  dmidecode.txt.3.3-3ubuntu0.1
        52f48a8f75cbec83f5123578fbea03bb  dmidecode.bin.3.3-3
        52f48a8f75cbec83f5123578fbea03bb  dmidecode.bin.3.3-3ubuntu0.1

LXD VM

        + grep ^SMBIOS .* present. dmidecode.txt.3.3-3
        SMBIOS 2.8 present.
        + grep -A2 ^System Information dmidecode.txt.3.3-3
        System Information
                Manufacturer: QEMU
                Product Name: Standard PC (Q35 + ICH9, 2009)
        + grep -A1 ^BIOS Information dmidecode.txt.3.3-3
        BIOS Information
                Vendor: EFI Development Kit II / OVMF
        + md5sum dmidecode.txt.3.3-3 dmidecode.txt.3.3-3ubuntu0.1 
dmidecode.bin.3.3-3 dmidecode.bin.3.3-3ubuntu0.1
        59c889565ca9112c4d12464591729f41  dmidecode.txt.3.3-3
        59c889565ca9112c4d12464591729f41  dmidecode.txt.3.3-3ubuntu0.1
        4839a9161e919c91405997c646e6bc20  dmidecode.bin.3.3-3
        4839a9161e919c91405997c646e6bc20  dmidecode.bin.3.3-3ubuntu0.1

OpenStack VM

        + grep ^SMBIOS .* present. dmidecode.txt.3.3-3
        SMBIOS 2.8 present.
        + grep -A2 ^System Information dmidecode.txt.3.3-3
        System Information
                Manufacturer: OpenStack Foundation
                Product Name: OpenStack Nova
        + grep -A1 ^BIOS Information dmidecode.txt.3.3-3
        BIOS Information
                Vendor: SeaBIOS
        + md5sum dmidecode.txt.3.3-3 dmidecode.txt.3.3-3ubuntu0.1 
dmidecode.bin.3.3-3 dmidecode.bin.3.3-3ubuntu0.1
        836ba00a7f406adccb0c691be22fc1e2  dmidecode.txt.3.3-3
        836ba00a7f406adccb0c691be22fc1e2  dmidecode.txt.3.3-3ubuntu0.1
        c39356351707a5800f6efeff5ecd85f8  dmidecode.bin.3.3-3
        c39356351707a5800f6efeff5ecd85f8  dmidecode.bin.3.3-3ubuntu0.1

Test script:
---

#!/bin/sh

set -ex

for URL in \
  
"https://launchpad.net/ubuntu/+archive/primary/+files/dmidecode_3.3-3ubuntu0.1_amd64.deb";
 \
  
"https://launchpad.net/ubuntu/+archive/primary/+files/dmidecode_3.3-3_amd64.deb";
 \
  ;
do
  wget -O dmidecode.deb "$URL"
  sudo dpkg -i dmidecode.deb
  VERSION="$(dpkg -s dmidecode | awk '/^Version:/ { print $2 }')"
  sudo dmidecode >dmidecode.txt.$VERSION 2>&1
  sudo dmidecode --dump-bin dmidecode.bin.$VERSION
done

grep '^SMBIOS .* present.' dmidecode.txt.3.3-3
grep -A2 '^System Information' dmidecode.txt.3.3-3
grep -A1 '^BIOS Information' dmidecode.txt.3.3-3

md5sum dmidecode.txt.* dmidecode.bin.*

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to dmidecode in Ubuntu.
https://bugs.launchpad.net/bugs/1986852

Title:
  Support SMBIOS 3.4 and 3.5 in Jammy for Hardware Enablement

Status in dmidecode package in Ubuntu:
  Fix Released
Status in dmidecode source package in Jammy:
  Fix Committed
Status in dmidecode source package in Kinetic:
  Fix Released

Bug description:
  [Impact]

   * Support the SMBIOS 3.4 and 3.5 specifications in Jammy
     to enable new hardware in LTS release per SRU policy [1].

   * Backport of 15 relatively simple patches from dmidecode 3.4
     in Kinetic to dmidecode 3.3 in Jammy (vs. 49 for full version).

   * Patches are detailed below.

  [Test Plan]

   * Check no regressions on current systems with SMBIOS < 3.4,
     i.e., no output changes in text and binary form.

      $ sudo dmidecode > old.txt 2>&1
      $ sudo dmidecode --dump-bin old.bin

      $ apt install dmidecode # modified package

      $ sudo dmidecode > new.txt 2>&1
      $ sudo dmidecode --dump-bin new.bin

      $ cmp old.txt new.txt; echo $?
      0

      $ cmp old.bin new.bin; echo $?
      0

   * Check for expected output on new systems with SMBIOS >= 3.4.

     $ diff old.txt new.txt
     ...
     < # SMBIOS implementations newer than version 3.3.0 are not
     < # fully supported by this version of dmidecode.
     ...
     < Unknown Type
     <       Header and Data:
     ...
     > Firmware Inventory Information
     >       Firmware Component Name: BMC Firmware
     ...
     <       Type: <OUT OF SPEC>
     ---
     >       Type: DDR5
     ...
     <       Upgrade: <OUT OF SPEC>
     ---
     >       Upgrade: Socket LGA4677
     ...
     < Unknown Type
     <       Header and Data:
     ...
     > Firmware Inventory Information
     >       Firmware Component Name: BIOS Firmware

  [Where problems could occur]

   * Mostly the patches add support for new bits/codes/strings,
     so there's no changes expected for the old spec support,
     but some patches lightly change things a little bit (but
     only one should change a string, as far as I could tell).

   * So, theoretically, parsers that expect a very precise
     and constant format/string might have issues *in case*
     the changes introduced any. (But such tools maybe are
     already using the binary form anyway, for more detail.)

  [Other info]

    * No additional fixes upstream to the included patches.
      (The git repo's commits have the 'Fixes:' tag usage.)
      There's only 2 more commits after dmidecode-3-4 now.

  [Original Description]

  Backport the support for SMBIOS 3.4 and 3.5 specifications
  in Ubuntu Kinetic (dmidecode 3.4) to Jammy (dmidecode 3.3)
  to enable new hardware in the LTS release per SRU policy [1].

  [1] https://wiki.ubuntu.com/StableReleaseUpdates#Other_safe_cases

  [Patchset Details]

  Patches 1-8,10-11 are for SMBIOS 3.4;
  Patches 9,12-14 are for SMBIOS 3.5;
  Patch 15 updates supported version.

  01: SMBIOS 3.4: add new codes/strings for memory device type
  02: SMBIOS 3.4: add new codes/strings for processor socket
  03: SMBIOS 3.4: add new codes/strings for slot characteristics
  04: SMBIOS 3.4: add new codes/strings for memory device speed [string 
backward-compatible changes]
  05: SMBIOS 3.4: add new codes/strings for slot types [changes append '(U.2)' 
to 'PCI Express {2,3} SFF-8639' per spec]
  06: SMBIOS 3.4: add new codes/strings for processor characteristics
  07: SMBIOS 3.4: fix for patches 5-6
  08: SMBIOS 3.4: add support for ARM64 Processor ID field based on arch call 
[string backward-compatible changes]

  09: SMBIOS 3.5: add new codes/strings for processor socket
  10: SMBIOS 3.4* prep for patch 11 [string backward-compatible changes]
  11: SMBIOS 3.4* add new codes/strings for slot types [string 
backward-compatible changes]
  12: SMBIOS 3.5: add new codes/strings for manufacturing mode, pointing 
devices, onboard devices; introduce slot height
  13: SMBIOS 3.5: introduce firmware inventory information (characteristics, 
state, components
  14: SMBIOS 3.5: add new codes/strings for dmi types
  15: SMBIOS 3.5: set suppported smbios version to 3.5 (straight from 3.3)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dmidecode/+bug/1986852/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to