Resetting a PCI slot from remembering an adapter card

  • Thread starter Thread starter Yousuf Khan
  • Start date Start date
Y

Yousuf Khan

I have a rather finicky PCI card, seems it wants to have its driver
installed first before it itself gets installed. Oops, installed it in
the wrong order. Got a Code 10 error out of it. Tried removing it and
putting it back in after the driver was already installed, but that
didn't work. Tried putting it into another PCI slot (these are the older
PCI, not the PCI-e, so only had two of them). Tried uninstalling the
driver and reinstalling, still no joy. Latest driver from the website,
of course. Anyways, now whenever I reinsert the adapter, it just
automatically remembers it had a Code 10, and just keeps it there.

So is there a way to make the computer completely forget that the card
was installed in the first place, so I can try reinstalling it again?

Yousuf Khan
 
Yousuf said:
I have a rather finicky PCI card, seems it wants to have its driver
installed first before it itself gets installed. Oops, installed it in
the wrong order. Got a Code 10 error out of it. Tried removing it and
putting it back in after the driver was already installed, but that
didn't work. Tried putting it into another PCI slot (these are the older
PCI, not the PCI-e, so only had two of them). Tried uninstalling the
driver and reinstalling, still no joy. Latest driver from the website,
of course. Anyways, now whenever I reinsert the adapter, it just
automatically remembers it had a Code 10, and just keeps it there.

So is there a way to make the computer completely forget that the card
was installed in the first place, so I can try reinstalling it again?

Yousuf Khan

System Restore ?

Or, visit the INF folder, text search for matching description
info, to find the OEMxx.inf file. Then, go behind the OSes
back, removing both OEMxx.inf file as well as any DLLcache
style copies.

An installer uses a named INF, like realtek.inf, and it
gets renamed to OEM23.inf when the OS installs it. This
is some kind of scheme to prevent name collisions.

Hunting down and deleting OEM23.inf, is the quickest way
I can think of, to blow away the ability to install. Remove
all cached copies as well. I might do that from Linux, just
to make it easier to do.

There will also be OEM23.PNF, which is some kind of pre-compiled
INF file. It is derived from OEM23.inf and could be removed
as well.

I expect Windows 7 is still dependent on that kind of file.

Just a guess,
Paul
 
Yousuf Khan said:
I have a rather finicky PCI card, seems it wants to have its driver
installed first before it itself gets installed. Oops, installed it
in the wrong order. Got a Code 10 error out of it. Tried removing it
and putting it back in after the driver was already installed, but
that didn't work. Tried putting it into another PCI slot (these are
the older PCI, not the PCI-e, so only had two of them). Tried
uninstalling the driver and reinstalling, still no joy. Latest driver
from the website, of course. Anyways, now whenever I reinsert the
adapter, it just automatically remembers it had a Code 10, and just
keeps it there.

So is there a way to make the computer completely forget that the
card was installed in the first place, so I can try reinstalling it
again?

In regedit.exe, go to:

HKEY_LOCAL_MACHINE\CurrentControlSet\Enum\PCI

Do you see your PCI card listed under there? Look for a DeviceDesc data
item with a string that identifies the device. You never identified
what the PCI card does so it may be defined under some other ENUM
subkey.

I have had to go under there to remove the enumeration data for a device
to get it working again. I've had to do this several times for USB
devices under the ENUM\USB and ENUM\USBSTOR keys when I had to
re-register it for reuse by the service provider (their software doesn't
like when the device is already defined and wants to create the
enumeration itself). You could export the key to a .reg file as a
backup to restore if the change doesn't work or causes problems but if
the result is that something you do in the registry causes Windows not
to load then you won't be able to import that .reg key. An image backup
with working rescue media ensures I can get back to where I was.

Also see:
http://support.microsoft.com/kb/841567

That mentions the permissions on a key may be incorrect. You could try
that first. Usually I just save a backup image (I have bootable rescue
media for it) and delete the VENdor entry so the device gets redefined
when re-detected.
 
That's weird, installing a driver software before physical detection/
conflict. It's not gone or else the way it once "did install" (once
all the way gone) would be repeatable.

....mentions of messing with the registry

http://www.petri.co.il/removing-old-drivers-from-vista-and-windows7.htm

or via

http://www.makeuseof.com/tag/how-to-easily-remove-old-drivers-from-windows/

....W7 signature enforcement, bye bye

http://social.technet.microsoft.com.../thread/9b6eee60-855d-47cc-9927-acae3fb6f971/


& so on, google: windows 7 delete driver permanently (200 of 10.1M and
I got a plate of beans and rice to eat).
 
Gadfly said:
In Win7, PCI is only found under ControlSet002 as PCI -> REG-SZ.
CurrentControlSet doesn't have PCI under Enum. I don't have any PCI cards so
nothing appears there, but if this were enabled for a faulty PCI card
installation would disabling it work?

The registry regarding CurrentControlSet and ControlSet<n> has not
changed. You never actually use CurrentControlSet. It is a psuedo key
(just like HKEY_CURRENT_USER is a pseudo hive). ControlSet<n> are real
and a pointer says which one is currently in use. If you want to find
out which is the real key set that CurrentControlSet points to then look
in the registry at:

HKEY_LOCAL_MACHINE\SYSTEM\Select

The value of the data item named "Current" is which ControlSet<n> is
currently in use. This tells you at what CurrentControlSet is pointing.

So, in your case, the current control set that you see listed under
CurrentControlSet is not pointing back to ControlSet002. If it were,
they would have the same values. You may several ControlSets listed in
your registry. I don't think I've seen more than 3 but have I have seen
where 2 were listed but not starting at numerical 001, or 002 was
missing and there were only 001 and 003.

CurrentControlSet, or the ControlSet<n> that is pointed to by the value
at the "Current" data item in the Select key, is what you are using now.
Your ControlSet002 is not the current one because CurrentControlSet has
values different than ControlSet002. If you look under the Select key,
maybe ControlSet002 is the LastKnownGood set. It may not be listed
there at all. You could, for example, have 3 control sets and only
ControlSet001 and ControlSet003 are listed; i.e., ControlSet002 is no
longer used. Just because ControlSet002 might have been the current one
in the past doesn't mean it is the current one now.

You only want to edit the CurrentControl Set (or whichever ControlSet<n>
that is the current as found using the above mentioned "Current"
setting). When cleaning up or altering the registry, you don't want to
edit the others. Why? Because something to alter in all of them could
result in Windows not loading and you need the Last Known Config (that
you have not changed) to get you back to where you were before the
alteration caused problems. For example, when I'm looking for registry
remnants to clean out after uninstall a program or hardware, I may end
up under CurrentControlSet deleting some entries. After each change I
hit the F5 key to ensure the memory and disk copies of the registry are
in sync, so any changes I make in CurrentControlSet will be effected in
the ControlSet<n> that is the "Current" one (so I don't see duplicate
entries there to delete with the result of getting told the key doesn't
exist). I don't touch the ControlSet<n> themselves when cleaning up the
registry. Windows might not load and I really do want whichever
ControlSet is the LastKnownGood one so I can get back into Windows
without having to restore a backup image.
 
I have a rather finicky PCI card, seems it wants to have its driver
installed first before it itself gets installed. Oops, installed it in
the wrong order. Got a Code 10 error out of it. Tried removing it and
putting it back in after the driver was already installed, but that
didn't work. Tried putting it into another PCI slot (these are the older
PCI, not the PCI-e, so only had two of them). Tried uninstalling the
driver and reinstalling, still no joy. Latest driver from the website,
of course. Anyways, now whenever I reinsert the adapter, it just
automatically remembers it had a Code 10, and just keeps it there.

So is there a way to make the computer completely forget that the card
was installed in the first place, so I can try reinstalling it again?

Yousuf Khan

Well, after checking more specifically about the actual adapter that is
having the problem (I was just looking at device driver Code 10 generic
errors), looks like there is a known bug with this driver:

"Known Issues:
....
3) For Win7 32 and Win 64, If the user has 4GB or more of ram installed
on PC, it could show code 10 error and fail for installation.
4) Error code 10 occuring when installing or running driver for some PC."

http://kb.netgear.com/app/answers/d...11v3-software-version-5.0.0.3-(win-7-support)

Which explains it completely now. The problem started after I upgraded
the system from dual-core/2GB/Win7+32-bit system to a
quad-core/8GB/Win7+64-bit. So looks like there's no solution to this,
since it's a known issue, until they create a new driver for it.

This driver seems to be a real winner too. Among other known issues is
that it's not WHQL certified, and that 64-bit users will get a constant
"disable driver certification" warning message everytime they restart
the computer! Yeesh!

Yousuf Khan
 
Yousuf said:
Well, after checking more specifically about the actual adapter that is
having the problem (I was just looking at device driver Code 10 generic
errors), looks like there is a known bug with this driver:

"Known Issues:
...
3) For Win7 32 and Win 64, If the user has 4GB or more of ram installed
on PC, it could show code 10 error and fail for installation.
4) Error code 10 occuring when installing or running driver for some PC."

http://kb.netgear.com/app/answers/d...11v3-software-version-5.0.0.3-(win-7-support)


Which explains it completely now. The problem started after I upgraded
the system from dual-core/2GB/Win7+32-bit system to a
quad-core/8GB/Win7+64-bit. So looks like there's no solution to this,
since it's a known issue, until they create a new driver for it.

This driver seems to be a real winner too. Among other known issues is
that it's not WHQL certified, and that 64-bit users will get a constant
"disable driver certification" warning message everytime they restart
the computer! Yeesh!

Yousuf Khan

A suggestion on Newegg.

http://www.newegg.com/Product/Product.aspx?Item=33-122-119

"Version 3 ... Marvel chipset"

"no windows 7 support! Before I upgraded to windows 7 it was
a piece of junk because it consistently lost the signal. I
had to install marvell libertas drivers 1.0.0.53 to get it
to work with windows 7 and that's with disabling the driver
signature recognition program on start up. Now it works
like a champ!"

If you can figure out the part number on the Marvell chip,
perhaps you can find a working driver here. I didn't even
know Marvell made Wifi stuff. I'm more familiar with their
NICs, which are good.

http://www.marvell.com/support/downloads/search.do

Paul
 
Yousuf Khan said:
Well, after checking more specifically about the actual adapter that is
having the problem (I was just looking at device driver Code 10 generic
errors), looks like there is a known bug with this driver:

"Known Issues:
...
3) For Win7 32 and Win 64, If the user has 4GB or more of ram installed
on PC, it could show code 10 error and fail for installation.
4) Error code 10 occuring when installing or running driver for some PC."

http://kb.netgear.com/app/answers/d...11v3-software-version-5.0.0.3-(win-7-support)

Which explains it completely now. The problem started after I upgraded
the system from dual-core/2GB/Win7+32-bit system to a
quad-core/8GB/Win7+64-bit. So looks like there's no solution to this,
since it's a known issue, until they create a new driver for it.

This driver seems to be a real winner too. Among other known issues is
that it's not WHQL certified, and that 64-bit users will get a constant
"disable driver certification" warning message everytime they restart
the computer! Yeesh!

Yousuf Khan

On that info page, there report is about version 5.0.0.3 of their
driver. Is that the version you have? There is a download link there
to "upgrade". They don't say what is the version you get when you
upgrade. I clicked on the button but apparently Netgear wants its
customers to have accounts and login to get their software -- which is
pretty stupid since the driver is worthless unless you already their
hardware. DUH!

Users have been well trained by marketing over decades that "newer is
better" so it is ingrained into them to get the latest version of
driver, BIOS updates, and software. Newer just means different. For
software it means some fixes may have been fixed, newer features added,
and newer or different code which can introduce new bugs. I had to walk
through 4 major versions of ATI's video driver finding the best one that
worked with my old and new games, and then walked through many minor
versions in addition to find the best match. That meant the most fixed
bugs, the least introduced bugs, the best compatibility with all my
software, *and* had to be stable. The latest version would always crash
with some games. It wasn't better because it was newer. Same for BIOS.
Same for software. Unless the newer version gives you something
critical that you must have now, and if what you have now is working,
then don't fix what isn't broken. Wait awhile for the vendor or other
users to do field beta testing on the newer version. There's plenty out
there willing to be unpaid QA testers.

If the download button on that page doesn't give you a later version or
one isn't available from their download section of their web site, see
if you can use an older version. Again, since Netgear wants to track
its customers regarding downloads, I can't download any to look at their
release notes to see if they stipulate support for Windows 7 (whatever
bit width).

That article was published Published 04/13/2010 02:46 AM. It's
disgusting that in over 2 years that Netgear hasn't retracted that
driver version and fixed it yet. If this is a new purchase and still
within the warranty period, I'd see about returning it as defective.
Doesn't matter if the hardware is okay because it is worthless by
itself, like having a vacuum cleaner but no electricity available.
 
I clicked on the button but apparently Netgear
wants its customers to have accounts and login to get their
software -- which is pretty stupid since the driver is worthless
unless you already their hardware. DUH!

You must have missed the "Continue without registring" link on that
page.
 
Nil said:
You must have missed the "Continue without registring" link on that
page.

Ah, yeah, in that itty bitty sized type. Guess my eyes were a bit too
fuzzy at 3 AM when I posted. So it appears 5.0.0.3 is the latest
version you can download from their site. However, I have on occasion
found they had a later non-released version that they would give me but
usually required me visiting an FTP with a one-time use password and the
file the put there for me would vaporize after a day.

From reading the above Netgear KB article, it looks like 5.0.0.3 is a
package version rather than the actual driver version within the
package. For Windows 7, the driver is version 1.0.0.52. Yet the Vista
driver is a later version 1.0.0.53. It looks like Netgear is installing
an older version of the driver on Windows 7 than for Windows Vista.
Alas, this is one of those installers that rolls several versions into a
package and decides which one to install rather than extracting the
files so you could install a different driver.
 
On that info page, there report is about version 5.0.0.3 of their
driver. Is that the version you have? There is a download link there
to "upgrade". They don't say what is the version you get when you
upgrade. I clicked on the button but apparently Netgear wants its
customers to have accounts and login to get their software -- which is
pretty stupid since the driver is worthless unless you already their
hardware. DUH!

Yeah, that's the latest driver they have.
That article was published Published 04/13/2010 02:46 AM. It's
disgusting that in over 2 years that Netgear hasn't retracted that
driver version and fixed it yet. If this is a new purchase and still
within the warranty period, I'd see about returning it as defective.
Doesn't matter if the hardware is okay because it is worthless by
itself, like having a vacuum cleaner but no electricity available.

No, it's not a new purchase, the system was an Athlon 64 X2 4600+, which
is a processor that's about at least 6 years old. I installed the Wi-Fi
card in it over 3 years ago. I figured it was working under the previous
system, so I figured I'll just transfer it over to the newly upgraded
system (it's now running an FX-4100). So no warranty period left on it.

It's an old PCI card, rather than a newer PCI-e card, so I assume that
perhaps it only supports 32-bit DMA accesses. Otherwise, why would there
be these warnings about 64-bit Windows, and having over 4GB's installed.

Yousuf Khan
 
Maybe you could call them to ask if you could use their newer driver but
which targets just Vista. The 7 version of their driver is 1.0.0.52 but
their Vista version is 1.0.0.53. If you could get the driver files
separately from their installer and do a manual installation (uninstall
old driver, remove card, cleanup registry, install the card, wait for
new-hardware wizard to appear) where you point at the .inf file. I
don't see why they would need to differentiate between Vista and 7
versions of their drivers plus it looks like they're using an older
driver on 7, anyway.
 
Maybe you could call them to ask if you could use their newer driver but
which targets just Vista. The 7 version of their driver is 1.0.0.52 but
their Vista version is 1.0.0.53. If you could get the driver files
separately from their installer and do a manual installation (uninstall
old driver, remove card, cleanup registry, install the card, wait for
new-hardware wizard to appear) where you point at the .inf file. I
don't see why they would need to differentiate between Vista and 7
versions of their drivers plus it looks like they're using an older
driver on 7, anyway.

Well, I could try using the compatibility mode during installation to
fool it into thinking it's being installed on Vista, but I doubt it'll
make much difference. The issue is listed for Vista 64-bit too.

Yousuf Khan
 
Back
Top