My ordeal with using a CD-RW under Windows XP will hopefully help someone with a similar problem and will demonstrate how Windows XP, by trying to be too clever, ends up compromising system stability and reliability.
I bought a Liteon 32x CD-RW on Sept 2002. I installed it in the secondary IDE port as a slave device along with an existing older DVD-ROM master device. Both devices were functioning via DMA mode at the time. I happily burnt CDs for around 4 months, until I started getting an inordinate amount of CD-write errors – write sessions wouldn’t close, closed sessions could’nt be read back, highly distorted audio CDs .. etc ..etc .. needless to say a bunch of coasters and I was extremely frustrated. I tried everything I could think of .. trying different media, changing the IDE cable, flashing the CD-RW drive, updating the cd-writer software .. reading manufacturer FAQs/troubleshooting guide, looking at the web for help, but nothing seemed to solve the problem.
I happened to notice at this time that my DVD-ROM transfer mode had switched to PIO mode all by itself, while the CD-RW was still operating under DMA mode. In its infinite wisdom, Windows XP will set a CD-drive to PIO mode if it encountering certain errors during data transfers operations, amongst other reasons.
Unfortunately, I didn’t pay too much attention to this and decided that my CD-RW had gone bad. I returned the CD-RW to the store for an RMA, only to have it promptly returned back to me.. apparently the supplier and store both tested the drive and it seemed to be working perfectly. I made big fuss about it and got the store to do additional tests which all passed. I had no choice but to pay $28.00 for shipping (between the store and supplier) to get the drive back.
Now I was really desperate. I started searching the web for a last ditch effort before I gave up all hope. Luckily I stumbled across this article that rang a bell !!.. it read :
Note: It is not possible to use PIO modes to control one device on a channel (IDE) and DMA (or Ultra DMA) modes to control the other one. Do not mix devices that don't support DMA with ones that do on the same channel, if you want to use DMA.
I rushed home, disconnected my DVD-drive (which Windows XP had changed to PIO mode), installed the CD-writer and voila .. All my CD burning problems disappeared !!
Isn’t it ironic that in order “to ensure system stability” , XP inadvertently ends up making the system unstable .. assuming the above article is correct (seems to be based on my experience), Microsoft should seriously reconsider its policy of downgrading CD drive transfer modes, especially since it’s very likely that drives on the same IDE channel could be set to conflicting transfer modes, i.e., PIO & DMA modes on the same IDE channel. What do you think ??
Unfortunately, what you may also discover is that if the source of the CRC or Bad Pool Call errors continues, the device will again be reset to PIO mode, or even "turned off", forcing you to continue to reinstall the device over time as the errors accumulate.
Here's an example URL where a similar situation occurred with several Plextor models:
However, in my experience, there are other possible reasons for this kind of error to occur, which may have nothing to do with damage to the IDE cable, the ATAPI controller, or jumpering the UDMA connector.
1.) Poorly written or incompatible chipset drivers.
2.) An out-of-date or buggy BIOS version
3.) The Imapi CD Burning COM Service causing time-outs while using software such as Nero.
4.) Incompatibilities with the Advanced Programmable Interrupt Controller in the BIOS and Win2K/WinXP, mostly found on newer mainboards, and not activated until a 32-bit OS is installed, as Win9x does not use this kind of controller.
My Current Working Solutions:
1.) Intel boards ... update the chipset drivers. VIA boards, install only the AGP GART driver, instead of the complete 4in1's.
2.) Flash the BIOS to the latest version.
3.) Disable the service.
4.) Change the Interrupt Controller in the BIOS to PIC, and then either freshly reinstall the OS (my preference), or run a repair from the Recovery Console or the OS CD. The APIC allocates 255 virtual IRQ's through just one IRQ for the system devices, and this single IRQ is used as a "gateway". While this is not always a concern, occasionally the BIOS on certain mainboards will attempt to interfere with the way Windows allocates the IRQ addresses at the hardware level, and this causes conflicts which may not always be detectable in the Device Manager. I have found this to be especially apt when referring to older Intel Socket 423 mainboards, but the problem is definitely not exclusive to these boards. Flashing the BIOS does not always correct the problem ... sometimes the only solution is physically changing the type of controller in the BIOS so that only the "actual" hardware IRQ addresses are used.
If none of this works, you may be looking at a replacement mainboard.
For some reason (most likely due to errors as explained in the microsoft article) my DVD was downgraded to PIO out mode. A simple fix is to use the device manager to un-instal the secondary or primary channel that the device is hooked up to. It will get re-detected on the next re-boot and you're up and running again.