How to fix a non-working CD or DVD drive in Windows XP
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. Windows key + r or start -> run. That will open the run menu --- Comment by Ekse, posted on May 06, 2008here 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: |
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.
[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
Comments
please help me !