Thursday, September 2, 2010

Debugging Tools For Windows: Determine the BIOS Version and Other Useful Information

I saw another forum post where a fellow community member was able to determine the BIOS version and release date for a system based on debugging a small memory dump. Since the debugger command to find this information wasn't included in the post, I hammered the search engines for a few minutes and came up with essentially nothing about finding the BIOS release date and version in a small memory dump. Next, I combed through the help documentation provided with WinDbg and ended up using the classic search feature included in most compiled HTML documents.
To provide a demonstration for identifying the BIOS version, I crashed my system this morning and then used the resulting dump to experiment with various debugger commands to attempt to determine the BIOS version, release date, and system make/model. I stumbled upon the !sysinfo extension debugger command and looked at the accompanying documentation. From a crash dump perspective, you can get useful information in a long form and a short form, both are demonstrated below. The !sysinfo machineid command displays BIOS information and motherboard information fairly compactly, while the !sysinfo smbios command dumps the full content of the SMBIOS table and displays other useful information about the processors, physical memory, and a couple of other onboard devices.
Another neat trick is that this information can be gained from a live system without needing to reboot into debugging mode using LiveKD.

The short version:

0: kd> !sysinfo machineid 
Machine ID Information [From Smbios 2.3, DMIVersion 35, Size=2618] BiosMajorRelease = 2 
BiosMinorRelease = 6 
BiosVendor = Dell Inc.                 
BiosVersion = 2.6.0  
BiosReleaseDate = 05/19/2008 
SystemManufacturer = Dell Inc.                 
SystemProductName = Precision WorkStation 390     
BaseBoardManufacturer = Dell Inc.           
BaseBoardProduct = 0GH911 BaseBoardVersion = A00 

The long version:

0: kd> !sysinfo smbios 
[SMBIOS Data Tables v2.3]
[DMI Version - 35]
[2.0 Calling Convention - No]
[Table Size - 2618 bytes]

[BIOS Information (Type 0) - Length 24 - Handle 0000h]
  Vendor                        Dell Inc.                
  BIOS Version                  2.6.0 
  BIOS Starting Address Segment f000
  BIOS Release Date             05/19/2008
  BIOS ROM Size                 100000
  BIOS Characteristics
       07: - PCI Supported
       09: - Plug and Play Supported
       10: - APM Supported
       11: - Upgradeable FLASH BIOS
       12: - BIOS Shadowing Supported
       15: - CD-Boot Supported
       16: - Selectable Boot Supported
       19: - EDD Supported
       21: - Toshiba J-Floppy Supported
       26: - Print Screen Device Supported
       27: - Keyboard Services Supported
       28: - Serial Services Supported
       29: - Printer Services Supported
       48: - System Vendor Reserved
       49: - System Vendor Reserved
       50: - System Vendor Reserved
       51: - System Vendor Reserved
       52: - System Vendor Reserved
  BIOS Characteristic Extensions
       00: - ACPI Supported
       01: - USB Legacy Supported
       04: - LS120-Boot Supported
       08: - BIOS Boot Specification Supported
       09: - Fn-Key NET-Boot Supported
       10: - Specification Reserved
  BIOS Major Revision           2
  BIOS Minor Revision           6
  EC Firmware Major Revision    255
  EC Firmware Minor Revision    255
[System Information (Type 1) - Length 27 - Handle 0100h]
  Manufacturer                  Dell Inc.                
  Product Name                  Precision WorkStation 390    
  Version                       [String Not Specified]
  Serial Number                        
  UUID                          00000000-0000-0000-0000-000000000000
  Wakeup Type                   Power Switch
  SKUNumber                     [String Not Specified]
  Family                        [String Not Specified]
[BaseBoard Information (Type 2) - Length 8 - Handle 0200h]
  Manufacturer                  Dell Inc.          
  Product                       0GH911
  Version                       A00
  Serial Number                                  
[System Enclosure (Type 3) - Length 13 - Handle 0300h]
  Manufacturer                  Dell Inc.                
  Chassis Type                  Tower
  Version                       [String Not Specified]
  Serial Number                        
  Asset Tag Number                        
  Bootup State                  Warning
  Power Supply State            Safe
  Thermal State                 Safe
  Security Status               None
[Processor Information (Type 4) - Length 40 - Handle 0400h]
  Socket Designation            Microprocessor
  Processor Type                Central Processor
  Processor Family              beh - Specification Reserved
  Processor Manufacturer        Intel
  Processor ID                  f6060000fffbebbf
  Processor Version             [String Not Specified]
  Processor Voltage             92h - 1.8V
  External Clock                1066MHz
  Max Speed                     5200MHz
  Current Speed                 2400MHz
  Status                        Enabled Populated
  Processor Upgrade             ZIF Socket
  L1 Cache Handle               0700h
  L2 Cache Handle               0701h
  L3 Cache Handle               0704h
  Serial Number                 [String Not Specified]
  Asset Tag Number              [String Not Specified]
  Part Number                   [String Not Specified]
[Cache Information (Type 7) - Length 19 - Handle 0700h]
  Socket Designation            [String Not Specified]
  Cache Configuration           0180h - WB Enabled Int NonSocketed L1
  Maximum Cache Size            0020h - 32K
  Installed Size                0020h - 32K
  Supported SRAM Type           0001h - Other 
  Current SRAM Type             0001h - Other 
  Cache Speed                   0ns
  Error Correction Type         None
  System Cache Type             Data
  Associativity                 8-way Set-Associative
[Cache Information (Type 7) - Length 19 - Handle 0701h]
  Socket Designation            [String Not Specified]
  Cache Configuration           0281h - Varies Enabled Int NonSocketed L2
  Maximum Cache Size            1000h - 4096K
  Installed Size                1000h - 4096K
  Supported SRAM Type           0001h - Other 
  Current SRAM Type             0001h - Other 
  Cache Speed                   0ns
  Error Correction Type         Multi-Bit ECC
  System Cache Type             Unified
  Associativity                 16-way Set-Associative
[Cache Information (Type 7) - Length 19 - Handle 0704h]
  Socket Designation            [String Not Specified]
  Cache Configuration           0282h - Varies Enabled Int NonSocketed L3
  Maximum Cache Size            0000h - 0K
  Installed Size                0000h - 0K
  Supported SRAM Type           0001h - Other 
  Current SRAM Type             0001h - Other 
  Cache Speed                   0ns
  Error Correction Type         Multi-Bit ECC
  System Cache Type             Unified
  Associativity                 Unknown
[Onboard Devices Information (Type 10) - Length 6 - Handle 0a02h]
  Number of Devices             1
  01: Type                      Ethernet [enabled]
  01: Description               Broadcom 5751 NetXtreme Gigabit Controller
[Onboard Devices Information (Type 10) - Length 6 - Handle 0a03h]
  Number of Devices             1
  01: Type                      Sound [enabled]
  01: Description               High Definition Audio Controller
[OEM Strings (Type 11) - Length 5 - Handle 0b00h]
  Number of Strings             1
   1                            www.dell.com
[Physical Memory Array (Type 16) - Length 15 - Handle 1000h]
  Location                      03h - SystemBoard/Motherboard
  Use                           03h - System Memory
  Memory Error Correction       05h - Single-bit ECC
  Maximum Capacity              8388608KB
  Memory Error Inf Handle       [Not Provided]
  Number of Memory Devices      4
[Memory Device (Type 17) - Length 27 - Handle 1100h]
  Physical Memory Array Handle  1000h
  Memory Error Info Handle      [No Errors]
  Total Width                   64 bits
  Data Width                    64 bits
  Size                          1024MB
  Form Factor                   09h - DIMM
  Device Set                    [None]
  Device Locator                DIMM_1
  Bank Locator                  [String Not Specified]
  Memory Type                   12h - DDR
  Type Detail                   0080h - Synchronous
  Speed                         533MHz
  Manufacturer                  2CFFFFFFFFFFFFFF
  Serial Number                         
  Asset Tag Number                    
  Part Number                   16HTF12864AY-53EB1
[Memory Device (Type 17) - Length 27 - Handle 1101h]
  Physical Memory Array Handle  1000h
  Memory Error Info Handle      [No Errors]
  Total Width                   64 bits
  Data Width                    64 bits
  Size                          [Not Populated]
  Form Factor                   09h - DIMM
  Device Set                    [None]
  Device Locator                DIMM_3
  Bank Locator                  [String Not Specified]
  Memory Type                   12h - DDR
  Type Detail                   0080h - Synchronous
  Speed                         533MHz
  Manufacturer                  FFFFFFFFFFFFFFFF
  Serial Number                         
  Asset Tag Number                    
  Part Number                                     
[Memory Device (Type 17) - Length 27 - Handle 1102h]
  Physical Memory Array Handle  1000h
  Memory Error Info Handle      [No Errors]
  Total Width                   64 bits
  Data Width                    64 bits
  Size                          1024MB
  Form Factor                   09h - DIMM
  Device Set                    [None]
  Device Locator                DIMM_2
  Bank Locator                  [String Not Specified]
  Memory Type                   12h - DDR
  Type Detail                   0080h - Synchronous
  Speed                         533MHz
  Manufacturer                  2CFFFFFFFFFFFFFF
  Serial Number                         
  Asset Tag Number                    
  Part Number                   16HTF12864AY-53EB1
[Memory Device (Type 17) - Length 27 - Handle 1103h]
  Physical Memory Array Handle  1000h
  Memory Error Info Handle      [No Errors]
  Total Width                   64 bits
  Data Width                    64 bits
  Size                          [Not Populated]
  Form Factor                   09h - DIMM
  Device Set                    [None]
  Device Locator                DIMM_4
  Bank Locator                  [String Not Specified]
  Memory Type                   12h - DDR
  Type Detail                   0080h - Synchronous
  Speed                         533MHz
  Manufacturer                  FFFFFFFFFFFFFFFF
  Serial Number                         
  Asset Tag Number                    
  Part Number                                     
[Memory Array Mapped Address (Type 19) - Length 15 - Handle 1301h]
  Starting Address              00000000h
  Ending Address                001fffffh
  Memory Array Handle           1000h
  Partition Width               01
[Memory Device Mapped Address (Type 20) - Length 19 - Handle 1400h]
  Starting Address              00000000h
  Ending Address                001fffffh
  Memory Device Handle          1100h
  Mem Array Mapped Adr Handle   1301h
  Partition Row Position        01
  Interleave Position           01
  Interleave Data Depth         01
[Memory Device Mapped Address (Type 20) - Length 19 - Handle 1402h]
  Starting Address              00000000h
  Ending Address                001fffffh
  Memory Device Handle          1102h
  Mem Array Mapped Adr Handle   1301h
  Partition Row Position        01
  Interleave Position           02
  Interleave Data Depth         01