dmi_dell_device_bay

Synopsis

#include <opendmi/entity/dell/device-bay.h>

typedef struct dmi_dell_device_bay {
    uint8_t unknown_1;
    const char *name;
    const char *supported_devices;
    const char *installed_device;
    uint8_t unknown_2;
    const char *unknown_string_1;
    const char *unknown_string_2;
    bool has_unknown_strings;
} dmi_dell_device_bay_t;

Description

The dmi_dell_device_bay_t structure holds the decoded Dell device bay (type 219), which describes a bay of a laptop or of its docking station that takes one of several devices, e.g. an optical drive or a second battery. The structures are found on Latitude laptops, e.g. Latitude D500, D610 and E6230, and newer systems which have no bay carry one of blank strings, e.g. Precision M3800 and G15 5515.

The structure is returned by dmi_entity_info for the structures decoded by dmi_dell_device_bay_spec, of type DMI_TYPE(dell_device_bay), declared in <opendmi/module/dell.h>, once the Dell extension module (dmi_dell_module) is enabled. It lives as long as the context it has been decoded in.

Some Dell platforms give type 219 to the Intel Management Engine interface information, see dmi_intel_mei, which is told by its signature, and the specification decodes the other structures of the type.

The layout is reverse engineered from the dumps of the data corpus, since no public source describes the structure, and the members whose meaning is not established are named after their position.

Fields

unknown_1

Value whose meaning is not established, 3 on the systems which have a bay, and 0 or 2 on the ones which have none.

name

Name of the bay, e.g. System Device Bay or Dock DBay.

supported_devices

Devices the bay takes, separated by commas, e.g. Floppy, Battery, CD-ROM, CD-RW, Hard Disk, DVD.

installed_device

Device the bay holds, e.g. Battery, or EMPTY for none, padded with spaces by the firmware.

unknown_2

Value whose meaning is not established, 0xFF in most known data, and 0 on Precision M3800.

unknown_string_1, unknown_string_2

Strings whose meaning is not established, which the structures of 11 bytes refer to, e.g. blank ones on Precision M3800 or 00h on G15 5515. Not shown when has_unknown_strings is not set.

has_unknown_strings

Whether the structure refers to unknown_string_1 and unknown_string_2, which the structures of 9 bytes leave out.

Standards

Not part of the SMBIOS specification. Defined by Dell firmware, and reverse engineered from the data corpus.