There are many techniques available to find drivers and certify a new hardware model. Here follows the method I normally use. As an example I’m certifying the good old ThinkPad T420 from Lenovo for Windows 7, but you can follow this method for any Lenovo model or Windows operating system. The overview steps are the following:
- Deploy a clean Windows 7 or Windows 8 image
- Identify the missing drivers
- Download the missing drivers
- Verify that the drivers work on the machine
- Identify if any driver applications are needed, hotkeys etc.
- Download any needed driver applications and verify that they work on the machine
Note 1: Lenovo does provide you with model specific guides on how to install a clean Windows 7 installation (see http://support.lenovo.com/en_US/detail.page?LegacyDocID=MIGR-77353) but I wanted to provide you with a generic guide, that works for any hardware or Windows operating system. And without all the vendor crap-ware.
Note 2: Lenovo has started to make deployment-ready packages for some of it’s models (ThinkCentre M82, M92, M92p and ThinkPad Helix, X1 Carbon, L430, L530, X131e, T430, T430i, T430s, T430si, T530, T530i, W530, X230 Tablet, X230i Tablet, T430u, X230s, and T431s). Lenovo store these packages on the Microsoft System Center Configuration Manager (SCCM) and Microsoft Deployment Toolkit (MDT) Package Index page, but as of this writing (August 2013), no packages are available for the ThinkPad T420.
Deploy a clean Windows 7 or Windows 8 image
For hardware testing I typically use a MDT 2012 Update 1 offline media which I deploy from a USB stick, because it allows me to lay down a clean Windows image in about 5 – 7 minutes (assuming SSD). But you can use any deployment solution you prefer as long as it’s automated.
Identify missing drivers
After deploying a clean Windows image to the Lenovo ThinkPad T420 you need to find out if any drivers are missing. You can either just open device manager and look, or use PowerShell to find out which drivers are missing. The goal is to find the Device ID(s) for the devices that are missing drivers. For a quick look, using device manager is fine, but you can really do magic using PowerShell.
Note: In addition to missing drivers I always check out the Display driver as well, to find out if Windows found a “real” driver instead of the Standard VGA driver.
After deploying the clean Windows 7 image to my ThinkPad T420 device manager show the following (note that I expanded the Display adapters node):
Device Manager after deploying a clean Windows 7 image.
To find out about the Device ID for a device missing a driver you simply right-click, select properties, click the Details tab, and select the Hardware Ids Property.
Device Manager displaying Hardware Ids for “Base System Device”.
What about PowerShell? Well you can simply ask the Win32_PNPEntity class for devices that are not configured by running the below one-liner in a PowerShell prompt:
Get-WmiObject Win32_PNPEntity | Where-Object{$_.ConfigManagerErrorCode -ne 0} | Select Name, DeviceID
If you want to get fancy, and output the info to a text file, you just add Export-Csv to the command:
Get-WmiObject Win32_PNPEntity | Where-Object{$_.ConfigManagerErrorCode -ne 0} | Select Name, DeviceID | Export-CSV C:\Drivers.csv
To find out if the Standard VGA driver is being used, you can use the below command:
Get-WmiObject Win32_PNPEntity | Where-Object{$_.Name –Match “VGA”} | Select Name, DeviceID
Anyway, no matter if you were using Device Manager or PowerShell you now have a list of device drivers. The trick is now to truncate the Hardware Ids to only included Vendor and Device information, because that will help finding out what device it is when searching for it. As search providers I normally use the Microsoft Update Catalog site (http://catalog.update.microsoft.com) or just plain Google/Bing. Here follows a few truncate examples:
- PCI\VEN_8086&DEV_0084&SUBSYS_13158086&REV_00\4&306CAAFA&0&00E1 becomes PCI\VEN_8086&DEV_0084
- ACPI\LEN0068\5&2890D699&0 becomes ACPI\LEN0068
You then take the truncated value and search for it. Here follows an example searching the Microsoft Update Catalog site for the ACPI\LEN0068 device. The result tells you that the device is a Lenovo PM (Power Management) Device.
Searching the Microsoft Update Catalog site.
After searching for all the devices you can now compile a short list with valid named of the devices that are missing drivers. Here is the listing for the ThinkPad T420.
- PCI\VEN_8086&DEV_0116 = Intel HD Graphics 3000
- PCI\VEN_8086&DEV_0084 = Intel driver update for Intel(R) WiFi Link 1000 BGN
- ACPI\LEN0068 = Lenovo Power Management Device
- PCI\VEN_8086&DEV_1C22 = Intel 6 Series/C200 Series Chipset Family SMBus Controller (Synaptics)
- USB\VID_147E&PID_2016 = TouchStrip Fingerprint Sensor (AuthenTec)
- PCI\VEN_8086&DEV_1502 = Intel 82579LM Gigabit Network Connection
- PCI\VEN_8086&DEV_1C3A = Intel Management Engine Interface (MEI)
- PCI\VEN_1180&DEV_E823 = Ricoh PCIe SDXC/MMC Host Controller
Download the missing drivers
When you have the list of missing drivers the next step is to download them. For Lenovo drivers you can use the Lenovo Update Retriever utility. The Update Retriever is a pretty good tool, but it requires that you know the machine type the ThinkPad T420. You would think that the machine type would be ThinkPad T420, but no, Lenovo machines are special. For some (stupid IMNSHO) reason, they use the first 4 characters of the WMI Model Name as machine type. To find out, you can simply open a PowerShell prompt and type:
Get-WmiObject Win32_ComputerSystem | Select Model
The above command tells you that the ThinkPad T420 machine type is 4178 (again, the first four characters of the model number).
Now when you know the machine type you can download and install Lenovo Update Retriever. In this example I’m using version 5.00.0007 which is available for download here: http://support.lenovo.com/en_US/detail.page?LegacyDocID=tvan-admin
After installing the Lenovo Update Retriever, use the following guide to download and extract the need drivers
- Start Update Retriever, configure it to use a path for the repository (I used D:\Lenovo\Repository in this example), and click Continue.
- On the Manage system list page, use the following settings:
- Accept the license agreement, and on the next page, select the following updates:
- Intel AMT 7.1 - MEI and SOL Driver - XP [32] Vista78 [32,64] 7.1.70.1198(83ra30ww_amt)
- Intel GT1GT2 Display Driver - 7 [64] 9.17.10.2843(83d637ww)
- Intel PRO1000 LAN Adapter Software for Vista7 64-bit 11.15.16.0(83rw18ww_v64)
- Lenovo Power Management Driver - XP [32]Vista78 [32,64] 1.67.00.02(giku06ww)
- Media Card Reader Driver 2.14.18.01(8ass82ww)
- Synaptics ThinkPad UltraNav Driver - Vista78 [32,64] 16.2.19.9(6hgx77ww_v78)
- ThinkVantage Fingerprint Software - 78 [64] 5.9.9.7282(g1f814ww)
- WiFi Driver for Intel cards - 7 [64] 15.6.1(g1w218ww_s64)
- After selecting the updates, click Next and then Finish.
- After the download is complete, you need to extract the drivers: Click Manage Repository, and select Export Updates.
- Extract the updates to a temporary folder (I used D:\Lenovo\Exported\ThinkPad T420), by typing D:\Lenovo\Exported\ThinkPad T420 in the Folder text box and clicking Next.
- Select all drivers and click Finish.
Verify that the drivers work on the machine
After downloading and extracting the drivers you copy them to verify that they work correctly. To update a driver, simply right-click the device in device manager and select Update Driver Software, point to the folder with the drivers and complete the wizard.
In the ThinkPad T420 case you quickly realize that the Fingerprint device cannot find any drivers, even though you downloaded them. This is because they are hidden inside a setup.exe, so you actually have to run through the setup once, and then get the driver from the installation directory. The default folder is C:\Program Files\ThinkVantage Fingerprint Software\TCWBF_Driver.
After updating all drivers, including the VGA driver you should now a device manager showing nothing but installed devices. And you can now import the drivers to your deployment solutions.
Device Manager showing all devices installed.
Driver applications
All device drivers for the ThinkPad are installed, but if you want things like on Screen Display, you can install the following software:
- ThinkPad Hotkey Features Integration - Vista78 [32,64] 3.86.0000(8jvu38ww_v78) )Integration - Vista78 [32,64] 3.86.0000(8jvu38ww_v78)
Optional – Driver cleanup
Even though the drivers you downloaded will work fine, you can save same space in your driver source repository by cleaning out installation files or drivers that are not needed. For example, the Intel PRO and Synaptics driver folder also contain x86 drivers, and they can be deleted.
More ...