This document discusses how to identify the various models of ThinkPad computers using information stored in the system BIOS. This can be useful to those who need to selectively install or run software on certain ThinkPad computers.
Identifying models is a two-step process. The first is to determine the BIOS Build ID string. The second is to match information in the BIOS Build ID string to data in the BIOS ID list, which is provided. Both steps are explained in this document.
Note: Lenovo recommends using the BIOS Build ID string method of identifying ThinkPad computers and not the machine type and model numbers (M/T) from the bottom of the computer because the factory configuration of a machine type and model might vary by country or region. The BIOS Build ID is consistent and correct unless the factory-installed hardware or software has been changed.
For a ThinkPad computer, you can determine the BIOS Build String using one of the following methods. How you do this depends on whether or not the computer BIOS supports DMIBIOS/SMBIOS.
- Obtain the system manufacturer string from the structure type 1 (System Information), at offset 04h. Note: This string should always be Lenovo; if not, this is not a ThinkPad computer.
- Obtain the BIOS version string from structure type 0 (BIOS Information), at offset 05h. This is the BIOS Build ID string that you need. Special handing is required if the BIOS version string is Rxx-xx (where x can be any character). If the BIOS Version string is Rxx-xx, do not use the BIOS version string as the BIOS Build ID, but go to the next section to get the BIOS Build ID from the VPD.
If DMIBIOS/SMBIOS is not supported use the following information to search the Vital Product Data (VPD) structure for the BIOS Build ID string.
ThinkPad computers (and most Desktop PCs) have a 48-byte Vital Product Data (VPD) structure located in the BIOS Shadow RAM. Application software can locate the VPD structure by searching for the header, followed by the VPD signature, on paragraph (16 byte) boundaries. Search within the physical memory address range 000F0000h to 000FFFFFh.
Most ThinkPad systems have the VPD structure at physical memory address 000FFFA0h. Definition of the VPD structure is as follows:
VPD_Structure |
Struc |
|
|
VPD_Header |
dw |
055AAh |
; 00h) Header. |
VPD_Signature |
db |
'VPD' |
; 02h) VPD Signature. Always VPD. |
VPD_Length |
dB |
? |
: 05h) VPD Structure Length |
VPD_Reserved |
dB |
7 dup (?) |
: 06h) Reserved. |
VPD_BuildID |
dB |
9 dup (?) |
; 0Dh) BIOS Build ID |
VPD_BoxSerial |
dB |
7 dup (?) |
; 16h) Box Serial Number |
VPD_PlanarSerial |
dB |
11 dup (?) |
; 1Dh) Motherboard Serial Number |
VPD_MachType |
dB |
7 dup (?) |
; 28h) Machine Type/Model |
VPD_Checksum |
dB |
? |
; 2Fh) Checksum |
VPD_Structure |
Ends |
|
|
If this procedure does not provide the BIOS Build ID string, then this is not a ThinkPad computer.
The BIOS Build ID string, typically an 8 byte string, is described as follows:
Bytes |
Length |
Description |
Note |
0-1 |
2 bytes |
Product |
|
2-3 |
2 bytes |
Object Type |
Always ET indicating BIOS Flash ROM. |
4-5 |
2 bytes |
Version |
Two digits number stating from 01 (hex-decimal) |
6-7 |
2 bytes |
Country |
Currently, no local language is supported so this is always WW indicating worldwide. |
For example, if you had a BIOS Build ID string INET32WW.
IN means that this is ThinkPad 600E system.
ET means that this string indicates the build ID for Flash BIOS ROM (some ThinkPad
systems may have different implementation)
32 means the version.
WW means worldwide. (The ThinkPad system BIOS is a worldwide common BIOS).
If the first two characters of the BIOS Build ID match any ID listed in Table 2, the system is a ThinkPad computer, and the particular model is also available from Table 2.
Note: Special handling is required if the first two characters of the BIOS Build ID are ID. In this case, get the Motherboard ID to distinguish between a ThinkPad 770 system and a ThinkPad 770E system. (See notes for Table 2.)
Table 2: ThinkPad system BIOS ID List
HR |
ThinkPad 560E |
|
HV |
ThinkPad 760C, 760CD
ThinkPad 760L, 760LD |
|
HX |
ThinkPad 760E, 760ED/
ThinkPad 760X, 760XD/765/
ThinkPad 760XL
ThinkPad 765L, 765D |
ThinkPad76x w/ 9385XGA |
HY |
ThinkPad 760E
ThinkPad 760EL, 760ELD |
ThinkPad76x w/ 9320SVGA |
HZ |
ThinkPad 760ED
ThinkPad 760EL |
ThinkPad76x w/ 9385SVGA |
I0 |
ThinkPad 560 |
|
I1 |
ThinkPad 380, 380D, 385D
ThinkPad 380E, 380ED, 385ED |
|
I4 |
ThinkPad 535
ThinkPad 535E |
|
I5 |
ThinkPad 365X/365XD |
|
I7 |
ThinkPad 770 |
Note 1 |
I8 |
ThinkPad 560X |
|
I9 |
ThinkPad 310, 310E
ThinkPad 315D, 315ED |
Note 2 |
IA |
ThinkPad 535X |
|
IB |
ThinkPad 600 |
|
IC |
ThinkPad 380X, 380XD, 385XD |
|
ID |
ThinkPad 770
ThinkPad 770E, 770ED |
Note 1 |
IE |
ThinkPad 560Z |
|
IF |
ThinkPad 380X, 380XD, 385XD |
|
IG |
ThinkPad 380Z |
|
IH |
ThinkPad 600E |
|
II |
ThinkPad 770X, 770XD |
|
IJ |
ThinkPad 390
ThinkPad i Series 17xx |
Note 3 |
IK |
ThinkPad i Series 14xx |
|
IL |
ThinkPad 390 |
Note 3 |
IM |
ThinkPad 570 |
|
IN |
ThinkPad 600E |
|
IO |
ThinkPad 770X |
|
IQ |
ThinkPad 390E |
Note 3 |
IR |
ThinkPad 240 |
|
IS |
ThinkPad 390X |
Note 3 |
IT |
ThinkPad 600X |
|
IU |
ThinkPad 570E |
|
IV |
ThinkPad A20p |
|
IW |
ThinkPad A20m |
|
IX |
ThinkPad i1400, 1500 |
|
IY |
ThinkPad T20 |
|
IZ |
ThinkPad X20, X21 |
|
KQ |
ThinkPad i1200/1300 |
|
KR |
ThinkPad i1400/1500 |
|
KS |
ThinkPad 240X |
|
KT |
ThinkPad i1400/1500 |
|
KU |
ThinkPad A21e |
type 2628 only |
KV |
TransNote |
|
KW |
ThinkPad i1200/1300 |
|
KX |
ThinkPad A21m/A22m |
|
KY |
ThinkPad A21p/A22p |
|
KZ |
ThinkPad T21 |
|
10 |
ThinkPad A21e/A22e |
Celeron models |
11 |
ThinkPad 240Z |
|
12 |
Reserved |
|
13 |
ThinkPad A22m |
2628-Sxx models |
14 |
Reserved |
|
15 |
ThinkPad i1200 |
|
16 |
ThinkPad T22 |
|
17 |
ThinkPad i1200 |
|
18 |
ThinkPad s30 |
|
19 |
Reserved |
|
1A |
ThinkPad T23 |
|
1B |
ThinkPad A22e |
Pentium models |
1C |
ThinkPad R30 |
|
1D |
ThinkPad X22, X23, X24 |
|
1E |
ThinkPad A30, A30p |
|
1F |
ThinkPad R31 |
|
1G |
ThinkPad A31, A31p |
|
1H |
Reserved |
|
1I |
ThinkPad T30 |
|
1J |
Reserved |
|
1K |
ThinkPad X30 |
|
1L |
Reserved |
|
1M |
ThinkPad R32 |
|
1N |
ThinkPad A31, A31p |
|
1O |
ThinkPad R40 |
Types 2681, 2682, 2683 |
1P |
ThinkPad R40 |
Types 2722, 2723, 2724 |
1Q |
ThinkPad X31 |
|
1R |
ThinkPad T40, T41, T42 |
|
1R |
ThinkPad R50, R50p |
|
1R |
ThinkPad R51 |
Types 1829, 1830, 1831, 1836 |
1S |
ThinkPad R40e |
|
1T |
ThinkPad G40 |
|
1U |
ThinkPad X40 |
|
1V |
ThinkPad R51 |
Types 2883, 2887, 2888, 2889, 2894, 2895 |
1W |
ThinkPad R50e |
|
1X |
ThinkPad G41 |
Types 2881, 2882, 2886 |
1Y |
ThinkPad T43, T43p |
Types 2668, 2669, 2678, 2679, 2686, 2687 |
70 |
ThinkPad T43, T43p |
Types 1871, 1872, 1873, 1874,1875, 1876 |
70 |
ThinkPad R52 |
Types 1858, 1859, 1860, 1861, 1862, 1863 |
74 |
ThinkPad X41 |
|
75 |
ThinkPad X41 Tablet |
|
76 |
ThinkPad R52 |
Types 1846, 1847, 1848, 1849, 1850, 1870 |
77 |
ThinkPad Z60m, Z60t |
|
78 |
ThinkPad R51e |
|
79 |
ThinkPad T60, T60p |
Types 2007, 2008, 2009, 2613, 2623, 2637 |
7A |
ThinkPad T60 |
Types 1951, 1952, 1953, 1954, 1955, 1956 |
7B |
ThinkPad X60 |
Types 1706, 1707, 1708, 1709, 2509, 2510 |
7B |
ThinkPad X60s |
Types 1702, 1703, 1704, 1705, 2507, 2508, 2533 |
Table notes:
- Special care is required for the characters ID. Both ThinkPad 770 system and ThinkPad 770E system have ID as the first two characters of the BIOS build ID. ThinkPad 770 system does not support ACPI, but ThinkPad 770E system DOES support ACPI. Use the Motherboard ID to distinguish them. The Motherboard ID can be determined as follows:
INT15h |
|
|
|
Entry |
|
|
|
(AX) = 2310h: Return Motherboard ID |
|
Exit: |
|
|
|
(AH) = 0 |
|
|
(AL) = Motherboard ID |
|
|
(CF) = 0 |
If a BIOS call can not be made (i.e. from a protected mode environment), the Motherboard ID can be read directly from the address F000:FFE0h (word). However, this method must be used only for the products listed below, and IBM does not guarantee that the Motherboard ID can be read from the F000:FFE0h on products other than listed below.
- ThinkPad 770 system Motherboard ID:27h
- ThinkPad 770E system Motherboard ID:28h
- Since the ThinkPad 310 series does not support DMIBIOS and VPD structure, its not possible to identify them using this method.
- These products support SMBIOS. However, the BIOS Version string returned by the SMBIOS is not the BIOS Build ID. The BIOS Version string returned by these products is like R00-F3. So, special handing is required for products that return the BIOS Version string Rxx-xx. Use the VPD structure to obtain the BIOS Build ID for these models.
NOTICES
IBM may not offer the products, services, or features discussed in this document in all countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the users responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.
Any references in this publication to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product, and use of those Web sites is at your own risk.
|