"My Device Driver Won't Install From The Desktop"

"My Device Driver Won't Install From The Desktop"

  • Comments 1

When helping three customers this week I wound up providing basically the same resolution to each of their problems. In each case they were trying to install a 3rd party driver from the desktop and in each case the install was failing.

In a case like this, usually the first thing i ask for are the setup logs. Specifically the fbalog.txt and setupapi.log. Even though the install for these specific drivers is happening post-setup, sometimes you may get a hint to the failure if something bad happened in setup first.

We've touched on the setupapi.log on our blog before; it's very handy and reports device installs not just during setup (First Boot Agent) but also at any time post-setup. Below is a snippet of one setupapi.log I have seen before that falls into the category of failures i ran across this week.

I've highlighted a few of the pertinent lines at the time of the driver install failure that helped me identify the cause. First, we see that this is a USB device based on the vendev ID string. A few lines down it appears that setupapi found a compatible INF that matches that vendev ID, and based on the device name string we see this particular device is a wireless modem.

Identifying that class of device is important because further down the log you can see errors related to finding/processing that device's class driver. The error specifically calls out "device class Modem" immediately followed by an error, and you can probably guess that this is a bad thing. :-)

So now we have a high level of confidence that this modem driver is failing to install because the Modem class installer is failing. This means we don't have a problem with the driver, instead we are likely missing that driver's dependency on a component in our configuration which I show you farther down this article will be easy to fix.

#-019 Searching for hardware ID(s): usb\vid_1410&pid_2110&rev_0000&mi_00,usb\vid_1410&pid_2110&mi_00
#-018 Searching for compatible ID(s): usb\class_ff&subclass_ff&prot_ff,usb\class_ff&subclass_ff,usb\class_ff
#-019 Searching for hardware ID(s): usb\vid_1410&pid_2110&rev_0000&mi_00,usb\vid_1410&pid_2110&mi_00
#-018 Searching for compatible ID(s): usb\class_ff&subclass_ff&prot_ff,usb\class_ff&subclass_ff,usb\class_ff
#I022 Found "USB\VID_1410&PID_2110&MI_00" in d:\program files\novatel wireless\sprint\sprint pcs connection manager\drivers\nwusbmdm.inf; Device: "Novatel
Wireless Expedite EV-DO Modem"; Driver: "Novatel Wireless Expedite EV-DO Modem"; Provider: "Novatel Wireless Inc"; Mfg: "Novatel Wireless Inc"; Section name: "Modem".
#I023 Actual install section: [Modem.NT]. Rank: 0x00000001. Effective driver date: 09/14/2006.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [Modem] in "d:\program files\novatel wireless\sprint\sprint pcs connection manager\drivers\nwusbmdm.inf".
#I320 Class GUID of device remains: {4D36E96D-E325-11CE-BFC1-08002BE10318}.
#I060 Set selected driver.
#I058 Selected best compatible driver.
[2007/04/25 14:25:56 488.10]
#-199 Executing "D:\WINDOWS\system32\rundll32.exe" with command line: rundll32.exe newdev.dll,ClientSideInstall \\.\pipe\PNP_Device_Install_Pipe_0.{64847B97-B223-4581-A931-2D4187E0CA1F}
#I140 Installing device class: "Modem" {4D36E96D-E325-11CE-BFC1-08002BE10318}.
#E067 Could not locate section [ClassInstall32].

#E142 Class: {4D36E96D-E325-11CE-BFC1-08002BE10318}. Install failed. Error 0xe0000101: The required section was not found in the INF.

On XP Embedded, errors related to your class installer generally tell us two things:

1. Our class installer component for that class is missing from your configuration.

2. As long as our class installer is missing, that device class (Modem in this case) will never work on that runtime until we add the appropriate class installer component, resolve its dependencies and rebuild our runtime.

Windows XP Pro comes with all class installers installed by default so your driver install experience 'just works', don't you wish XP Embedded had that same level of support? Guess what? It does!

Starting with Feature Pack 2007, XP Embedded can also enable that same great HW compatibility experience as XP Pro if you use the 'Class Installers / Hardware Compatibility'  macro component. This component will add all class installer components ensuring that you have the same class device support as XP Pro wrt being able to install Windows drivers from the desktop now (or in the future when the device is in the field).

- Andy

  • Hi, excellent site, added to favorites!

    Good luck.

Page 1 of 1 (1 items)
Leave a Comment
  • Please add 6 and 3 and type the answer here:
  • Post