{"id":11312,"date":"2019-03-13T00:33:07","date_gmt":"2019-03-13T00:33:07","guid":{"rendered":"http:\/\/www.appservgrid.com\/paw92\/?p=11312"},"modified":"2019-03-13T00:33:07","modified_gmt":"2019-03-13T00:33:07","slug":"how-to-get-hardware-information-with-dmidecode-command-on-linux","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/03\/13\/how-to-get-hardware-information-with-dmidecode-command-on-linux\/","title":{"rendered":"How to Get Hardware Information with Dmidecode Command on Linux"},"content":{"rendered":"<p>In this article we\u2019ll see how we can use\u00a0<strong>Dmidecode<\/strong>\u00a0command to retrieve hardware information of any Linux system. Suppose if we want to upgrade a system we need to gather information like\u00a0<strong>Memory<\/strong>,\u00a0<strong>BIOS<\/strong>\u00a0and\u00a0<strong>CPU<\/strong>etc. With help of\u00a0<strong>Dmidecode<\/strong>\u00a0command we will come to know the details without opening system chasis.\u00a0<strong>Dmidecode<\/strong>\u00a0command works for\u00a0<strong>RHEL<\/strong>\/<strong>CentOS<\/strong>\/<strong>Fedora<\/strong>\/<strong>Ubuntu<\/strong>\u00a0Linux.<\/p>\n<div id=\"attachment_2293\" class=\"wp-caption aligncenter\">\n<p><a href=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2013\/02\/Get-hardware-information.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2293\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2013\/02\/Get-hardware-information-300x225.jpg\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2013\/02\/Get-hardware-information-300x225.jpg 300w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2013\/02\/Get-hardware-information.jpg 640w\" alt=\"How to Get Hardware Information in Linux\" width=\"300\" height=\"225\" data-lazy-loaded=\"true\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">How to Get Hardware Information in Linux<\/p>\n<\/div>\n<p><strong>Dmidecode<\/strong>\u00a0tool read\u00a0<strong>DMI<\/strong>\u00a0(some say\u00a0<strong>SMBIOS<\/strong>) table to fetch data and displays useful system informations like\u00a0<strong>hardware details<\/strong>,\u00a0<strong>serial numbers<\/strong>\u00a0and\u00a0<strong>BIOS<\/strong>\u00a0version,\u00a0<strong>Processor<\/strong>\u00a0etc. in human readable format. You may require root priviledge to execute dmidecode command.<\/p>\n<h3>1. Basic Output of Demidecode<\/h3>\n<p>Below is the Demidecode command sample output.<\/p>\n<pre># dmidecode 2.11\r\nSMBIOS version fixup (2.31 -&gt; 2.3).\r\nSMBIOS 2.3 present.\r\n45 structures occupying 1642 bytes.\r\nTable at 0x000E0010.\r\n\r\nHandle 0x0000, DMI type 0, 20 bytes\r\nBIOS Information\r\n        Vendor: Phoenix Technologies LTD\r\n        Version: 6.00\r\n        Release Date: 12\/06\/2006\r\n        Address: 0xE78A0\r\n        Runtime Size: 100192 bytes\r\n        ROM Size: 64 kB\r\n        Characteristics:\r\n                ISA is supported\r\n                PCI is supported\r\n                PC Card (PCMCIA) is supported\r\n                PNP is supported\r\n                APM is supported\r\n                BIOS is upgradeable\r\n                BIOS shadowing is allowed\r\n                ESCD support is available\r\n               USB legacy is supported\r\n                Smart battery is supported\r\n                BIOS boot specification is supported<\/pre>\n<h3>2. How to Get DMI Types<\/h3>\n<p><strong>DMI Id<\/strong>\u00a0give us particular hardware information of system. Dmidecode with options \u2018<strong>-t<\/strong>\u00a0\u2018or \u2018<strong>\u2013type<\/strong>\u2018 and \u2018<strong>Id<\/strong>\u2018 will provide us the exact infromation. Id\u00a0<strong>6<\/strong>\u00a0will give us\u00a0<strong>Memory Module<\/strong>\u00a0information.<\/p>\n<pre>[root@tecmint ~]# dmidecode -t 6\r\n# dmidecode 2.11\r\nSMBIOS version fixup (2.31 -&gt; 2.3).\r\nSMBIOS 2.3 present.\r\n\r\nHandle 0x0009, DMI type 6, 12 bytes\r\nMemory Module Information\r\n        Socket Designation: RAM socket #0\r\n        Bank Connections: 0 1\r\n        Current Speed: Unknown\r\n        Type: EDO DIMM\r\n        Installed Size: 1024 MB (Single-bank Connection)\r\n        Enabled Size: 1024 MB (Single-bank Connection)\r\n        Error Status: OK\r\n\r\nHandle 0x000A, DMI type 6, 12 bytes\r\nMemory Module Information\r\n        Socket Designation: RAM socket #1\r\n        Bank Connections: 2 3\r\n        Current Speed: Unknown\r\n        Type: EDO DIMM\r\n        Installed Size: Not Installed\r\n        Enabled Size: Not Installed\r\n        Error Status: OK\r\n\r\nHandle 0x000B, DMI type 6, 12 bytes\r\nMemory Module Information\r\n        Socket Designation: RAM socket #2\r\n        Bank Connections: 4 5\r\n        Current Speed: Unknown\r\n        Type: EDO DIMM\r\n        Installed Size: Not Installed\r\n        Enabled Size: Not Installed\r\n        Error Status: OK\r\n\r\nHandle 0x000C, DMI type 6, 12 bytes\r\nMemory Module Information\r\n        Socket Designation: RAM socket #3\r\n        Bank Connections: 6 7\r\n        Current Speed: Unknown\r\n        Type: EDO DIMM\r\n        Installed Size: Not Installed\r\n        Enabled Size: Not Installed\r\n        Error Status: OK<\/pre>\n<p><center><\/center>Following are the\u00a0<strong>DMI<\/strong>\u00a0types details.<\/p>\n<pre>\t\tType   Information\r\n\t\t----------------------------------------\r\n          0\t\tBIOS\r\n          1\t\tSystem\r\n          2\t\tBase Board\r\n          3\t\tChassis\r\n          4\t\tProcessor\r\n          5\t\tMemory Controller\r\n          6\t\tMemory Module\r\n          7\t\tCache\r\n          8\t\tPort Connector\r\n          9\t\tSystem Slots\r\n         10\t\tOn Board Devices\r\n         11\t\tOEM Strings\r\n         12\t\tSystem Configuration Options\r\n         13\t\tBIOS Language\r\n         14\t\tGroup Associations\r\n         15\t\tSystem Event Log\r\n         16\t\tPhysical Memory Array\r\n         17\t\tMemory Device\r\n         18\t\t32-bit Memory Error\r\n         19\t\tMemory Array Mapped Address\r\n         20\t\tMemory Device Mapped Address\r\n         21\t\tBuilt-in Pointing Device\r\n         22\t\tPortable Battery\r\n         23\t\tSystem Reset\r\n         24\t\tHardware Security\r\n         25\t\tSystem Power Controls\r\n         26\t\tVoltage Probe\r\n         27\t\tCooling Device\r\n         28\t\tTemperature Probe\r\n         29\t\tElectrical Current Probe\r\n         30\t\tOut-of-band Remote Access\r\n         31\t\tBoot Integrity Services\r\n         32\t\tSystem Boot\r\n         33\t\t64-bit Memory Error\r\n         34\t\tManagement Device\r\n         35\t\tManagement Device Component\r\n         36\t\tManagement Device Threshold Data\r\n         37\t\tMemory Channel\r\n         38\t\tIPMI Device\r\n         39\t\tPower Supply<\/pre>\n<p>Instead of going with \u2018<strong>type_id<\/strong>\u2018 you can also use keyword with \u2018<strong>-t<\/strong>\u2018 argument to the dmidecode command. Following are the list of available keywords.<\/p>\n<pre>\tKeyword     Types\r\n       ------------------------------\r\n       bios        0, 13\r\n       system      1, 12, 15, 23, 32\r\n       baseboard   2, 10\r\n       chassis     3\r\n       processor   4\r\n       memory      5, 6, 16, 17\r\n       cache       7\r\n       connector   8\r\n       slot        9<\/pre>\n<p>For example, to get the\u00a0<strong>Cache<\/strong>\u00a0information on system, you can execute below command instead of Id\u00a0<strong>7<\/strong>.<\/p>\n<pre>[root@tecmint ~]# dmidecode -t cache\r\n# dmidecode 2.11\r\nSMBIOS version fixup (2.31 -&gt; 2.3).\r\nSMBIOS 2.3 present.\r\n\r\nHandle 0x000D, DMI type 7, 19 bytes\r\nCache Information\r\n        Socket Designation: L1 Cache\r\n        Configuration: Enabled, Socketed, Level 1\r\n        Operational Mode: Write Back\r\n        Location: Internal\r\n        Installed Size: 16 kB\r\n        Maximum Size: 16 kB\r\n        Supported SRAM Types:\r\n                Burst\r\n                Pipeline Burst\r\n                Asynchronous\r\n        Installed SRAM Type: Asynchronous\r\n        Speed: Unknown\r\n        Error Correction Type: Unknown\r\n        System Type: Unknown\r\n        Associativity: Unknown\r\n\r\nHandle 0x000E, DMI type 7, 19 bytes\r\nCache Information\r\n        Socket Designation: L2 Cache\r\n        Configuration: Enabled, Socketed, Level 2\r\n        Operational Mode: Write Back\r\n        Location: External\r\n        Installed Size: 0 kB\r\n        Maximum Size: 512 kB\r\n        Supported SRAM Types:\r\n                Burst\r\n                Pipeline Burst\r\n                Asynchronous\r\n        Installed SRAM Type: None\r\n        Speed: Unknown\r\n        Error Correction Type: Unknown\r\n        System Type: Unknown\r\n        Associativity: Unknown<\/pre>\n<h3>3. How to Get Memory Information<\/h3>\n<p>How do i get\u00a0<strong>Memory<\/strong>\u00a0information on system and how much memory is supported by system? The following command shows that the system can support maximum\u00a0<strong>4GB<\/strong>\u00a0of\u00a0<strong>RAM<\/strong>.<\/p>\n<pre>[root@tecmint ~]# dmidecode -t 16\r\n# dmidecode 2.11\r\nSMBIOS version fixup (2.31 -&gt; 2.3).\r\nSMBIOS 2.3 present.\r\n\r\nHandle 0x001D, DMI type 16, 15 bytes\r\nPhysical Memory Array\r\n        Location: System Board Or Motherboard\r\n        Use: System Memory\r\n        Error Correction Type: None\r\n        <b>Maximum Capacity: 4 GB<\/b>\r\n        Error Information Handle: Not Provided\r\n        Number Of Devices: 4<\/pre>\n<p><strong>Note:<\/strong>\u00a0From the keyword list the\u00a0<strong>memory<\/strong>\u00a0related information IDs are\u00a0<strong>5<\/strong>,\u00a0<strong>6<\/strong>,\u00a0<strong>16<\/strong>\u00a0and\u00a0<strong>17<\/strong>.<\/p>\n<h3>4. How Do I Get BIOS information?<\/h3>\n<p>To get the\u00a0<strong>BIOS<\/strong>\u00a0information of the system, run the following command with\u00a0<strong>\u2018-t\u2019<\/strong>\u00a0option.<\/p>\n<pre>[root@tecmint ~]# dmidecode -t bios\r\n# dmidecode 2.11\r\nSMBIOS version fixup (2.31 -&gt; 2.3).\r\nSMBIOS 2.3 present.\r\n\r\nHandle 0x0000, DMI type 0, 20 bytes\r\n<b>BIOS Information<\/b>\r\n        Vendor: Phoenix Technologies LTD\r\n        Version: 6.00\r\n        Release Date: 12\/06\/2006\r\n        Address: 0xE78A0\r\n        Runtime Size: 100192 bytes\r\n        ROM Size: 64 kB\r\n        Characteristics:\r\n                ISA is supported\r\n                PCI is supported\r\n                PC Card (PCMCIA) is supported\r\n                PNP is supported\r\n                APM is supported\r\n                BIOS is upgradeable\r\n                BIOS shadowing is allowed\r\n                ESCD support is available\r\n                USB legacy is supported\r\n                Smart battery is supported\r\n                BIOS boot specification is supported<\/pre>\n<h3>5. How Do I Get the Manufacturer, Model and Serial Number?<\/h3>\n<p>To get the information about\u00a0<strong>Manufacturer<\/strong>,\u00a0<strong>Model<\/strong>\u00a0and\u00a0<strong>Serial Number<\/strong>\u00a0of system, use the following command as shown below.<\/p>\n<pre>[root@tecmint ~]# dmidecode -t system\r\n# dmidecode 2.11\r\nSMBIOS 2.4 present.\r\n\r\nHandle 0x0001, DMI type 1, 27 bytes\r\nSystem Information\r\n        Manufacturer: LENOVO\r\n        Product Name: 9637C76\r\n        Version: ThinkCentre M55e\r\n        Serial Number: L9BT188\r\n        UUID: 8015D37A-2F82-DC11-A3FB-8C6E4EBAD5CE\r\n        Wake-up Type: AC Power Restored\r\n        SKU Number: Not Specified\r\n        Family: Not Specified\r\n\r\nHandle 0x000F, DMI type 12, 5 bytes\r\nSystem Configuration Options\r\n        Option 1: Jumper settings can be described here.\r\n\r\nHandle 0x0010, DMI type 15, 29 bytes\r\nSystem Event Log\r\n        Area Length: 432 bytes\r\n        Header Start Offset: 0x0000\r\n        Header Length: 16 bytes\r\n        Data Start Offset: 0x0010\r\n        Access Method: General-purpose non-volatile data functions\r\n        Access Address: 0x0000\r\n        Status: Valid, Not Full\r\n        Change Token: 0x0000001A\r\n        Header Format: Type 1\r\n        Supported Log Type Descriptors: 3\r\n        Descriptor 1: POST error\r\n        Data Format 1: POST results bitmap\r\n        Descriptor 2: Single-bit ECC memory error\r\n        Data Format 2: Multiple-event\r\n        Descriptor 3: Multi-bit ECC memory error\r\n        Data Format 3: Multiple-event\r\n\r\nHandle 0x0017, DMI type 23, 13 bytes\r\nSystem Reset\r\n        Status: Enabled\r\n        Watchdog Timer: Present\r\n        Boot Option: Do Not Reboot\r\n        Boot Option On Limit: Do Not Reboot\r\n        Reset Count: Unknown\r\n        Reset Limit: Unknown\r\n        Timer Interval: Unknown\r\n        Timeout: Unknown\r\n\r\nHandle 0x001F, DMI type 32, 20 bytes\r\nSystem Boot Information\r\n        Status:<\/pre>\n<p>Please run \u2018<strong>man dmidecode<\/strong>\u2018 from terminal or command prompt to know more about dmidecode.<\/p>\n<p><strong>Read Also<\/strong>:\u00a0<a href=\"https:\/\/www.tecmint.com\/commands-to-collect-system-and-hardware-information-in-linux\/\" target=\"_blank\" rel=\"noopener\">10 Command Line Tools to Get Linux Hardware Information<\/a><\/p>\n<p><a href=\"https:\/\/www.tecmint.com\/how-to-get-hardware-information-with-dmidecode-command-on-linux\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article we\u2019ll see how we can use\u00a0Dmidecode\u00a0command to retrieve hardware information of any Linux system. Suppose if we want to upgrade a system we need to gather information like\u00a0Memory,\u00a0BIOS\u00a0and\u00a0CPUetc. With help of\u00a0Dmidecode\u00a0command we will come to know the details without opening system chasis.\u00a0Dmidecode\u00a0command works for\u00a0RHEL\/CentOS\/Fedora\/Ubuntu\u00a0Linux. How to Get Hardware Information in Linux Dmidecode\u00a0tool &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/03\/13\/how-to-get-hardware-information-with-dmidecode-command-on-linux\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;How to Get Hardware Information with Dmidecode Command on Linux&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11312","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/11312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/comments?post=11312"}],"version-history":[{"count":1,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/11312\/revisions"}],"predecessor-version":[{"id":11313,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/11312\/revisions\/11313"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/media?parent=11312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/categories?post=11312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/tags?post=11312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}