Jump to content

Forcing Use of Unsigned Drivers


joemarriott

Recommended Posts

G'day,

Does anyone know a way to force Windows XP to use an unsigned driver file even if a signed one exists in drivers.cab?

The situation is:

- The Windows XP drivers.cab file includes a driver file E100b325.sys for an intel nic. Version 5.41.22.0000

- I have an updated signed intel driver that installs fine when its path is included in OemPnPDriversPath etc. Its version is 7.1.8.0

- I would like to modify the inf file that ships with this updated driver to force the Wake on Lan Settings of the card. Once I modify the inf file I can install the driver successfully using the GUI, but if I try to get the driver to install via unattend.txt, Windows uses the one from drivers.cab instead.

Please let me know if you would like more information,

Much appreciated.

Link to comment
Share on other sites


From MSDN :

Description

Determines what should happen when an attempt is made to install any nondevice driver software that has not been certified.

It Seems that the default setting for it is "Ignore"

More information here:

Unsigned non-driver installation behavior

No Driver Signing Warning Is Displayed When You Install the Device Driver

Driver Signing Registry Values Cannot Be Modified Directly in Windows

Link to comment
Share on other sites

  • If the network adapter supports power management, WakeOnLAN can be enabled on the Power Management tab in the network adapter properties by clicking to select the Allow this device to bring the computer out of standby check box.
  • Right-click My Network Places, and choose Properties. Double-click Local Area Connection, then click the Properties button. Near the bottom of the Local Area Connection Properties window, you should see a checkbox next to Show Icon in taskbar when connected. Check that, click OK, and you're done.

If you own a HP/Compaq box, you can use their own small tool called nictool.exe that do both modifications.

Link to comment
Share on other sites

No one said if this entry works or not.
Even the purpose of that entry is not known for sure. So whether it works or not, is a moot point.

Most people just put both (driver-signing, and non-driver-signing) values into their winnt.sif just to be sure - and even then, it seems to work for some and not work for others.

Link to comment
Share on other sites

So, did anyone manage to install new non-whql drivers when old whql drivers are also present in drivers.cab during setup ?

I made a lot of tests with WinXpSP2 and couldn't obtain positive results.

My winnt.sif contains "DriverSigningPolicy = Ignore" and "NonDriverSigningPolicy = Ignore", I also use WatchDriversSigningPolicy.exe from Pyron, but these commands are only usefull to install non whql drivers that are NOT present in drivers.cab

I seriously doubt it can work, according to what Msdn says here:

If you are using the entry DriverSigningPolicy = Ignore and you attempt to install a newer, unsigned copy of a driver that is distributed with Windows XP or Windows Server 2003, Setup installs the signed Windows XP driver instead of the unsigned drivers, in accordance with the ranking process used by the operating system.
I verified what is said here in setupapi.log after install : (it may not be exactly what you have, I traducted it from french)
#I022 "PCI\VEN_10DE&DEV_0282" found in "C:\WINDOWS\Inf\nv4_disp.inf";.... #I023 Section d'installation réelle: nv4.Rang : 0x00002001...

#I022 "PCI\VEN_10DE&DEV_0282" found in "C:\Drivers\video\nVidia\nv4_disp.inf";...

#I087 Driver node can't be trusted, rank changed from 0x00002001 to 0x0000e001.

So after rank has been changed, windows automatically uses his own whql driver...

Link to comment
Share on other sites

Thanks for the replies so far people.

Would anyone know how write an assembly code hack that could be used to disable / spoof the windows code that calculates the ranking of a driver file?

For example opening a dll or exe in a hex editor and modifying a few bits then saving the updated file to the windows setup folder (i386).

Link to comment
Share on other sites

Since you already have the driver file INF, you can directly replace the unnecessary older drivers in the driver CABs of windows installation source. This is just an outline, you'll need to explore the method yourself....

nLite allows you to merge the DRIVER.CAB and SP2.CAB. To do this, it first extracts the contents of both CABs to a folder. What you can do is to replace the original older INFs in the folder with your updated driver INF (and associated files). I've successfully done this with the nVidia drivers. The added benefit of doing this, is that you don't have to have 2 copies of the same driver (one old, one new), and that it is compressed too.

Link to comment
Share on other sites

  • 5 weeks later...

Has anyone figured this out, yet? I have this exact same problem, although it's with the nVidia drivers rather than a network card. I'm sure many others here must be using an nVidia card - how do you force Windows to install the newer, but unsigned, drivers rather than the built-in ones?

Thanks.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...