If you would like to know information about your system then where you will go and look into … proc filesystem and dmesg. Yes, you will get some information out of it, but that is not the full information. Then you go and search for the spec sheet given my manufacturer to find what you are looking for. But what if you are handling remote system ??

For all these purposes the two utilities which could provide you the complete information are dmidecode & boisdecode. The location of the scripts are /usr/sbin. As these resides in /usr/sbin, so you will be needing root privileges to run these scripts. (root privileges can be gained by using sudo or changing the user to root by “su –“)

BIOSDECODE

The biosdecode command parses the BIOS memory and prints information about all structures or entry points known to it. Following are the current entry point types:

SMBIOS – System Management BIOS

DMI – Desktop Management Interface, a legacy version of SMBIOS

SYSID

PNP – Plug and Play

ACPI – Advanced Configuration and Power Interface

BIOS32 – BIOS32 Service Directory

PIR – PCI IRQ Routing

32OS – BIOS32 Extension, Compaq-specific

SNY – Sony-specific, not decoded

VPD – Vital Product Data, IBM-specific

FJKEYINF – Application Panel, Fujitsu-specific

Following will be the output of the command when you run it with root privileges.

$ sudo biosdecode # biosdecode 2.9 ACPI 1.0 present. OEM Identifier: COMPAQ RSD Table 32-bit Address: 0x7E5C2040 PCI Interrupt Routing 1.0 present. Router ID: 00:1f.0 Exclusive IRQs: None Slot Entry 1: ID 07:04, slot number 1 SYSID present. Revision: 0 Structure Table Address: 0x000F1940 Number Of Structures: 1 PNP BIOS 1.0 present. Event Notification: Not Supported Real Mode 16-bit Code Address: F000:7AE2

This command shows a compact version of the information, not the full. Well, this information doesn’t really make much sense to a normal person. For that we will be using dmidecode, which will give us much sensible information about my system.

DMIDECODE

DMIDECODE stands for “DMI table decoder“. As i had already told you, this will give you much better and verbose information about your system. This commands dumps a computer’s DMI/SMBIOS table contents in a human-readable format. This table contains a description of the system’s hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision. While speed and volume of information is something for which this tool stands for but at the same time the presented information possibly could be unreliable.

DMI table doesn’t only describe what the system is currently made of, it also can report the possible evolutions (such as the fastest supported CPU or the maximal amount of memory supported). Author Alan Cox & Jean Delvare has these lines written in their man page “More often than not, information contained in the DMI tables is inaccurate, incomplete or simply wrong”, which completely clarifies that instead of completely relying on this information, we should match this with information from proc filesystem and dmesg, which should give you enough idea.

When you run the command without any arguments in it, then you will get the complete output and information about your system, a part of which is shown below.

$ sudo dmidecode | less # dmidecode 2.9 SMBIOS 2.5 present. 70 structures occupying 2048 bytes. Table at 0x000EA7C0. Handle 0x0001, DMI type 0, 24 bytes BIOS Information Vendor: Hewlett-Packard Version: 786F2 v01.51 Release Date: 08/01/2008 Address: 0xE0000 Runtime Size: 128 kB ROM Size: 4096 kB Characteristics: PCI is supported PNP is supported

When you are looking for some information then i am sure you must be looking for some specific hardware. dmidecode gives you the option to specify the option at command line.

$ sudo dmidecode -t Type number or keyword expected Valid type keywords are: bios system baseboard chassis processor memory cache connector slot

So, for example if you would like to know the information about the baseboard installed in your system, that can be done like this.

$ sudo dmidecode -t baseboard # dmidecode 2.9 SMBIOS 2.5 present. Handle 0x0003, DMI type 2, 14 bytes Base Board Information Manufacturer: Hewlett-Packard Product Name: 2820h Version: Not Specified Serial Number: SGH945P5VG

You can also use the number type as the value for the “-t” argument. You can use the following number individually or in a comma separated list to get the information

Type Information

—————-

0 BIOS

1 System

2 Base Board

3 Chassis

4 Processor

5 Memory Controller

6 Memory Module

7 Cache

8 Port Connector

9 System Slots

10 On Board Devices

11 OEM Strings

12 System Configuration Options

13 BIOS Language

14 Group Associations

15 System Event Log

16 Physical Memory Array

17 Memory Device

18 32-bit Memory Error

19 Memory Array Mapped Address

20 Memory Device Mapped Address

21 Built-in Pointing Device

22 Portable Battery

23 System Reset

24 Hardware Security

25 System Power Controls

26 Voltage Probe

27 Cooling Device

28 Temperature Probe

29 Electrical Current Probe

30 Out-of-band Remote Access

31 Boot Integrity Services

32 System Boot

33 64-bit Memory Error

34 Management Device

35 Management Device Component

36 Management Device Threshold Data

37 Memory Channel

38 IPMI Device

39 Power Supply

I tried these commands at my system and got correct results. Please try these at your system and drop a comment in case you found some inaccurate results.

Resources:

Man pages of biosdecode & dmidecode written by Alan Cox & Jean Delvare

If you enjoyed this post, make sure you subscribe to my RSS feed !!!!