Support SMBIOS 3.4 and 3.5 in Jammy for Hardware Enablement
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dmidecode (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Medium
|
Mauricio Faria de Oliveira | ||
Kinetic |
Fix Released
|
Undecided
|
Unassigned |
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:/
[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)
Changed in dmidecode (Ubuntu Jammy): | |
status: | New → Invalid |
Changed in dmidecode (Ubuntu Kinetic): | |
status: | New → In Progress |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
tags: | added: sts |
description: | updated |
tags: | added: patch |
Packages built successfully on supported architectures with build-proposed.
-updates/-proposed on ppa:mfo/build & ppa:mfo/
Uploaded to jammy. Debdiff attached for reference.