Feature #9584


Extend smbios enumerator module to enumerate motherboard

Added by Rob Johnston almost 4 years ago. Updated over 3 years ago.

Start date:
Due date:
% Done:


Estimated time:
Gerrit CR:


Currently we statically enumerate a node for the motherboard in the topo snapshot via a hardcoded definition in the topo XML maps.

The downside of this approach is that it prevents us from dynamically picking up useful bits of information like the motherboard model, and firmware version. It should be fairly straightforward to extend the existing smbios topo enumerator module (which currently enumerates DIMM slots and DIMMs) to enumerate the motherboard and populate it with information gleaned from the type 0x0 and type 0x2 SMBIOS records. This approach to enumerating the motherboard would also be inline with what the x86pi enumerator module does on Sun/Oracle hardware.

Note that this change is dependent on upstreaming Joyent ticket OS-6490, which is tracked via the illumos issue 9459.

Actions #1

Updated by Rob Johnston almost 4 years ago

This change has already been integrated into illumos-joyent via the following commit:

commit 016c6e4a03266bfa546041c49c47c62000cded99
Author: Rob Johnston <>
Date:   Mon Feb 12 18:21:14 2018 +0000

    OS-6560 Extend smbios enumerator module to enumerate motherboard
    Reviewed by: Robert Mustacchi <>
    Approved by: Jason King <>
Actions #2

Updated by Rob Johnston over 3 years ago


See joyent bug below for how the chnage was originally tested:

Additionally, I onu'd my OI desktop with this change and tweaked the /usr/platform/i86pc/lib/fm/topo/maps/i86pc-legacy-hc-topology.xml to invoke the smbios enumerator to enumerate the motherboard and verified that it worked:

root@openindiana:/usr/platform/i86pc/lib/fm/topo/maps# fmtopo -V "*motherboard=0" 
TIME                 UUID
Sep 21 12:29:40 68c94869-d9f9-6b5f-9d80-8944e2f85b84

  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=170706753601413:revision=Rev-1.xx/motherboard=0
    FRU               fmri      hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=170706753601413:revision=Rev-1.xx/motherboard=0
    label             string    MB
  group: authority                      version: 1   stability: Private/Private
    product-id        string    System-Product-Name
    chassis-id        string    System-Serial-Number
    server-id         string    openindiana
  group: system                         version: 1   stability: Private/Private
    isa               string    i386
    machine           string    i86pc
  group: motherboard-properties         version: 1   stability: Private/Private
    manufacturer      string    ASUSTeK-COMPUTER-INC.
    product-id        string    TUF-Z270-MARK-2
    assert-tag        string    Default-string
    firmware-vendor   string    American-Megatrends-Inc.
    firmware-revision string    1301
    firmware-release-date string    03-14-2018
Actions #3

Updated by Electric Monk over 3 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit 8522c52a00ba4f8cc5ba2e372ae5b66fd0bb7c26

commit  8522c52a00ba4f8cc5ba2e372ae5b66fd0bb7c26
Author: Rob Johnston <>
Date:   2018-10-06T21:19:45.000Z

    9584 Extend smbios enumerator module to enumerate motherboard
    9850 authority and system pgroups missing on some nodes
    Reviewed by: Robert Mustacchi <>
    Reviewed by: Igor Kozhukhov <>
    Reviewed by: Garrett D'Amore <>
    Approved by: Dan McDonald <>


Also available in: Atom PDF