How to fix a non-working CD or DVD drive in Windows XP

I have recently unearthed a computer I haven't touched in a while and together with it the problems that frustrated me initially. Not only that the problems did not go away, but now the computer seems to suffer abandonment issues. This is a multiboot machine and it seems that the CD-ROM / DVD burner is identified by all OSs but it is unusable in only one of them. I'm showing you how to fix this problem.

Windows XP 64 straight from Microsoft The computer is a Shuttle 85G4 with an AMD 3200+ processor  and a DVD Dual Layer NEC burner, ND-2510A. Back in 2004 when I purchased it was top of the line, but lack of timely support for AMD-64, nVidia betrayal of the nForce 3 platform and ATI's general lack of support and notoriously poorly written drivers for their video cards caused me to forfeit setting it up as an HTPC / game rig. The problems encountered with this system are better left for another article. Here we'll be looking only at the inability to use the drive in Windows XP 64.

Just the facts, ma'am

The drive is correctly identified but no drive letter is assigned and in Device Manager appears with a question mark and error code 39:

Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)
Question mark in Device Manager Error Code 39


The Details of the drive, as reported in the Properties, are 2.18____\4&27AF&F99&0&1.0.0

The Treacherous Path

In my research, I was surprised to find that this problem is very frequent. While this can be caused by a hardware issue, such as a failed drive or a cable / contact problem, this cannot possibly be the case since the drive more or less works in the other operating systems installed on the computer. By this I mean that I have burned coasters in the past, but they could have been caused by a multitude of reasons and in each case the problem was not that the drive was completely unusable. Nonetheless, an intermittent problem cannot be completely eliminated.

The problem is not that described by Calabrel (XP-won't-recognize), since the drive is partially recognized but unavailable and is connected via PATA to the motherboard, not SATA. Uninstalling and reinstalling the drive as suggested here (after-sp3) did not do the trick and the drive is not USB  (USB-cdfreaks). New or hacked firmware (cdfreaks-firmware) or new drivers are most likely to cause more problems than they would solve (NEC-drivers, bio-2510A, 3.26-fw, 2510A-NEC).

Removing the lower and upper filters from registry

This sounds like curing cancer through voodoo, but where I found it, there seem to reports that it works (regedit1, regedit2). Here's the write-up by Ekse (with minor corrections):

This solution is for the following error codes 31, 32, 19, 39 and 41 shown in device manager in device status.

If your cd or DVD drive isn't working properly but you can see it in the device manager, and it has worked before.

And if you have tried uninstalling it, updating drivers and so on and it hasn't worked?

Then I suggest you try removing the lower and upper filters from your windows registry as they most likely are the problem.

Windows key + r or start -> run. That will open the run menu
Then type in regedit.

you need to browse into
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}
and delete the lower and upper filters from the right side of the window.

A restart is required.

---

Comment by Ekse, posted on May 06, 2008

here are the instructions in plain text

Click the Start button, press run and type regedit.
In the Registry Editor window, in the left pane, double-click the HKEY_LOCAL_MACHINE folder.
In the HKEY_LOCAL_MACHINE folder, double-click the System folder.
In the System folder, double-click the CurrentControlSet folder.
In the CurrentControlSet folder, double-click the Control folder.
In the Control folder, double-click the Class folder.
In the Class folder, click to select the {4D36E965-E325-11CE-BFC1-08002BE10318} folder.
In the right pane, click to select the UpperFilters registry value.
Press Del / Delete to remove the registery entry.
In the Confirm Value Delete dialog box, click the Yes button.
In the right pane, click to select the LowerFilters registry value.
Press Del / Delete to remove the registery entry.
In the Confirm Value Delete dialog box, click the Yes button.
close the regedit window.
Restart the computer.

From ComputerDave:

If your DVD/CDROM is not working ie..playing movies or not installing programs it may be because you have installed a software program that edited the registry for the DVD/CDROM - (Limewire, any burning software, etc..) windows installs an Upperfilter and or a Lowerfilter in the registry for the CDROM - to correct this follow these instructions:

To resolve this problem, remove the affected filter drivers.
To do this, follow these steps:
1. Click Start, type regedit in the Start Search box (Vista) or regedit in the Run box (XP), and then click Regedit in the
Programs list if in Vista or click Open in XP.
If you are prompted for an administrator password or confirmation, type your password, or click Continue. (Vista)
2. Locate, and then click the following registry subkeys: (must be exact keys)
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
Class
Once you have clicked Class the click Edit on the menu at the top
Copy and paste the following key including the curly braces into the Find What box.
Click "Find Next"
{4D36E965-E325-11CE-BFC1-08002BE10318}
3. Highlight by clicking on "UpperFilter" and "LowerFilter" ONLY - then hit Delete on the keyboard and select Yes

4. Shutdown and restart the computer


There are even several youtube videos:


It couldn’t be any easier, right?

CYA Preparation

Prior to trying this registry modification, I will attempt the following:

1. Read more about these filters

A quick search turned out additional links, this time more authoritative. The Microsoft Knowledge Base 304060 article (ms-kb), although almost idiot-proof, does not answer any of my question. Yahoo! Answers (y-answers) comes closer, but still no cookie:

sometimes they screw up or go bad because you updated your windows, or installed alternate dirvers, or something in your system changed which over-wrote the drivers or changed the default drivers (which are provided by microsoft...

The PCreview forum (pcreview) as further discussion on this topic. Truth be told, any such research should start with Microsoft Knowledge Base but unfortunately, it is notoriously difficult to obtain good search results there, as the articles are indexed based on obscure or arcane language.

2. Test the drive one more time

That is, burn something in one of the other OSs to make sure it's not a hardware failure. The DVD is not only visible, but it reads DVDs and CDs with no problem. Just to be on the safe side, I tried burning my Liberkey as a backup.

CDburnerXP failed right away with error:

LiberKey Unable to cast COM object of type 'NMSDVDXLib.DataImageXClass' to interface type 'NMSDVDXLib.IDataImageX'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{639520A1-3657-493E-8326-C88A8E90B4A9}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)). C:\LiberKey

Amok started caching the files but failed when it reached a file name with Russian characters. So did Infrarecorder. Nero managed to get over it gracefully and upon verifying the disk, found even Sector read errors toward the end – but those could have been my fingerprints.

3. Backup that registry branch

Here it is, below – copy and paste in a .reg file if you need to restore or if the change doesn’t do anything.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}]
"Class"="CDROM"
@="DVD/CD-ROM drives"
"EnumPropPages32"="MmSys.Cpl,MediaPropPageProvider"
"Installer32"="storprop.dll,DvdClassInstaller"
"SilentInstall"="1"
"NoInstallClass"="1"
"TroubleShooter-0"="hcp://help/tshoot/tsdrive.htm"
"Icon"="-51"
"LowerFilters"=hex(7):50,00,78,00,48,00,6c,00,70,00,61,00,36,00,34,00,00,00,00,\
00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0000]
"EnumPropPages32"="storprop.dll,DvdPropPageProvider"
"InfPath"="cdrom.inf"
"InfSection"="cdrom_install"
"ProviderName"="Microsoft"
"DriverDateData"=hex:00,40,2a,7c,dd,68,c2,01
"DriverDate"="10-1-2002"
"DriverVersion"="5.2.3790.1830"
"MatchingDeviceId"="gencdrom"
"DriverDesc"="CD-ROM Drive"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0000\DigitalAudio]
"RegistryVersion"=dword:00000001
"NumberOfBuffers"=dword:00000008
"SectorsPerRead"=dword:00000010
"SectorsPerReadMask"=dword:ffffffff
"CDDASupported"=dword:00000001
"CDDAAccurate"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0001]
"EnumPropPages32"="storprop.dll,DvdPropPageProvider"
"InfPath"="cdrom.inf"
"InfSection"="cdrom_install"
"ProviderName"="Microsoft"
"DriverDateData"=hex:00,40,2a,7c,dd,68,c2,01
"DriverDate"="10-1-2002"
"DriverVersion"="5.2.3790.1830"
"MatchingDeviceId"="gencdrom"
"DriverDesc"="CD-ROM Drive"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0001\DigitalAudio]
"RegistryVersion"=dword:00000001
"NumberOfBuffers"=dword:00000008
"SectorsPerRead"=dword:00000010
"SectorsPerReadMask"=dword:ffffffff
"CDDASupported"=dword:00000001
"CDDAAccurate"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0002]
"EnumPropPages32"="storprop.dll,DvdPropPageProvider"
"InfPath"="cdrom.inf"
"InfSection"="cdrom_install"
"ProviderName"="Microsoft"
"DriverDateData"=hex:00,40,2a,7c,dd,68,c2,01
"DriverDate"="10-1-2002"
"DriverVersion"="5.2.3790.1830"
"MatchingDeviceId"="gencdrom"
"DriverDesc"="CD-ROM Drive"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0003]
"EnumPropPages32"="storprop.dll,DvdPropPageProvider"
"InfPath"="cdrom.inf"
"InfSection"="cdrom_install"
"ProviderName"="Microsoft"
"DriverDateData"=hex:00,40,2a,7c,dd,68,c2,01
"DriverDate"="10-1-2002"
"DriverVersion"="5.2.3790.1830"
"MatchingDeviceId"="gencdrom"
"DriverDesc"="CD-ROM Drive"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0004]
"EnumPropPages32"="storprop.dll,DvdPropPageProvider"
"InfPath"="cdrom.inf"
"InfSection"="cdrom_install"
"ProviderName"="Microsoft"
"DriverDateData"=hex:00,40,2a,7c,dd,68,c2,01
"DriverDate"="10-1-2002"
"DriverVersion"="5.2.3790.1830"
"MatchingDeviceId"="gencdrom"
"DriverDesc"="CD-ROM Drive"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0005]
"EnumPropPages32"="storprop.dll,DvdPropPageProvider"
"InfPath"="cdrom.inf"
"InfSection"="cdrom_install"
"ProviderName"="Microsoft"
"DriverDateData"=hex:00,40,2a,7c,dd,68,c2,01
"DriverDate"="10-1-2002"
"DriverVersion"="5.2.3790.1830"
"MatchingDeviceId"="gencdrom"
"DriverDesc"="CD-ROM Drive"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}\0006]
"EnumPropPages32"="storprop.dll,DvdPropPageProvider"
"InfPath"="cdrom.inf"
"InfSection"="cdrom_install"
"ProviderName"="Microsoft"
"DriverDateData"=hex:00,40,2a,7c,dd,68,c2,01
"DriverDate"="10-1-2002"
"DriverVersion"="5.2.3790.1830"
"MatchingDeviceId"="gencdrom"
"DriverDesc"="CD-ROM Drive"

 

4. ..and.. success!!! Drive works now flawlessly, at least so far!!!

More info / Sources

XP-won't-recognize, after-sp3, USB-cdfreaks, cdfreaks-firmware, NEC-drivers, bio-2510A, 3.26-fw, 2510A-NEC, regedit1, regedit2, y-answers, ms-kb, pcreview, xp-64-not-worth-it, yt


blog comments powered by Disqus
Your gift enables us to continue to provide high quality reporting with little or no advertising.