├── .travis.yml ├── LICENSE ├── README.md ├── test_data ├── ubuntu_14.04_LTS_64bit_vmware.txt ├── centos_6.5_64bit_oem.txt └── centos_6.5_64bit_dell.txt ├── dmidecode_test.go └── dmidecode.go /.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | before_install: 4 | - go get -t -v ./... 5 | 6 | script: 7 | - sudo -E env "PATH=$PATH" go test -v ./... 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Daniel Selans 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/dselans/dmidecode.svg?branch=master)](https://travis-ci.org/dselans/dmidecode) 2 | 3 | dmidecode 4 | ========= 5 | `dmidecode` is a Go library that parses the output of the `dmidecode` command 6 | and makes it accessible via a simple map data structure. 7 | 8 | In addition, the library exposes a couple of convenience methods for quicker record lookups. 9 | 10 | ## Usage 11 | 12 | ```go 13 | import ( 14 | dmidecode "github.com/dselans/dmidecode" 15 | ) 16 | 17 | dmi := dmidecode.New() 18 | 19 | if err := dmi.Run(); err != nil { 20 | fmt.Printf("Unable to get dmidecode information. Error: %v\n", err) 21 | } 22 | 23 | // You can search by record name 24 | byNameData, byNameErr := dmi.SearchByName("System Information") 25 | 26 | // or you can also search by record type 27 | byTypeData, byTypeErr := dmi.SearchByType(1) 28 | 29 | // or you can just access the data directly 30 | for handle, record := range dmi.Data { 31 | fmt.Println("Checking record:", handle) 32 | for k, v := range record { 33 | fmt.Printf("Key: %v Val: %v\n", k, v) 34 | } 35 | } 36 | ``` 37 | 38 | ## Note(s) 39 | * Record elements which contain an array/list, are stored as strings separated by 2 tabs (same as in `dmidecode` output). This may change in the future, but for the time being it's simple and quick. 40 | * `dmidecode` requires root privs to run as the binary reads `/dev/mem`. 41 | * _I wrote this lib as I was learning Go_ - meaning, it is probably not idiomatic Go code and "things" could be (a lot) better :-) 42 | 43 | -------------------------------------------------------------------------------- /test_data/ubuntu_14.04_LTS_64bit_vmware.txt: -------------------------------------------------------------------------------- 1 | # dmidecode 2.12 2 | SMBIOS 2.5 present. 3 | 10 structures occupying 449 bytes. 4 | Table at 0x000E1000. 5 | 6 | Handle 0x0000, DMI type 0, 20 bytes 7 | BIOS Information 8 | Vendor: innotek GmbH 9 | Version: VirtualBox 10 | Release Date: 12/01/2006 11 | Address: 0xE0000 12 | Runtime Size: 128 kB 13 | ROM Size: 128 kB 14 | Characteristics: 15 | ISA is supported 16 | PCI is supported 17 | Boot from CD is supported 18 | Selectable boot is supported 19 | 8042 keyboard services are supported (int 9h) 20 | CGA/mono video services are supported (int 10h) 21 | ACPI is supported 22 | 23 | Handle 0x0001, DMI type 1, 27 bytes 24 | System Information 25 | Manufacturer: innotek GmbH 26 | Product Name: VirtualBox 27 | Version: 1.2 28 | Serial Number: 0 29 | UUID: F548DD5F-057D-4F7F-9465-FC529E045C08 30 | Wake-up Type: Power Switch 31 | SKU Number: Not Specified 32 | Family: Virtual Machine 33 | 34 | Handle 0x0008, DMI type 2, 15 bytes 35 | Base Board Information 36 | Manufacturer: Oracle Corporation 37 | Product Name: VirtualBox 38 | Version: 1.2 39 | Serial Number: 0 40 | Asset Tag: Not Specified 41 | Features: 42 | Board is a hosting board 43 | Location In Chassis: Not Specified 44 | Chassis Handle: 0x0003 45 | Type: Motherboard 46 | Contained Object Handles: 0 47 | 48 | Handle 0x0003, DMI type 3, 13 bytes 49 | Chassis Information 50 | Manufacturer: Oracle Corporation 51 | Type: Other 52 | Lock: Not Present 53 | Version: Not Specified 54 | Serial Number: Not Specified 55 | Asset Tag: Not Specified 56 | Boot-up State: Safe 57 | Power Supply State: Safe 58 | Thermal State: Safe 59 | Security Status: None 60 | 61 | Handle 0x0007, DMI type 126, 42 bytes 62 | Inactive 63 | 64 | Handle 0x0005, DMI type 126, 15 bytes 65 | Inactive 66 | 67 | Handle 0x0006, DMI type 126, 28 bytes 68 | Inactive 69 | 70 | Handle 0x0002, DMI type 11, 7 bytes 71 | OEM Strings 72 | String 1: vboxVer_4.3.20 73 | String 2: vboxRev_96996 74 | 75 | Handle 0x0008, DMI type 128, 8 bytes 76 | OEM-specific Type 77 | Header and Data: 78 | 80 08 08 00 E1 63 22 00 79 | 80 | Handle 0xFEFF, DMI type 127, 4 bytes 81 | End Of Table 82 | 83 | -------------------------------------------------------------------------------- /dmidecode_test.go: -------------------------------------------------------------------------------- 1 | // These tests will only run where a `dmidecode` binary is available - sorry! 2 | package dmidecode 3 | 4 | import ( 5 | "io/ioutil" 6 | "os" 7 | "path/filepath" 8 | "testing" 9 | ) 10 | 11 | const ( 12 | fakeBinary string = "time4soup" 13 | testDir string = "test_data" 14 | ) 15 | 16 | func TestFindBin(t *testing.T) { 17 | dmi := New() 18 | 19 | if _, err := dmi.FindBin("time4soup"); err == nil { 20 | t.Error("Should not be able to find a missing binary") 21 | } 22 | 23 | bin, findErr := dmi.FindBin("dmidecode") 24 | if findErr != nil { 25 | t.Errorf("Should be able to find a binary. Error: %v", findErr) 26 | } 27 | 28 | _, statErr := os.Stat(bin) 29 | 30 | if statErr != nil { 31 | t.Errorf("Should be able to lookup found file. Error: %v", statErr) 32 | } 33 | } 34 | 35 | func TestExecDmidecode(t *testing.T) { 36 | dmi := New() 37 | 38 | if _, err := dmi.ExecDmidecode("/bin/" + fakeBinary); err == nil { 39 | t.Errorf("Should get an error trying to execute a fake binary. Error: %v", err) 40 | } 41 | 42 | bin, findErr := dmi.FindBin("dmidecode") 43 | if findErr != nil { 44 | t.Errorf("Should be able to find binary. Error: %v", findErr) 45 | } 46 | 47 | output, execErr := dmi.ExecDmidecode(bin) 48 | 49 | if execErr != nil { 50 | t.Errorf("Should not get errors executing '%v'. Error: %v", bin, execErr) 51 | } 52 | 53 | if len(output) == 0 { 54 | t.Errorf("Output should not be empty") 55 | } 56 | } 57 | 58 | func TestParseDmidecode(t *testing.T) { 59 | dmi := New() 60 | 61 | bin, findErr := dmi.FindBin("dmidecode") 62 | if findErr != nil { 63 | t.Errorf("Should be able to find binary. Error: %v", findErr) 64 | } 65 | 66 | output, execErr := dmi.ExecDmidecode(bin) 67 | 68 | if execErr != nil { 69 | t.Errorf("Should not get errors executing '%v'. Error: %v", bin, execErr) 70 | } 71 | 72 | if err := dmi.ParseDmidecode(output); err != nil { 73 | t.Error("Should not receive an error after parsing dmidecode output") 74 | } 75 | 76 | if len(dmi.Data) == 0 { 77 | t.Error("Parsed data structure should have more than 0 entries") 78 | } 79 | 80 | files, globErr := filepath.Glob(testDir + "/*") 81 | if globErr != nil { 82 | t.Errorf("Should not receive errors during '%v' glob. Error: %v", testDir, globErr) 83 | } 84 | 85 | for _, file := range files { 86 | // Let's clear it out, each iteration (just in case) 87 | dmi.Data = make(map[string][]Record) 88 | 89 | data, readErr := ioutil.ReadFile(file) 90 | if readErr != nil { 91 | t.Errorf("Should not receive errors while reading contents of '%v'. Error: %v", file, readErr) 92 | } 93 | 94 | if err := dmi.ParseDmidecode(string(data)); err != nil { 95 | t.Errorf("Should not get errors while parsing '%v'. Error: %v", file, err) 96 | } 97 | 98 | if len(dmi.Data) == 0 { 99 | t.Errorf("Data length should be larger than 0 after reading '%v'", file) 100 | } 101 | } 102 | } 103 | 104 | func TestRun(t *testing.T) { 105 | dmi := New() 106 | 107 | if err := dmi.Run(); err != nil { 108 | t.Errorf("Run() should not return any errors. Error: %v", err) 109 | } 110 | } 111 | 112 | func TestSearchBy(t *testing.T) { 113 | dmi := New() 114 | 115 | if _, err := dmi.SearchByName("System Information"); err == nil { 116 | t.Error("Should have received an error when Search ran prior to .Run()") 117 | } 118 | 119 | if _, err := dmi.SearchByType(1); err == nil { 120 | t.Error("Should have received an error when Search ran prior to .Run()") 121 | } 122 | 123 | if _, err := dmi.GenericSearchBy("DMIName", "System Information"); err == nil { 124 | t.Error("Should have received an error when Search ran prior to .Run()") 125 | } 126 | 127 | if err := dmi.Run(); err != nil { 128 | t.Errorf("Run() should not return any errors. Error: %v", err) 129 | } 130 | 131 | byNameData, byNameErr := dmi.SearchByName("System Information") 132 | if byNameErr != nil { 133 | t.Errorf("Shouldn't receive errors when searching by name. Error: %v", byNameErr) 134 | } 135 | 136 | if len(byNameData) == 0 { 137 | t.Error("Returned data should have more than 0 records") 138 | } 139 | 140 | byTypeData, byTypeErr := dmi.SearchByType(1) 141 | if byTypeErr != nil { 142 | t.Errorf("Shouldn't receive errors when searching by name. Error: %v", byTypeErr) 143 | } 144 | 145 | if len(byTypeData) == 0 { 146 | t.Error("Returned data should have more than 0 records") 147 | } 148 | 149 | genericData, genericErr := dmi.GenericSearchBy("DMIName", "System Information") 150 | if genericErr != nil { 151 | t.Errorf("Shouldn't receive errors when searching by name. Error: %v", genericErr) 152 | } 153 | 154 | if len(genericData) == 0 { 155 | t.Error("Returned data should have more than 0 records") 156 | } 157 | } 158 | -------------------------------------------------------------------------------- /dmidecode.go: -------------------------------------------------------------------------------- 1 | package dmidecode 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "os/exec" 7 | "regexp" 8 | "strconv" 9 | "strings" 10 | ) 11 | 12 | const ( 13 | DMIDecodeBinary = "dmidecode" 14 | ) 15 | 16 | type Record map[string]string 17 | 18 | type DMI struct { 19 | Data map[string][]Record 20 | Binary string 21 | } 22 | 23 | func New() *DMI { 24 | return &DMI{ 25 | Data: make(map[string][]Record, 0), 26 | Binary: DMIDecodeBinary, 27 | } 28 | } 29 | 30 | // Run will attempt to find a a valid `dmidecode` bin, attempt to execute it and 31 | // parse whatever data it gets. 32 | func (d *DMI) Run() error { 33 | bin, err := d.FindBin(d.Binary) 34 | if err != nil { 35 | return err 36 | } 37 | 38 | output, err := d.ExecDmidecode(bin) 39 | if err != nil { 40 | return err 41 | } 42 | 43 | return d.ParseDmidecode(output) 44 | } 45 | 46 | // FindBin will attempt to find a given binary in common bin paths. 47 | func (d *DMI) FindBin(binary string) (string, error) { 48 | locations := []string{"/sbin", "/usr/sbin", "/usr/local/sbin"} 49 | 50 | for _, path := range locations { 51 | lookup := path + "/" + binary 52 | 53 | fileInfo, err := os.Stat(path + "/" + binary) 54 | if err != nil { 55 | continue 56 | } 57 | 58 | if !fileInfo.IsDir() { 59 | return lookup, nil 60 | } 61 | } 62 | 63 | return "", fmt.Errorf("Unable to find the '%v' binary", binary) 64 | } 65 | 66 | // ExecDmiDecode will attempt to execute a given binary, capture its output and 67 | // return it (or an any errors it encounters) 68 | func (d *DMI) ExecDmidecode(binary string) (string, error) { 69 | cmd := exec.Command(binary) 70 | 71 | output, err := cmd.Output() 72 | if err != nil { 73 | return "", err 74 | } 75 | 76 | return string(output), nil 77 | } 78 | 79 | // ParseDmiDecode will attempt to parse dmidecode output and place all matching 80 | // content in d.Data. 81 | func (d *DMI) ParseDmidecode(output string) error { 82 | // Each record is separated by double newlines 83 | splitOutput := strings.Split(output, "\n\n") 84 | 85 | for _, record := range splitOutput { 86 | recordElements := strings.Split(record, "\n") 87 | 88 | // Entries with less than 3 lines are incomplete/inactive; skip them 89 | if len(recordElements) < 3 { 90 | continue 91 | } 92 | 93 | handleRegex, _ := regexp.Compile("^Handle\\s+(.+),\\s+DMI\\s+type\\s+(\\d+),\\s+(\\d+)\\s+bytes$") 94 | handleData := handleRegex.FindStringSubmatch(recordElements[0]) 95 | 96 | if len(handleData) == 0 { 97 | continue 98 | } 99 | 100 | dmiHandle := handleData[1] 101 | 102 | r := Record{} 103 | r["DMIType"] = handleData[2] 104 | r["DMISize"] = handleData[3] 105 | 106 | // Okay, we know 2nd line == name 107 | r["DMIName"] = recordElements[1] 108 | 109 | inBlockElement := "" 110 | inBlockList := "" 111 | 112 | // Loop over the rest of the record, gathering values 113 | for i := 2; i < len(recordElements); i++ { 114 | // Check whether we are inside a \t\t block 115 | if inBlockElement != "" { 116 | inBlockRegex, _ := regexp.Compile("^\\t\\t(.+)$") 117 | inBlockData := inBlockRegex.FindStringSubmatch(recordElements[i]) 118 | 119 | if len(inBlockData) > 0 { 120 | if len(inBlockList) == 0 { 121 | inBlockList = inBlockData[1] 122 | } else { 123 | inBlockList = inBlockList + "\t\t" + inBlockData[1] 124 | } 125 | r[inBlockElement] = inBlockList 126 | continue 127 | } else { 128 | // We are out of the \t\t block; reset it again, and let 129 | // the parsing continue 130 | inBlockElement = "" 131 | } 132 | } 133 | 134 | recordRegex, _ := regexp.Compile("\\t(.+):\\s+(.+)$") 135 | recordData := recordRegex.FindStringSubmatch(recordElements[i]) 136 | 137 | // Is this the line containing handle identifier, type, size? 138 | if len(recordData) > 0 { 139 | r[recordData[1]] = recordData[2] 140 | continue 141 | } 142 | 143 | // Didn't match regular entry, maybe an array of data? 144 | recordRegex2, _ := regexp.Compile("\\t(.+):$") 145 | recordData2 := recordRegex2.FindStringSubmatch(recordElements[i]) 146 | 147 | if len(recordData2) > 0 { 148 | // This is an array of data - let the loop know we are inside 149 | // an array block 150 | inBlockElement = recordData2[1] 151 | continue 152 | } 153 | } 154 | 155 | d.Data[dmiHandle] = append(d.Data[dmiHandle], r) 156 | } 157 | 158 | if len(d.Data) == 0 { 159 | return fmt.Errorf("unable to parse 'dmidecode' output") 160 | } 161 | 162 | return nil 163 | } 164 | 165 | // GenericSearchBy will search for any param w/ value in the d.Data map. 166 | func (d *DMI) GenericSearchBy(param, value string) ([]Record, error) { 167 | if len(d.Data) == 0 { 168 | return nil, fmt.Errorf("DMI data is empty; make sure to .Run() first") 169 | } 170 | 171 | var records []Record 172 | 173 | for _, v := range d.Data { 174 | for _, d := range v { 175 | if d[param] != value { 176 | continue 177 | } 178 | 179 | records = append(records, d) 180 | } 181 | } 182 | 183 | return records, nil 184 | } 185 | 186 | // SearchByName will search for a specific DMI record by name in d.Data 187 | func (d *DMI) SearchByName(name string) ([]Record, error) { 188 | return d.GenericSearchBy("DMIName", name) 189 | } 190 | 191 | // SearchByType will search for a specific DMI record by its type in d.Data 192 | func (d *DMI) SearchByType(id int) ([]Record, error) { 193 | return d.GenericSearchBy("DMIType", strconv.Itoa(id)) 194 | } 195 | -------------------------------------------------------------------------------- /test_data/centos_6.5_64bit_oem.txt: -------------------------------------------------------------------------------- 1 | # dmidecode 2.12 2 | SMBIOS 2.4 present. 3 | 28 structures occupying 1399 bytes. 4 | Table at 0x000FB9C0. 5 | 6 | Handle 0x0000, DMI type 0, 24 bytes 7 | BIOS Information 8 | Vendor: American Megatrends Inc. 9 | Version: P1.30 10 | Release Date: 10/27/2006 11 | Address: 0xF0000 12 | Runtime Size: 64 kB 13 | ROM Size: 512 kB 14 | Characteristics: 15 | PCI is supported 16 | PNP is supported 17 | BIOS is upgradeable 18 | BIOS shadowing is allowed 19 | Boot from CD is supported 20 | Selectable boot is supported 21 | BIOS ROM is socketed 22 | EDD is supported 23 | 5.25"/1.2 MB floppy services are supported (int 13h) 24 | 3.5"/720 kB floppy services are supported (int 13h) 25 | 3.5"/2.88 MB floppy services are supported (int 13h) 26 | Print screen service is supported (int 5h) 27 | 8042 keyboard services are supported (int 9h) 28 | Serial services are supported (int 14h) 29 | Printer services are supported (int 17h) 30 | CGA/mono video services are supported (int 10h) 31 | ACPI is supported 32 | USB legacy is supported 33 | LS-120 boot is supported 34 | ATAPI Zip drive boot is supported 35 | BIOS boot specification is supported 36 | Function key-initiated network boot is supported 37 | Targeted content distribution is supported 38 | BIOS Revision: 8.12 39 | 40 | Handle 0x0001, DMI type 1, 27 bytes 41 | System Information 42 | Manufacturer: To Be Filled By O.E.M. 43 | Product Name: To Be Filled By O.E.M. 44 | Version: To Be Filled By O.E.M. 45 | Serial Number: To Be Filled By O.E.M. 46 | UUID: 00020003-0004-0005-0006-000700080009 47 | Wake-up Type: Power Switch 48 | SKU Number: To Be Filled By O.E.M. 49 | Family: To Be Filled By O.E.M. 50 | 51 | Handle 0x0002, DMI type 2, 15 bytes 52 | Base Board Information 53 | Manufacturer: 54 | Product Name: ConRoe945G-DVI 55 | Version: 56 | Serial Number: 57 | Asset Tag: 58 | Features: 59 | Board is a hosting board 60 | Board is replaceable 61 | Location In Chassis: 62 | Chassis Handle: 0x0003 63 | Type: Motherboard 64 | Contained Object Handles: 0 65 | 66 | Handle 0x0003, DMI type 3, 21 bytes 67 | Chassis Information 68 | Manufacturer: To Be Filled By O.E.M. 69 | Type: Desktop 70 | Lock: Not Present 71 | Version: To Be Filled By O.E.M. 72 | Serial Number: To Be Filled By O.E.M. 73 | Asset Tag: To Be Filled By O.E.M. 74 | Boot-up State: Safe 75 | Power Supply State: Safe 76 | Thermal State: Safe 77 | Security Status: None 78 | OEM Information: 0x00000000 79 | Height: Unspecified 80 | Number Of Power Cords: 1 81 | Contained Elements: 0 82 | 83 | Handle 0x0004, DMI type 4, 35 bytes 84 | Processor Information 85 | Socket Designation: CPUSocket 86 | Type: Central Processor 87 | Family: Core 2 88 | Manufacturer: Intel 89 | ID: F6 06 00 00 FF FB EB BF 90 | Signature: Type 0, Family 6, Model 15, Stepping 6 91 | Flags: 92 | FPU (Floating-point unit on-chip) 93 | VME (Virtual mode extension) 94 | DE (Debugging extension) 95 | PSE (Page size extension) 96 | TSC (Time stamp counter) 97 | MSR (Model specific registers) 98 | PAE (Physical address extension) 99 | MCE (Machine check exception) 100 | CX8 (CMPXCHG8 instruction supported) 101 | APIC (On-chip APIC hardware supported) 102 | SEP (Fast system call) 103 | MTRR (Memory type range registers) 104 | PGE (Page global enable) 105 | MCA (Machine check architecture) 106 | CMOV (Conditional move instruction supported) 107 | PAT (Page attribute table) 108 | PSE-36 (36-bit page size extension) 109 | CLFSH (CLFLUSH instruction supported) 110 | DS (Debug store) 111 | ACPI (ACPI supported) 112 | MMX (MMX technology supported) 113 | FXSR (FXSAVE and FXSTOR instructions supported) 114 | SSE (Streaming SIMD extensions) 115 | SSE2 (Streaming SIMD extensions 2) 116 | SS (Self-snoop) 117 | HTT (Multi-threading) 118 | TM (Thermal monitor supported) 119 | PBE (Pending break enabled) 120 | Version: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz 121 | Voltage: 1.3 V 122 | External Clock: 266 MHz 123 | Max Speed: 2400 MHz 124 | Current Speed: 2400 MHz 125 | Status: Populated, Enabled 126 | Upgrade: Other 127 | L1 Cache Handle: 0x0005 128 | L2 Cache Handle: 0x0006 129 | L3 Cache Handle: Not Provided 130 | Serial Number: To Be Filled By O.E.M. 131 | Asset Tag: To Be Filled By O.E.M. 132 | Part Number: To Be Filled By O.E.M. 133 | 134 | Handle 0x0005, DMI type 7, 19 bytes 135 | Cache Information 136 | Socket Designation: L1-Cache 137 | Configuration: Enabled, Not Socketed, Level 1 138 | Operational Mode: Write Back 139 | Location: Internal 140 | Installed Size: 64 kB 141 | Maximum Size: 64 kB 142 | Supported SRAM Types: 143 | Other 144 | Installed SRAM Type: Other 145 | Speed: Unknown 146 | Error Correction Type: Parity 147 | System Type: Data 148 | Associativity: 8-way Set-associative 149 | 150 | Handle 0x0006, DMI type 7, 19 bytes 151 | Cache Information 152 | Socket Designation: L2-Cache 153 | Configuration: Enabled, Not Socketed, Level 2 154 | Operational Mode: Write Back 155 | Location: Internal 156 | Installed Size: 4096 kB 157 | Maximum Size: 4096 kB 158 | Supported SRAM Types: 159 | Other 160 | Installed SRAM Type: Other 161 | Speed: Unknown 162 | Error Correction Type: Single-bit ECC 163 | System Type: Instruction 164 | Associativity: 8-way Set-associative 165 | 166 | Handle 0x0007, DMI type 5, 24 bytes 167 | Memory Controller Information 168 | Error Detecting Method: 64-bit ECC 169 | Error Correcting Capabilities: 170 | None 171 | Supported Interleave: One-way Interleave 172 | Current Interleave: One-way Interleave 173 | Maximum Memory Module Size: 4096 MB 174 | Maximum Total Memory Size: 16384 MB 175 | Supported Speeds: 176 | Other 177 | Supported Memory Types: 178 | DIMM 179 | SDRAM 180 | Memory Module Voltage: 3.3 V 181 | Associated Memory Slots: 4 182 | 0x0008 183 | 0x0009 184 | 0x000A 185 | 0x000B 186 | Enabled Error Correcting Capabilities: 187 | None 188 | 189 | Handle 0x0008, DMI type 6, 12 bytes 190 | Memory Module Information 191 | Socket Designation: DIMM0 192 | Bank Connections: 0 1 193 | Current Speed: Unknown 194 | Type: DIMM SDRAM 195 | Installed Size: 1024 MB (Double-bank Connection) 196 | Enabled Size: 1024 MB (Double-bank Connection) 197 | Error Status: OK 198 | 199 | Handle 0x0009, DMI type 6, 12 bytes 200 | Memory Module Information 201 | Socket Designation: DIMM1 202 | Bank Connections: 2 3 203 | Current Speed: Unknown 204 | Type: DIMM SDRAM 205 | Installed Size: Not Installed 206 | Enabled Size: Not Installed 207 | Error Status: OK 208 | 209 | Handle 0x000A, DMI type 6, 12 bytes 210 | Memory Module Information 211 | Socket Designation: DIMM2 212 | Bank Connections: 4 5 213 | Current Speed: Unknown 214 | Type: DIMM SDRAM 215 | Installed Size: Not Installed 216 | Enabled Size: Not Installed 217 | Error Status: OK 218 | 219 | Handle 0x000B, DMI type 6, 12 bytes 220 | Memory Module Information 221 | Socket Designation: DIMM3 222 | Bank Connections: 6 7 223 | Current Speed: Unknown 224 | Type: DIMM SDRAM 225 | Installed Size: Not Installed 226 | Enabled Size: Not Installed 227 | Error Status: OK 228 | 229 | Handle 0x000C, DMI type 9, 13 bytes 230 | System Slot Information 231 | Designation: PCI1 232 | Type: 32-bit PCI 233 | Current Usage: In Use 234 | Length: Short 235 | ID: 1 236 | Characteristics: 237 | 3.3 V is provided 238 | Opening is shared 239 | PME signal is supported 240 | 241 | Handle 0x000D, DMI type 9, 13 bytes 242 | System Slot Information 243 | Designation: PCI2 244 | Type: 32-bit PCI 245 | Current Usage: Available 246 | Length: Short 247 | ID: 2 248 | Characteristics: 249 | 3.3 V is provided 250 | Opening is shared 251 | PME signal is supported 252 | 253 | Handle 0x000E, DMI type 126, 13 bytes 254 | Inactive 255 | 256 | Handle 0x000F, DMI type 9, 13 bytes 257 | System Slot Information 258 | Designation: PCIE2 259 | Type: x1 PCI Express 260 | Current Usage: Available 261 | Length: Short 262 | ID: 18 263 | Characteristics: 264 | 3.3 V is provided 265 | Opening is shared 266 | PME signal is supported 267 | 268 | Handle 0x0010, DMI type 16, 15 bytes 269 | Physical Memory Array 270 | Location: System Board Or Motherboard 271 | Use: System Memory 272 | Error Correction Type: None 273 | Maximum Capacity: 4 GB 274 | Error Information Handle: Not Provided 275 | Number Of Devices: 4 276 | 277 | Handle 0x0011, DMI type 19, 15 bytes 278 | Memory Array Mapped Address 279 | Starting Address: 0x00000000000 280 | Ending Address: 0x0003FFFFFFF 281 | Range Size: 1 GB 282 | Physical Array Handle: 0x0010 283 | Partition Width: 4 284 | 285 | Handle 0x0012, DMI type 17, 27 bytes 286 | Memory Device 287 | Array Handle: 0x0010 288 | Error Information Handle: Not Provided 289 | Total Width: 64 bits 290 | Data Width: 64 bits 291 | Size: 1024 MB 292 | Form Factor: DIMM 293 | Set: None 294 | Locator: DIMM0 295 | Bank Locator: BANK0 296 | Type: SDRAM 297 | Type Detail: Synchronous 298 | Speed: Unknown 299 | Manufacturer: Manufacturer0 300 | Serial Number: SerNum0 301 | Asset Tag: AssetTagNum0 302 | Part Number: PartNum0 303 | 304 | Handle 0x0013, DMI type 20, 19 bytes 305 | Memory Device Mapped Address 306 | Starting Address: 0x00000000000 307 | Ending Address: 0x0003FFFFFFF 308 | Range Size: 1 GB 309 | Physical Device Handle: 0x0012 310 | Memory Array Mapped Address Handle: 0x0011 311 | Partition Row Position: 1 312 | Interleaved Data Depth: 1 313 | 314 | Handle 0x0014, DMI type 17, 27 bytes 315 | Memory Device 316 | Array Handle: 0x0010 317 | Error Information Handle: Not Provided 318 | Total Width: Unknown 319 | Data Width: 64 bits 320 | Size: No Module Installed 321 | Form Factor: DIMM 322 | Set: None 323 | Locator: DIMM1 324 | Bank Locator: BANK1 325 | Type: Unknown 326 | Type Detail: Unknown 327 | Speed: Unknown 328 | Manufacturer: Manufacturer1 329 | Serial Number: SerNum1 330 | Asset Tag: AssetTagNum1 331 | Part Number: PartNum1 332 | 333 | Handle 0x0015, DMI type 126, 19 bytes 334 | Inactive 335 | 336 | Handle 0x0016, DMI type 17, 27 bytes 337 | Memory Device 338 | Array Handle: 0x0010 339 | Error Information Handle: Not Provided 340 | Total Width: Unknown 341 | Data Width: 64 bits 342 | Size: No Module Installed 343 | Form Factor: DIMM 344 | Set: None 345 | Locator: DIMM2 346 | Bank Locator: BANK2 347 | Type: Unknown 348 | Type Detail: Unknown 349 | Speed: Unknown 350 | Manufacturer: Manufacturer2 351 | Serial Number: SerNum2 352 | Asset Tag: AssetTagNum2 353 | Part Number: PartNum2 354 | 355 | Handle 0x0017, DMI type 126, 19 bytes 356 | Inactive 357 | 358 | Handle 0x0018, DMI type 17, 27 bytes 359 | Memory Device 360 | Array Handle: 0x0010 361 | Error Information Handle: Not Provided 362 | Total Width: Unknown 363 | Data Width: 64 bits 364 | Size: No Module Installed 365 | Form Factor: DIMM 366 | Set: None 367 | Locator: DIMM3 368 | Bank Locator: BANK3 369 | Type: Unknown 370 | Type Detail: Unknown 371 | Speed: Unknown 372 | Manufacturer: Manufacturer3 373 | Serial Number: SerNum3 374 | Asset Tag: AssetTagNum3 375 | Part Number: PartNum3 376 | 377 | Handle 0x0019, DMI type 126, 19 bytes 378 | Inactive 379 | 380 | Handle 0x001A, DMI type 32, 20 bytes 381 | System Boot Information 382 | Status: No errors detected 383 | 384 | Handle 0x001B, DMI type 127, 4 bytes 385 | End Of Table 386 | 387 | -------------------------------------------------------------------------------- /test_data/centos_6.5_64bit_dell.txt: -------------------------------------------------------------------------------- 1 | # dmidecode 2.12 2 | SMBIOS 2.6 present. 3 | 78 structures occupying 4556 bytes. 4 | Table at 0xCF49C000. 5 | 6 | Handle 0xDA00, DMI type 218, 11 bytes 7 | OEM-specific Type 8 | Header and Data: 9 | DA 0B 00 DA B2 00 17 00 0E 20 00 10 | 11 | Handle 0x0000, DMI type 0, 24 bytes 12 | BIOS Information 13 | Vendor: Dell Inc. 14 | Version: 1.12.0 15 | Release Date: 07/26/2013 16 | Address: 0xF0000 17 | Runtime Size: 64 kB 18 | ROM Size: 4096 kB 19 | Characteristics: 20 | ISA is supported 21 | PCI is supported 22 | PNP is supported 23 | BIOS is upgradeable 24 | BIOS shadowing is allowed 25 | Boot from CD is supported 26 | Selectable boot is supported 27 | EDD is supported 28 | Japanese floppy for Toshiba 1.2 MB is supported (int 13h) 29 | 5.25"/360 kB floppy services are supported (int 13h) 30 | 5.25"/1.2 MB floppy services are supported (int 13h) 31 | 3.5"/720 kB floppy services are supported (int 13h) 32 | 8042 keyboard services are supported (int 9h) 33 | Serial services are supported (int 14h) 34 | CGA/mono video services are supported (int 10h) 35 | ACPI is supported 36 | USB legacy is supported 37 | BIOS boot specification is supported 38 | Function key-initiated network boot is supported 39 | Targeted content distribution is supported 40 | BIOS Revision: 1.12 41 | 42 | Handle 0x0100, DMI type 1, 27 bytes 43 | System Information 44 | Manufacturer: Dell Inc. 45 | Product Name: PowerEdge R510 46 | Version: Not Specified 47 | Serial Number: 23V2JN1 48 | UUID: 4C4C4544-0033-5610-8032-B2C04F4A4E31 49 | Wake-up Type: Power Switch 50 | SKU Number: Not Specified 51 | Family: Not Specified 52 | 53 | Handle 0x0200, DMI type 2, 9 bytes 54 | Base Board Information 55 | Manufacturer: Dell Inc. 56 | Product Name: 00HDP0 57 | Version: A03 58 | Serial Number: ..CN1374006C02CV. 59 | Asset Tag: Not Specified 60 | 61 | Handle 0x0300, DMI type 3, 21 bytes 62 | Chassis Information 63 | Manufacturer: Dell Inc. 64 | Type: Rack Mount Chassis 65 | Lock: Present 66 | Version: Not Specified 67 | Serial Number: 23V2JN1 68 | Asset Tag: Not Specified 69 | Boot-up State: Safe 70 | Power Supply State: Safe 71 | Thermal State: Safe 72 | Security Status: Unknown 73 | OEM Information: 0x00000000 74 | Height: 1 U 75 | Number Of Power Cords: Unspecified 76 | Contained Elements: 0 77 | 78 | Handle 0x0400, DMI type 4, 40 bytes 79 | Processor Information 80 | Socket Designation: CPU1 81 | Type: Central Processor 82 | Family: Xeon 83 | Manufacturer: Intel 84 | ID: C2 06 02 00 FF FB EB BF 85 | Signature: Type 0, Family 6, Model 44, Stepping 2 86 | Flags: 87 | FPU (Floating-point unit on-chip) 88 | VME (Virtual mode extension) 89 | DE (Debugging extension) 90 | PSE (Page size extension) 91 | TSC (Time stamp counter) 92 | MSR (Model specific registers) 93 | PAE (Physical address extension) 94 | MCE (Machine check exception) 95 | CX8 (CMPXCHG8 instruction supported) 96 | APIC (On-chip APIC hardware supported) 97 | SEP (Fast system call) 98 | MTRR (Memory type range registers) 99 | PGE (Page global enable) 100 | MCA (Machine check architecture) 101 | CMOV (Conditional move instruction supported) 102 | PAT (Page attribute table) 103 | PSE-36 (36-bit page size extension) 104 | CLFSH (CLFLUSH instruction supported) 105 | DS (Debug store) 106 | ACPI (ACPI supported) 107 | MMX (MMX technology supported) 108 | FXSR (FXSAVE and FXSTOR instructions supported) 109 | SSE (Streaming SIMD extensions) 110 | SSE2 (Streaming SIMD extensions 2) 111 | SS (Self-snoop) 112 | HTT (Multi-threading) 113 | TM (Thermal monitor supported) 114 | PBE (Pending break enabled) 115 | Version: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz 116 | Voltage: 1.2 V 117 | External Clock: 6400 MHz 118 | Max Speed: 3600 MHz 119 | Current Speed: 2666 MHz 120 | Status: Populated, Enabled 121 | Upgrade: Socket LGA1366 122 | L1 Cache Handle: 0x0700 123 | L2 Cache Handle: 0x0701 124 | L3 Cache Handle: 0x0702 125 | Serial Number: Not Specified 126 | Asset Tag: Not Specified 127 | Part Number: Not Specified 128 | Core Count: 6 129 | Core Enabled: 6 130 | Thread Count: 12 131 | Characteristics: 132 | 64-bit capable 133 | 134 | Handle 0x0401, DMI type 4, 40 bytes 135 | Processor Information 136 | Socket Designation: CPU2 137 | Type: Central Processor 138 | Family: Xeon 139 | Manufacturer: Intel 140 | ID: C2 06 02 00 FF FB EB BF 141 | Signature: Type 0, Family 6, Model 44, Stepping 2 142 | Flags: 143 | FPU (Floating-point unit on-chip) 144 | VME (Virtual mode extension) 145 | DE (Debugging extension) 146 | PSE (Page size extension) 147 | TSC (Time stamp counter) 148 | MSR (Model specific registers) 149 | PAE (Physical address extension) 150 | MCE (Machine check exception) 151 | CX8 (CMPXCHG8 instruction supported) 152 | APIC (On-chip APIC hardware supported) 153 | SEP (Fast system call) 154 | MTRR (Memory type range registers) 155 | PGE (Page global enable) 156 | MCA (Machine check architecture) 157 | CMOV (Conditional move instruction supported) 158 | PAT (Page attribute table) 159 | PSE-36 (36-bit page size extension) 160 | CLFSH (CLFLUSH instruction supported) 161 | DS (Debug store) 162 | ACPI (ACPI supported) 163 | MMX (MMX technology supported) 164 | FXSR (FXSAVE and FXSTOR instructions supported) 165 | SSE (Streaming SIMD extensions) 166 | SSE2 (Streaming SIMD extensions 2) 167 | SS (Self-snoop) 168 | HTT (Multi-threading) 169 | TM (Thermal monitor supported) 170 | PBE (Pending break enabled) 171 | Version: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz 172 | Voltage: 1.2 V 173 | External Clock: 6400 MHz 174 | Max Speed: 3600 MHz 175 | Current Speed: 2666 MHz 176 | Status: Populated, Idle 177 | Upgrade: Socket LGA1366 178 | L1 Cache Handle: 0x0703 179 | L2 Cache Handle: 0x0704 180 | L3 Cache Handle: 0x0705 181 | Serial Number: Not Specified 182 | Asset Tag: Not Specified 183 | Part Number: Not Specified 184 | Core Count: 6 185 | Core Enabled: 6 186 | Thread Count: 12 187 | Characteristics: 188 | 64-bit capable 189 | 190 | Handle 0x0700, DMI type 7, 19 bytes 191 | Cache Information 192 | Socket Designation: Not Specified 193 | Configuration: Enabled, Not Socketed, Level 1 194 | Operational Mode: Write Back 195 | Location: Internal 196 | Installed Size: 192 kB 197 | Maximum Size: 192 kB 198 | Supported SRAM Types: 199 | Unknown 200 | Installed SRAM Type: Unknown 201 | Speed: Unknown 202 | Error Correction Type: Single-bit ECC 203 | System Type: Data 204 | Associativity: 8-way Set-associative 205 | 206 | Handle 0x0701, DMI type 7, 19 bytes 207 | Cache Information 208 | Socket Designation: Not Specified 209 | Configuration: Enabled, Not Socketed, Level 2 210 | Operational Mode: Write Back 211 | Location: Internal 212 | Installed Size: 1536 kB 213 | Maximum Size: 2048 kB 214 | Supported SRAM Types: 215 | Unknown 216 | Installed SRAM Type: Unknown 217 | Speed: Unknown 218 | Error Correction Type: Single-bit ECC 219 | System Type: Unified 220 | Associativity: 8-way Set-associative 221 | 222 | Handle 0x0702, DMI type 7, 19 bytes 223 | Cache Information 224 | Socket Designation: Not Specified 225 | Configuration: Enabled, Not Socketed, Level 3 226 | Operational Mode: Write Back 227 | Location: Internal 228 | Installed Size: 12288 kB 229 | Maximum Size: 12288 kB 230 | Supported SRAM Types: 231 | Unknown 232 | Installed SRAM Type: Unknown 233 | Speed: Unknown 234 | Error Correction Type: Single-bit ECC 235 | System Type: Unified 236 | Associativity: 16-way Set-associative 237 | 238 | Handle 0x0703, DMI type 7, 19 bytes 239 | Cache Information 240 | Socket Designation: Not Specified 241 | Configuration: Enabled, Not Socketed, Level 1 242 | Operational Mode: Write Back 243 | Location: Internal 244 | Installed Size: 192 kB 245 | Maximum Size: 192 kB 246 | Supported SRAM Types: 247 | Unknown 248 | Installed SRAM Type: Unknown 249 | Speed: Unknown 250 | Error Correction Type: Single-bit ECC 251 | System Type: Data 252 | Associativity: 8-way Set-associative 253 | 254 | Handle 0x0704, DMI type 7, 19 bytes 255 | Cache Information 256 | Socket Designation: Not Specified 257 | Configuration: Enabled, Not Socketed, Level 2 258 | Operational Mode: Write Back 259 | Location: Internal 260 | Installed Size: 1536 kB 261 | Maximum Size: 2048 kB 262 | Supported SRAM Types: 263 | Unknown 264 | Installed SRAM Type: Unknown 265 | Speed: Unknown 266 | Error Correction Type: Single-bit ECC 267 | System Type: Unified 268 | Associativity: 8-way Set-associative 269 | 270 | Handle 0x0705, DMI type 7, 19 bytes 271 | Cache Information 272 | Socket Designation: Not Specified 273 | Configuration: Enabled, Not Socketed, Level 3 274 | Operational Mode: Write Back 275 | Location: Internal 276 | Installed Size: 12288 kB 277 | Maximum Size: 12288 kB 278 | Supported SRAM Types: 279 | Unknown 280 | Installed SRAM Type: Unknown 281 | Speed: Unknown 282 | Error Correction Type: Single-bit ECC 283 | System Type: Unified 284 | Associativity: 16-way Set-associative 285 | 286 | Handle 0x0800, DMI type 8, 9 bytes 287 | Port Connector Information 288 | Internal Reference Designator: Not Specified 289 | Internal Connector Type: None 290 | External Reference Designator: Not Specified 291 | External Connector Type: DB-15 female 292 | Port Type: Video Port 293 | 294 | Handle 0x0801, DMI type 8, 9 bytes 295 | Port Connector Information 296 | Internal Reference Designator: Not Specified 297 | Internal Connector Type: None 298 | External Reference Designator: Not Specified 299 | External Connector Type: DB-15 female 300 | Port Type: Video Port 301 | 302 | Handle 0x0802, DMI type 8, 9 bytes 303 | Port Connector Information 304 | Internal Reference Designator: Not Specified 305 | Internal Connector Type: None 306 | External Reference Designator: Not Specified 307 | External Connector Type: Access Bus (USB) 308 | Port Type: USB 309 | 310 | Handle 0x0803, DMI type 8, 9 bytes 311 | Port Connector Information 312 | Internal Reference Designator: Not Specified 313 | Internal Connector Type: None 314 | External Reference Designator: Not Specified 315 | External Connector Type: Access Bus (USB) 316 | Port Type: USB 317 | 318 | Handle 0x0804, DMI type 126, 9 bytes 319 | Inactive 320 | 321 | Handle 0x0805, DMI type 126, 9 bytes 322 | Inactive 323 | 324 | Handle 0x0806, DMI type 126, 9 bytes 325 | Inactive 326 | 327 | Handle 0x0807, DMI type 126, 9 bytes 328 | Inactive 329 | 330 | Handle 0x0808, DMI type 8, 9 bytes 331 | Port Connector Information 332 | Internal Reference Designator: Not Specified 333 | Internal Connector Type: None 334 | External Reference Designator: Not Specified 335 | External Connector Type: Access Bus (USB) 336 | Port Type: USB 337 | 338 | Handle 0x0809, DMI type 126, 9 bytes 339 | Inactive 340 | 341 | Handle 0x080A, DMI type 8, 9 bytes 342 | Port Connector Information 343 | Internal Reference Designator: INT_USB1 344 | Internal Connector Type: Access Bus (USB) 345 | External Reference Designator: Not Specified 346 | External Connector Type: None 347 | Port Type: USB 348 | 349 | Handle 0x080B, DMI type 8, 9 bytes 350 | Port Connector Information 351 | Internal Reference Designator: INT_USB2 352 | Internal Connector Type: Access Bus (USB) 353 | External Reference Designator: Not Specified 354 | External Connector Type: None 355 | Port Type: USB 356 | 357 | Handle 0x080C, DMI type 126, 9 bytes 358 | Inactive 359 | 360 | Handle 0x080D, DMI type 126, 9 bytes 361 | Inactive 362 | 363 | Handle 0x080E, DMI type 8, 9 bytes 364 | Port Connector Information 365 | Internal Reference Designator: Not Specified 366 | Internal Connector Type: None 367 | External Reference Designator: Not Specified 368 | External Connector Type: RJ-45 369 | Port Type: Network Port 370 | 371 | Handle 0x080F, DMI type 8, 9 bytes 372 | Port Connector Information 373 | Internal Reference Designator: Not Specified 374 | Internal Connector Type: None 375 | External Reference Designator: Not Specified 376 | External Connector Type: RJ-45 377 | Port Type: Network Port 378 | 379 | Handle 0x0810, DMI type 8, 9 bytes 380 | Port Connector Information 381 | Internal Reference Designator: Not Specified 382 | Internal Connector Type: None 383 | External Reference Designator: Not Specified 384 | External Connector Type: DB-9 male 385 | Port Type: Serial Port 16550A Compatible 386 | 387 | Handle 0x0900, DMI type 9, 17 bytes 388 | System Slot Information 389 | Designation: PCI1 390 | Type: x4 PCI Express 2 x8 391 | Current Usage: In Use 392 | Length: Long 393 | ID: 1 394 | Characteristics: 395 | 3.3 V is provided 396 | PME signal is supported 397 | Bus Address: 0000:05:00.0 398 | 399 | Handle 0x0901, DMI type 9, 17 bytes 400 | System Slot Information 401 | Designation: PCI2 402 | Type: x4 PCI Express 2 x8 403 | Current Usage: Available 404 | Length: Long 405 | ID: 2 406 | Characteristics: 407 | 3.3 V is provided 408 | PME signal is supported 409 | 410 | Handle 0x0902, DMI type 9, 17 bytes 411 | System Slot Information 412 | Designation: PCI3 413 | Type: x8 PCI Express 2 x8 414 | Current Usage: Available 415 | Length: Long 416 | ID: 3 417 | Characteristics: 418 | 3.3 V is provided 419 | PME signal is supported 420 | 421 | Handle 0x0903, DMI type 9, 17 bytes 422 | System Slot Information 423 | Designation: PCI4 424 | Type: x4 PCI Express 2 x8 425 | Current Usage: In Use 426 | Length: Long 427 | ID: 4 428 | Characteristics: 429 | 3.3 V is provided 430 | PME signal is supported 431 | Bus Address: 0000:02:00.0 432 | 433 | Handle 0x0904, DMI type 126, 17 bytes 434 | Inactive 435 | 436 | Handle 0x0A00, DMI type 10, 10 bytes 437 | On Board Device 1 Information 438 | Type: Video 439 | Status: Enabled 440 | Description: Embedded Matrox G200 Video 441 | On Board Device 2 Information 442 | Type: Ethernet 443 | Status: Enabled 444 | Description: Embedded Broadcom 5716 NIC 1 445 | On Board Device 3 Information 446 | Type: Ethernet 447 | Status: Enabled 448 | Description: Embedded Broadcom 5716 NIC 2 449 | 450 | Handle 0x0B00, DMI type 11, 5 bytes 451 | OEM Strings 452 | String 1: Dell System 453 | String 2: 5[0000] 454 | 455 | Handle 0x7E00, DMI type 126, 170 bytes 456 | Inactive 457 | 458 | Handle 0x0C00, DMI type 12, 5 bytes 459 | System Configuration Options 460 | Option 1: NVRAM_CLR: Clear user settable NVRAM areas and set defaults 461 | Option 2: PWRD_EN: Close to enable password 462 | 463 | Handle 0x0D00, DMI type 13, 22 bytes 464 | BIOS Language Information 465 | Language Description Format: Long 466 | Installable Languages: 1 467 | en|US|iso8859-1 468 | Currently Installed Language: en|US|iso8859-1 469 | 470 | Handle 0x1000, DMI type 16, 15 bytes 471 | Physical Memory Array 472 | Location: System Board Or Motherboard 473 | Use: System Memory 474 | Error Correction Type: Multi-bit ECC 475 | Maximum Capacity: 128 GB 476 | Error Information Handle: Not Provided 477 | Number Of Devices: 8 478 | 479 | Handle 0x1100, DMI type 17, 28 bytes 480 | Memory Device 481 | Array Handle: 0x1000 482 | Error Information Handle: Not Provided 483 | Total Width: 72 bits 484 | Data Width: 64 bits 485 | Size: 8192 MB 486 | Form Factor: DIMM 487 | Set: 1 488 | Locator: DIMM_A1 489 | Bank Locator: Not Specified 490 | Type: DDR3 491 | Type Detail: Synchronous Registered (Buffered) 492 | Speed: 1333 MHz 493 | Manufacturer: 00CE00B380CE 494 | Serial Number: 4741E48B 495 | Asset Tag: 01102761 496 | Part Number: M393B1K70CHD-CH9 497 | Rank: 2 498 | 499 | Handle 0x1101, DMI type 17, 28 bytes 500 | Memory Device 501 | Array Handle: 0x1000 502 | Error Information Handle: Not Provided 503 | Total Width: 72 bits 504 | Data Width: 64 bits 505 | Size: 8192 MB 506 | Form Factor: DIMM 507 | Set: 1 508 | Locator: DIMM_A2 509 | Bank Locator: Not Specified 510 | Type: DDR3 511 | Type Detail: Synchronous Registered (Buffered) 512 | Speed: 1333 MHz 513 | Manufacturer: 00CE00B380CE 514 | Serial Number: 4741E40F 515 | Asset Tag: 01102761 516 | Part Number: M393B1K70CHD-CH9 517 | Rank: 2 518 | 519 | Handle 0x1102, DMI type 17, 28 bytes 520 | Memory Device 521 | Array Handle: 0x1000 522 | Error Information Handle: Not Provided 523 | Total Width: 72 bits 524 | Data Width: 64 bits 525 | Size: 8192 MB 526 | Form Factor: DIMM 527 | Set: 2 528 | Locator: DIMM_A3 529 | Bank Locator: Not Specified 530 | Type: DDR3 531 | Type Detail: Synchronous Registered (Buffered) 532 | Speed: 1333 MHz 533 | Manufacturer: 00CE00B380CE 534 | Serial Number: 4741E483 535 | Asset Tag: 01102761 536 | Part Number: M393B1K70CHD-CH9 537 | Rank: 2 538 | 539 | Handle 0x1103, DMI type 17, 28 bytes 540 | Memory Device 541 | Array Handle: 0x1000 542 | Error Information Handle: Not Provided 543 | Total Width: 72 bits 544 | Data Width: 64 bits 545 | Size: No Module Installed 546 | Form Factor: DIMM 547 | Set: 2 548 | Locator: DIMM_A4 549 | Bank Locator: Not Specified 550 | Type: DDR3 551 | Type Detail: Synchronous 552 | Speed: Unknown 553 | Manufacturer: 554 | Serial Number: 555 | Asset Tag: 556 | Part Number: 557 | Rank: Unknown 558 | 559 | Handle 0x1104, DMI type 126, 28 bytes 560 | Inactive 561 | 562 | Handle 0x1105, DMI type 126, 28 bytes 563 | Inactive 564 | 565 | Handle 0x1106, DMI type 126, 28 bytes 566 | Inactive 567 | 568 | Handle 0x1107, DMI type 126, 28 bytes 569 | Inactive 570 | 571 | Handle 0x1108, DMI type 126, 28 bytes 572 | Inactive 573 | 574 | Handle 0x1109, DMI type 17, 28 bytes 575 | Memory Device 576 | Array Handle: 0x1000 577 | Error Information Handle: Not Provided 578 | Total Width: 72 bits 579 | Data Width: 64 bits 580 | Size: 8192 MB 581 | Form Factor: DIMM 582 | Set: 5 583 | Locator: DIMM_B1 584 | Bank Locator: Not Specified 585 | Type: DDR3 586 | Type Detail: Synchronous Registered (Buffered) 587 | Speed: 1333 MHz 588 | Manufacturer: 00CE00B380CE 589 | Serial Number: 4741E414 590 | Asset Tag: 01102761 591 | Part Number: M393B1K70CHD-CH9 592 | Rank: 2 593 | 594 | Handle 0x110A, DMI type 17, 28 bytes 595 | Memory Device 596 | Array Handle: 0x1000 597 | Error Information Handle: Not Provided 598 | Total Width: 72 bits 599 | Data Width: 64 bits 600 | Size: 8192 MB 601 | Form Factor: DIMM 602 | Set: 6 603 | Locator: DIMM_B2 604 | Bank Locator: Not Specified 605 | Type: DDR3 606 | Type Detail: Synchronous Registered (Buffered) 607 | Speed: 1333 MHz 608 | Manufacturer: 00CE00B380CE 609 | Serial Number: 4741E413 610 | Asset Tag: 01102761 611 | Part Number: M393B1K70CHD-CH9 612 | Rank: 2 613 | 614 | Handle 0x110B, DMI type 17, 28 bytes 615 | Memory Device 616 | Array Handle: 0x1000 617 | Error Information Handle: Not Provided 618 | Total Width: 72 bits 619 | Data Width: 64 bits 620 | Size: 8192 MB 621 | Form Factor: DIMM 622 | Set: 6 623 | Locator: DIMM_B3 624 | Bank Locator: Not Specified 625 | Type: DDR3 626 | Type Detail: Synchronous Registered (Buffered) 627 | Speed: 1333 MHz 628 | Manufacturer: 00CE00B380CE 629 | Serial Number: 4741E47E 630 | Asset Tag: 01102761 631 | Part Number: M393B1K70CHD-CH9 632 | Rank: 2 633 | 634 | Handle 0x110C, DMI type 17, 28 bytes 635 | Memory Device 636 | Array Handle: 0x1000 637 | Error Information Handle: Not Provided 638 | Total Width: 72 bits 639 | Data Width: 64 bits 640 | Size: No Module Installed 641 | Form Factor: DIMM 642 | Set: 4 643 | Locator: DIMM_B4 644 | Bank Locator: Not Specified 645 | Type: DDR3 646 | Type Detail: Synchronous 647 | Speed: Unknown 648 | Manufacturer: 649 | Serial Number: 650 | Asset Tag: 651 | Part Number: 652 | Rank: Unknown 653 | 654 | Handle 0x110D, DMI type 126, 28 bytes 655 | Inactive 656 | 657 | Handle 0x110E, DMI type 126, 28 bytes 658 | Inactive 659 | 660 | Handle 0x110F, DMI type 126, 28 bytes 661 | Inactive 662 | 663 | Handle 0x1110, DMI type 126, 28 bytes 664 | Inactive 665 | 666 | Handle 0x1111, DMI type 126, 28 bytes 667 | Inactive 668 | 669 | Handle 0x1300, DMI type 19, 15 bytes 670 | Memory Array Mapped Address 671 | Starting Address: 0x00000000000 672 | Ending Address: 0x000CFFFFFFF 673 | Range Size: 3328 MB 674 | Physical Array Handle: 0x1000 675 | Partition Width: 2 676 | 677 | Handle 0x1301, DMI type 19, 15 bytes 678 | Memory Array Mapped Address 679 | Starting Address: 0x00100000000 680 | Ending Address: 0x00C2FFFFFFF 681 | Range Size: 45824 MB 682 | Physical Array Handle: 0x1000 683 | Partition Width: 2 684 | 685 | Handle 0x2000, DMI type 32, 11 bytes 686 | System Boot Information 687 | Status: No errors detected 688 | 689 | Handle 0x2600, DMI type 38, 18 bytes 690 | IPMI Device Information 691 | Interface Type: KCS (Keyboard Control Style) 692 | Specification Version: 2.0 693 | I2C Slave Address: 0x10 694 | NV Storage Device: Not Present 695 | Base Address: 0x0000000000000CA8 (I/O) 696 | Register Spacing: 32-bit Boundaries 697 | 698 | Handle 0x2900, DMI type 41, 11 bytes 699 | Onboard Device 700 | Reference Designation: Embedded NIC 1 701 | Type: Ethernet 702 | Status: Enabled 703 | Type Instance: 1 704 | Bus Address: 0000:01:00.0 705 | 706 | Handle 0x2901, DMI type 41, 11 bytes 707 | Onboard Device 708 | Reference Designation: Embedded NIC 2 709 | Type: Ethernet 710 | Status: Enabled 711 | Type Instance: 2 712 | Bus Address: 0000:01:00.1 713 | 714 | Handle 0x2902, DMI type 126, 11 bytes 715 | Inactive 716 | 717 | Handle 0x2903, DMI type 126, 11 bytes 718 | Inactive 719 | 720 | Handle 0x2904, DMI type 41, 11 bytes 721 | Onboard Device 722 | Reference Designation: Embedded Video 723 | Type: Video 724 | Status: Enabled 725 | Type Instance: 4 726 | Bus Address: 0000:06:03.0 727 | 728 | Handle 0xD000, DMI type 208, 16 bytes 729 | OEM-specific Type 730 | Header and Data: 731 | D0 10 00 D0 02 00 FE 00 F1 02 00 00 01 01 00 00 732 | 733 | Handle 0xD200, DMI type 210, 12 bytes 734 | OEM-specific Type 735 | Header and Data: 736 | D2 0C 00 D2 F8 03 04 03 06 80 04 05 737 | 738 | Handle 0xD400, DMI type 212, 87 bytes 739 | OEM-specific Type 740 | Header and Data: 741 | D4 57 00 D4 70 00 71 00 00 10 2D 2E 42 00 11 FE 742 | 01 43 00 11 FE 00 00 00 11 9F 20 00 00 11 9F 00 743 | 00 00 11 9F 20 00 00 11 9F 00 31 40 11 FB 00 32 744 | 40 11 FB 04 9D 00 11 FD 02 9E 00 11 FD 00 9F 00 745 | 26 FE 01 A0 00 26 FE 00 28 40 26 DF 20 29 40 26 746 | DF 00 FF FF 00 00 00 747 | 748 | Handle 0xD401, DMI type 212, 252 bytes 749 | OEM-specific Type 750 | Header and Data: 751 | D4 FC 01 D4 70 00 71 00 03 40 5A 6D 5C 00 78 BF 752 | 40 5D 00 78 BF 00 6C 01 57 FC 00 6B 01 57 FC 01 753 | 6A 01 57 FC 02 76 02 57 EF 00 75 02 57 EF 10 74 754 | 02 57 DF 00 73 02 57 DF 20 77 01 54 FC 00 78 01 755 | 54 FC 01 79 01 54 FC 02 7A 01 54 FC 03 33 40 54 756 | CF 00 34 40 54 CF 10 35 40 54 CF 20 36 40 54 CF 757 | 30 1A 40 54 FB 04 1B 40 54 FB 00 1C 40 54 F7 08 758 | 1D 40 54 F7 00 43 40 58 DF 20 42 40 58 DF 00 24 759 | 40 58 BF 40 25 40 58 BF 00 6E 00 58 FC 01 2D 00 760 | 58 FC 02 DA 01 58 FC 03 22 40 58 EF 10 23 40 58 761 | EF 00 BB 00 58 F3 04 BC 00 58 F3 08 DB 01 58 F3 762 | 0C 2D 02 55 FE 01 2E 02 55 FE 00 D8 00 55 7F 80 763 | D9 00 55 7F 00 54 02 56 DF 00 57 02 56 DF 20 4D 764 | 02 56 BF 00 4E 02 56 BF 40 2D 01 56 7F 80 2E 01 765 | 56 7F 00 00 C0 5C 00 0A 03 C0 67 00 05 83 00 76 766 | 00 00 84 00 77 00 00 FF FF 00 00 00 767 | 768 | Handle 0xD402, DMI type 212, 232 bytes 769 | OEM-specific Type 770 | Header and Data: 771 | D4 E8 02 D4 72 00 73 00 00 40 5D 5E D3 00 00 00 772 | 02 D4 00 02 00 02 4A 01 46 BF 40 4B 01 46 BF 00 773 | 00 90 2C 00 00 01 90 2D 00 00 DA 00 49 EB 14 00 774 | 00 49 EF 10 D2 02 49 EF 00 D3 02 49 EF 10 D6 02 775 | 49 EF 00 D7 02 49 EF 10 00 00 49 FB 04 D4 02 49 776 | FB 00 D5 02 49 FB 04 00 00 49 EB 00 00 00 49 7F 777 | 00 00 00 49 7F 80 5D 02 49 FC 00 5E 02 49 FC 01 778 | 5F 02 49 FC 02 60 02 49 FC 03 C5 02 48 BF 00 C6 779 | 02 48 BF 40 C7 02 48 DF 00 C8 02 48 DF 20 C9 02 780 | 48 EF 00 CA 02 48 EF 10 DE 00 63 FE 01 26 40 42 781 | FE 01 27 40 42 FE 00 FF 02 42 F7 08 00 03 42 F7 782 | 00 01 03 42 EF 10 02 03 42 EF 00 02 40 46 DF 00 783 | 01 40 46 DF 20 CF 01 40 FD 02 D0 01 40 FD 00 FC 784 | 01 45 BF 00 FD 01 45 BF 40 00 00 45 7F 80 00 00 785 | 45 7F 00 FF FF 00 00 00 786 | 787 | Handle 0xD403, DMI type 212, 237 bytes 788 | OEM-specific Type 789 | Header and Data: 790 | D4 ED 03 D4 72 00 73 00 00 40 5D 5E D1 00 46 FE 791 | 00 D2 00 46 FE 01 71 01 46 FB 04 72 01 46 FB 00 792 | 73 01 46 F7 08 74 01 46 F7 00 40 01 47 EF 10 41 793 | 01 47 EF 00 EB 01 47 FD 00 EA 01 47 FD 02 33 02 794 | 47 F3 04 32 02 47 F3 08 31 02 47 F3 0C 6F 02 47 795 | F3 00 6E 02 47 F3 00 4B 02 47 DF 00 4C 02 47 DF 796 | 20 17 01 4A FE 00 18 01 4A FE 01 19 01 4A FD 00 797 | 1A 01 4A FD 02 35 01 4B FC 00 37 01 4B FC 01 00 798 | 00 4B FC 02 3B 01 4B F3 04 F7 02 4B 7F 80 F8 02 799 | 4B 7F 00 C4 01 50 FE 00 C5 01 50 FE 01 99 02 5C 800 | F7 00 98 02 5C F7 08 AE 02 5C FB 00 AD 02 5C FB 801 | 04 00 00 5C 3F 40 00 00 5C 3F 80 B8 02 5C 3F 00 802 | 1B 01 4A FB 00 1C 01 4A FB 04 1D 01 4A F7 00 1E 803 | 01 4A F7 08 1F 01 44 FE 00 20 01 44 FE 01 00 00 804 | 44 FD 00 00 00 44 FD 02 FF FF 00 00 00 805 | 806 | Handle 0xD800, DMI type 216, 9 bytes 807 | OEM-specific Type 808 | Header and Data: 809 | D8 09 00 D8 01 02 01 00 00 810 | Strings: 811 | MATROX 812 | VGA/VBE BIOS, Version V3.8WO 813 | 814 | Handle 0xDE00, DMI type 222, 16 bytes 815 | OEM-specific Type 816 | Header and Data: 817 | DE 10 00 DE 01 08 00 00 14 01 24 03 43 08 00 01 818 | 819 | Handle 0xE100, DMI type 225, 45 bytes 820 | OEM-specific Type 821 | Header and Data: 822 | E1 2D 00 E1 01 01 00 04 00 02 01 04 00 03 00 11 823 | 00 04 01 11 00 05 02 11 00 06 03 11 00 07 09 11 824 | 00 08 0A 11 00 09 0B 11 00 0A 0C 11 00 825 | Strings: 826 | CPU.Socket.1 827 | CPU.Socket.2 828 | DIMM.Socket.A1 829 | DIMM.Socket.A2 830 | DIMM.Socket.A3 831 | DIMM.Socket.A4 832 | DIMM.Socket.B1 833 | DIMM.Socket.B2 834 | DIMM.Socket.B3 835 | DIMM.Socket.B4 836 | 837 | Handle 0x7F00, DMI type 127, 4 bytes 838 | End Of Table 839 | 840 | --------------------------------------------------------------------------------