Sometimes it may be necessary to view the hardware information of a server, laptop or desktop without opening it’s cover. In this post, I’ll explain how to use dmidecode Linux command to get the hardware and BIOS information of the server. DMI stands for Desktop Management interface and SMBIOS stands for System Management BIOS. dmidecode command reads the systems DMI table for the hardware and BIOS information.

dmi_terminal Howto: View The Hardware and BIOS Without Touching a Screw-Driver on Linux SystemApart from giving the information about the current configuration of the system, dmidecode also gives information about the maximum supported configuration of the system. For e.g, It gives information about the current size of the RAM and the maximum RAM size supported by the system.

Let us review the following items in this post:

  1. Understand the dmidecode output
  2. DMI Types
  3. View Memory
  4. View BIOS
  5. View Manufacturer, Model and Serial number of the equipment

1. Understand the dmidecode output:

dmidecode displays the output of the DMI table in the following record format.

Record Header: Handle {record-id}, DMI type {dmi-type-id}, {record-size} bytes
Record Value: {multi-line-record-value}

  • {record-id} is a unique identifier for every record in the DMI table.
  • {dmi-type-id} identifies the type of the record. i.e BIOS, Memory etc.,
  • {record-size} specifies the size of the record in the DMI table.
  • {multi-line-record-values} is the record value for that specific DMI type. This is typically a multi line value.
[local-host]# dmidecode | head -15# dmidecode 2.9SMBIOS 2.3 present.56 structures occupying 1977 bytes.Table at 0×000FB320.

Handle 0xDA00, DMI type 218, 11 bytes {Record 1 Header}OEM-specific Type {Record 1 multi-line value}Header and Data:DA 0B 00 DA B0 00 17 03 08 28 00

Handle 0×0000, DMI type 0, 20 bytes {Record 2 Header}BIOS Information {Record 2 multi-line value}Vendor: Dell Computer CorporationVersion: A07Release Date: 01/13/2004

To display the total number of records in the DMI table, run the following command. Please note that the output of the following command matches total count in the line#3 mentioned above.

[local-host]# dmidecode | grep ^Handle | wc -l56

2. DMI Types

You can get information about a specific hardware component by specifying the DMI Type id. Following command will get the information about the CPU of the system. Please note that you can either pass -t or –type option to the dmidecode command.

[local-host]# dmidecode -t 4# dmidecode 2.9SMBIOS 2.3 present.

Handle 0×0400, DMI type 4, 35 bytesProcessor InformationSocket Designation: Processor 1Type: Central ProcessorFamily: XeonManufacturer: IntelID: 20 0A 00 00 00 00 20 20Signature: Type 0, Family 15, Model 2, Stepping 9

Following are the different DMI types available.

Type Description0   BIOS1   System2   Base Board3   Chassis4   Processor5   Memory Controller6   Memory Module7   Cache8   Port Connector9   System Slots10   On Board Devices11   OEM Strings12   System Configuration Options13   BIOS Language14   Group Associations15   System Event Log16   Physical Memory Array17   Memory Device18   32-bit Memory Error19   Memory Array Mapped Address20   Memory Device Mapped Address21   Built-in Pointing Device22   Portable Battery23   System Reset24   Hardware Security25   System Power Controls26   Voltage Probe27   Cooling Device28   Temperature Probe29   Electrical Current Probe30   Out-of-band Remote Access31   Boot Integrity Services32   System Boot33   64-bit Memory Error34   Management Device35   Management Device Component36   Management Device Threshold Data37   Memory Channel38   IPMI Device39   Power Supply

Instead of type_id, you can also pass the keyword to the -t option of the dmidecode command. Following are the available keywords.

Keyword     DMI Type Idbios        0, 13system      1, 12, 15, 23, 32baseboard   2, 10chassis     3processor   4memory      5, 6, 16, 17cache       7connector   8slot        9

For e.g. to get all the system baseboard related information execute the following command, which will display the type_id 2 and 10

[local-host]# dmidecode -t baseboard# dmidecode 2.9SMBIOS 2.3 present.

Handle 0×0200, DMI type 2, 9 bytesBase Board Information        Manufacturer: Dell Computer Corporation        Product Name: 0A1111        Version: A05        Serial Number: ..A1234567654321.

Handle 0×0A00, DMI type 10, 14 bytesOn Board Device 1 Information        Type: SCSI Controller        Status: Enabled        Description: LSI Logic 53C1030 Ultra 320 SCSI

3. Get Memory information

What is the current memory size? You don’t even need dmidecode for this purpose. You can get this information with the free command as shown below:

[local-host]# freetotal       used       free     shared    buffers     cachedMem:       1034624     549136     485488          0     115424     322816-/+ buffers/cache:     110896     923728Swap:      3148732          0    3148732

What is the maximum RAM supported by the system? To get this information, pass the type id 16 to the dmidecode command as shown below.

[local-host]# dmidecode -t 16# dmidecode 2.9SMBIOS 2.3 present.

Handle 0×1000, DMI type 16, 15 bytesPhysical Memory ArrayLocation: System Board Or MotherboardUse: System MemoryError Correction Type: Multi-bit ECCMaximum Capacity: 8 GBError Information Handle: Not ProvidedNumber Of Devices: 4

How much memory can I expand to? We know the current memory of the system is 1GB. Is this 1 x 1GB (or) 2 x 512MB (or) 4 x 256MB? This can be figured out by passing the type id 17 to the dmidecode command as shown below. Please note in the example below, if you have to expand upto 8GB of maximum RAM, you need to remove the existing 512MB from slot 1 and 2, and use 2GB RAM on all the 4 memory slots.

[local-host]# dmidecode -t 17# dmidecode 2.9SMBIOS 2.3 present.

Handle 0×1100, DMI type 17, 23 bytesMemory DeviceArray Handle: 0×1000Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 512 MB {Slot 1 has 512MB}Form Factor: DIMMSet: 1Locator: DIMM_1ABank Locator: Not SpecifiedType: DDRType Detail: SynchronousSpeed: 266 MHz (3.8 ns)

Handle 0×1101, DMI type 17, 23 bytesMemory DeviceArray Handle: 0×1000Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 512 MB {Slot 2 has 512MB}Form Factor: DIMMSet: 1Locator: DIMM_1BBank Locator: Not SpecifiedType: DDRType Detail: SynchronousSpeed: 266 MHz (3.8 ns)

Handle 0×1102, DMI type 17, 23 bytesMemory DeviceArray Handle: 0×1000Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: No Module Installed {Slot 3 is empty}Form Factor: DIMMSet: 2Locator: DIMM_2ABank Locator: Not SpecifiedType: DDRType Detail: SynchronousSpeed: 266 MHz (3.8 ns)

Handle 0×1103, DMI type 17, 23 bytesMemory DeviceArray Handle: 0×1000Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: No Module Installed {Slot 4 is empty}Form Factor: DIMMSet: 2Locator: DIMM_2BBank Locator: Not SpecifiedType: DDRType Detail: SynchronousSpeed: 266 MHz (3.8 ns)

4. Get BIOS information

[local-host]# dmidecode -t bios# dmidecode 2.9SMBIOS 2.3 present.

Handle 0×0000, DMI type 0, 20 bytesBIOS InformationVendor: Dell Computer CorporationVersion: A07Release Date: 01/13/2004Address: 0xF0000Runtime Size: 64 kBROM Size: 4096 kBCharacteristics:ISA is supportedPCI is supportedPNP is supportedBIOS is upgradeableBIOS shadowing is allowedESCD support is availableBoot from CD is supportedSelectable boot is supportedEDD is supportedJapanese floppy for Toshiba 1.2 MB is supported (int 13h)5.25″/360 KB floppy services are supported (int 13h)5.25″/1.2 MB floppy services are supported (int 13h)3.5″/720 KB floppy services are supported (int 13h)8042 keyboard services are supported (int 9h)Serial services are supported (int 14h)CGA/mono video services are supported (int 10h)ACPI is supportedUSB legacy is supportedLS-120 boot is supportedBIOS boot specification is supportedFunction key-initiated network boot is supported

Handle 0×0D00, DMI type 13, 22 bytesBIOS Language InformationInstallable Languages: 1en|US|iso8859-1Currently Installed Language: en|US|iso8859-1

5. View Manufacturer, Model and Serial number of the equipment

When you call customer support of the equipment, they will typically request this information, which can be obtained as shown below.

[local-host]# dmidecode -t system# dmidecode 2.9SMBIOS 2.3 present.

Handle 0×0100, DMI type 1, 25 bytesSystem InformationManufacturer: Dell Computer CorporationProduct Name: PowerEdge 1750Version: Not SpecifiedSerial Number: 1234567UUID: 44411111-2200-1033-1234-111111503411Wake-up Type: Power Switch

Handle 0×0C00, DMI type 12, 5 bytesSystem Configuration OptionsOption 1: NVRAM_CLR:  Clear user settable NVRAM areas and set defaultsOption 2: PASSWD:  Close to enable password

Handle 0×2000, DMI type 32, 11 bytesSystem Boot InformationStatus: No errors detected

References

If you have more time to explore about DMI and SMBIOS, I recommend that you give a quick glance at the DMI and SMBIOS specifications.

- “This article was written by Ramesh Natarajan. At the The Geek Stuff blog he shares his intensive knowledge and experience on Linux and other Geeky stuff.”

Have a Geeky Day!

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Print This Post Print This Post

If you like this article then subscribe to Linux and Open Source Blog and get the latest articles delivered to your Feedreader. If you want to recieve latest articles in your email click here.

Similar & Related Posts: