Excellent, EXCELLENT job!
You got where I was going on your own and ahead of me! :)
Device error code 39 , not always, but i've often seen caused by driver filter issue.
One cause of Code 39 is when driver files defined in the registry reference a file no longer on disk. No surprise Windows can't load the device driver. A file is missing!
Usually, i see this problem arise when a 3rd party uninstaller, removes the disk file but not the registry reference it added during install. But YOU found a genuine bug in the Realtek driver! Great job.
As to your solution, must admit I'm surprised you could edit the INF file to make this work. Any change to the INF breaks the digital signature so Windows will no longer install it as it's become an unsigned driver.
My own advice around this problem (if you can't edit the INF) is editing the registry to delete the offending filter file reference. Note to the reader:
- It's class upper/lower filters that may be the problem (not device upper/lower filters). There's a difference
- When troubleshooting, check the Provider of any filter files in question. Microsoft filters are fine. It's those 3rd party filters that can be problematic
Also, IMHO
Troubleshooting documentation about filters usually advise deleting class upper and lower filter keys if found in the registry.
I disagree! That can fix one problem but cause another. There can be one or more upper/lower filters in either key. Deleting the key removes ALL the filters defined in the key - some of which can be for products you're still using and now they can starting having problems because their driver filter has been deleted. Filter keys are text strings. Simply edit the string to remove the offending filename reference. (of course, always creating a system restore point prior to a regedit)
/* EDIT */
Only edit the filter filename out of the key if there's
more then the one filename in the key. Otherwise, delete the key. I also found a case where a filter key existed in the registry with no filter names defined also cause problems (i.e. the key just contained any empty string)
/* EDIT 2 */
If you do delete the an upper/lower filter registry key which included a filter for a program still needed, uninstall / re-installing the program should cause it to put that filter needed back in the registry