11.12 Writable CD Troubleshooting

Troubleshooting writable CD problems is challenging. There are so many things that can go wrong, and so many variables you can change to try to fix the problem, that it may seem the only choice is to strip everything down to bare metal and start over. Usually such extreme measures are not called for, however. In the course of working with dozens of CD writers on many different systems, we've encountered an amazing variety of problems. The following sections describe how to cure those problems. If you're having a problem with your CD writer, chances are one of these fixes will cure it.

11.12.1 General Troubleshooting

Before you do anything else, take the following steps, which solve most writable CD problems:

  • Read the manual. Sometimes the problem isn't really a problem at all. It's supposed to work that way.

  • If you're writing to a new type (or even batch) of CD-R discs, try a different type of disc. Many problems are disc-related, particularly if you're using cheap discs. When we think the problem may be media-related, we generally try burning a Taiyo Yuden blank. If that fails, we look elsewhere for the problem.

  • If the system is overclocked (or even just tweaked for maximum performance), try setting things back to standard values. Burning CDs is one of the most demanding things you can do with a system, and even minor stability problems are likely to manifest during the burn. If you're overclocking your processor, running PC100 memory at 133 MHz, running CL3 memory with CL2 timing, or something similar, set things back to standard and try the burn again.

  • Check the manufacturer's web site for your CD writer to see if it has posted a firmware update. If so, install it. In addition to fixing bugs, firmware updates may add new capabilities (such as the ability to write 80-minute blanks) and add support for burning schema required by new types of media.

  • Check the software manufacturer's web site to see if there's an update available. Most CD writer software makers update their software frequently, and patches often solve problems.

  • For an ATAPI (IDE) writer, check the DMA status of the ATA channel that the writer connects to. Some writers, even those that theoretically support DMA, do not function properly if DMA is enabled. Others don't work properly unless DMA is enabled. If DMA is enabled on the channel, disable it, restart the system, and try again. If DMA is disabled on the channel, enable it, restart the system, and try again.

    On older systems, disabling DMA may not be enough. You may have to uninstall bus-mastering drivers. Also note that disabling DMA on any system may prevent you from burning CDs at 8X or higher.

  • Under Windows 95/98, the file \WINDOWS\SYSTEM\IOSUBSYS\Scsi1hlp.vxd supports legacy SCSI devices but sometimes causes problems with CD writers. Rename or delete that file, restart the system to clear it from memory, and try burning again.

  • Check the ASPI configuration. All CD writers, ATAPI and SCSI, use ASPI, either the generic ASPI driver formerly supplied by Adaptec or a proprietary ASPI driver supplied with the burning software. You want the latest version available. If you've installed new SCSI hardware and your CD writer suddenly stops working properly, it's possible that software setup for the new hardware installed an older version of ASPI on top of your later version. This occurs more often than it should. For example, we had a system with a CD writer that operated perfectly. We installed a SCSI HP scanner on that system, and suddenly the CD writer started producing coasters. When we checked the ASPI version, we found that the current version had been replaced with a 1997-vintage 1.X version of ASPI.

To check the ASPI configuration, use the Nero InfoTool utility described earlier in this chapter. You can also run Start Find Files or Folders and search for the file wnaspi32.dll on C: and all subdirectories. Ordinarily, there should be only one copy of the file on the system. If it is the Adaptec ASPI driver, it should reside in the \WINDOWS\SYSTEM folder (Windows 9X), the \WINNT\system32 folder (Windows 2000), or the \WINDOWS\system32 folder (Windows XP). If it is a proprietary ASPI driver supplied with the CD burning software, it generally resides in the home directory for that software (e.g., C:\ProgramFiles\ahead\Nero). If you find other copies, delete them. Exception: if you have more than one operating system installed, it is proper for a copy of the file to reside in the system directory of each. If you suspect a problem caused by an ASPI conflict or an older version of ASPI, the best way to update ASPI is usually simply to reinstall the CD burning software.

If the preceding steps don't solve the problem, one of the following may:

  • Try some other brand of software. For example, when we began testing Windows XP, a new burner arrived that included EasyCD and DirectCD, both of which were supposed to work with Windows XP. They didn't. We downloaded Nero Burning ROM and installed it. A few minutes later, we were happily burning CDs under Windows XP. Don't assume that the software that comes with the writer is necessarily the best software to use, or even that it will work properly. It seems that the choice of bundled software is sometimes made by the marketing department for reasons entirely unrelated to functionality or stability.

  • Eliminate any software that creates virtual disk volumes. That includes not only packet-writing software (such as DirectCD), but such things as UDF drivers for DVD-RAM drives, the Onstream Echo backup software driver, and so on?anything that creates a virtual disk volume with an assigned drive letter. Unfortunately, when we say "eliminate" we mean a bit more than just uninstalling the software. In our experience, although uninstalling may work, it's more likely you'll need either to eradicate all references to the problem software from the registry, or else strip the disk down to bare metal and reinstall from scratch.

  • If you're using an ATAPI CD writer, check the IDE configuration. Always install the writer on a different channel than the source drive(s) if at all possible. If you do on-the-fly (CD-ROM to CD-R) copies, install the CD writer and the CD-ROM drive on different channels. If you do indirect copies (writing the data first to the hard disk), install the CD writer and hard disk on different channels. The best configuration is generally to make the hard disk primary master, the CD-ROM drive primary slave, and the CD writer secondary master. This allows you to copy from either the CD-ROM drive or the hard disk without having both source and destination devices on the same channel.

    If your CD-ROM drive doesn't support DMA, putting it on the same channel as the hard disk may actually impair your ability to burn CDs successfully. This is true because ATA does not allow mixing DMA and non-DMA devices on a single channel. If you install a non-DMA CD-ROM drive on the same channel as the hard drive, that forces the hard drive to downshift from DMA mode to PIO mode. PIO mode slows throughput and greatly increases CPU utilization, both factors that contribute to coasters.

    In this situation, we recommend replacing the CD-ROM drive with a DMA-capable model or simply using the CD writer as the sole CD device in the system. If that's not possible for some reason, the best bet is probably to put both CD devices on the Secondary interface and always copy data to the hard disk before burning. Note, however, that that forces the CD writer to operate in PIO mode, which may limit the upper speed at which you can burn CDs. Typically, writing at 8X or higher requires DMA mode, some burners require DMA mode to do 4X copies reliably, and nearly all burners require DMA mode to do 16X copies.

  • Most IDE CD writers are happiest as the master (or sole) device on the secondary ATA channel. If you have two devices on the secondary channel and the CD writer is set as slave, try switching the CD writer to master and the other device to slave. If that doesn't solve the problem, try disconnecting the other device temporarily. Some CD writers simply do not get along with some other devices on the same channel, typically older IDE tape drives, Zip drives, and similar devices.

11.12.2 Specific Problems and Issues

This section describes some specific problems and the fixes for them:

Test burn succeeds but real burn fails during TOC write

This is usually caused by Auto Insert Notification (AIN, Windows 9X) or AutoRun (Windows NT/2000) being enabled on the CD writer. The actual burn appears to proceed normally, but fails during the TOC write phase. This occurs because Windows periodically looks at CD drives. An unburned (or partially burned) disc contains no TOC, and so is of no interest to Windows. But when the burn process starts to write the TOC, Windows suddenly notices that a real disc is in the drive and attempts to read it, killing the burn. Of course, you really shouldn't bother doing test burns anyway.

Most CD writing software controls the status of AIN itself, turning AIN on or off as necessary. Generally, CD mastering software (e.g., EasyCD Creator) requires AIN be disabled for proper functioning, while packet-writing software (e.g., DirectCD) requires AIN be enabled. Properly behaved software generally handles this automatically, checking AIN status when you start the program, changing the status if necessary, and then returning AIN to the original status when you exit the program. However, not all software is properly behaved, and confusion can occur if you use a mastering package and a packet-writing package from different makers. For some CD writer software (e.g., Nero Burning ROM), AIN status doesn't matter.

To check or reset AIN status under Windows 95/98, start the Device Manager, expand the listing of CD-ROM devices, and double-click the entry for the CD writer to display the device Properties sheet. On the Settings page, shown in Figure 11-5, use the Auto insert notification checkbox to view or change the status of AIN.

Figure 11-5. The device Properties sheet from within the Device Manager, where you can view or change the status of AIN under Windows 9x

Windows NT/2000/XP makes it a bit more difficult to view and change AutoRun status, requiring a direct change to the registry to do so, as shown in Figure 11-6.

Figure 11-6. Using the Registry Editor to turn off AutoRun

If you frequently need to change AutoRun status in Windows NT/2000/XP, you can automate the process by creating two small registry files. Name them descriptively, something such as AutoRun-on.reg and AutoRun-off.reg. To create these files, take the following steps:

  1. Choose Start Run, type regedit in the box, and click OK.

  2. Highlight HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom (as shown in Figure 11-6).

  3. From the Registry menu, choose Export Registry File to display the Export Registry File dialog.

  4. Verify that the Selected branch option button is selected in the Export range section and that the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom branch is selected.

  5. Browse to the folder where you want to store the file, and type in a descriptive filename that corresponds to the current status of Autorun. For example, in the figure, Autorun is currently enabled (set to a value of 1), so we'd name this file Autorun-on. Click Save to write the file to disk, accepting the default Save as type of Registration Files.

  6. Back in the Registry Editor, double-click the Autorun item in the right pane to display the Edit DWORD Value dialog. In the Value data box, change the value from 1 to 0 (or 0 to 1, as appropriate) and click OK.

  7. Repeat steps 3 through 5 to save the second file.

Following these steps yields two files named Autorun-on.reg and Autorun-off.reg. To change the status of Autorun, simply double-click one or the other from Explorer. Windows NT/2000/XP prompts you that you are about to add the information in the file to the registry. Click Yes to change the setting for Autorun. Windows prompts you that the change has been made successfully. Click OK to clear the dialog. Autorun is now set to the value specified by the file. If you change Autorun status frequently, it's worth creating desktop shortcuts to each of these files.

It does no harm to reset Autorun from 0 to 0 or from 1 to 1, so you needn't check before running one or the other of these files. Simply double-click the one that sets Autorun to the value you need at the moment.

Test burn succeeds but real burn fails randomly during write

This problem is similar to the preceding one, but differs in that the burn process may die at any stage during the write, rather than just during the TOC write. Although there are many things that can cause this problem, if you have eliminated the more likely causes, consider the possibility of an inadequate power supply, particularly if you recently upgraded the system with a second hard disk, faster processor, more memory, or something else that places an additional burden on the power supply. CD writers require significantly more power during an actual write than during a test write, and an inadequate power supply may be able to provide the current required for a test write, but not an actual write.

CD writer rejects blanks

If the writer immediately ejects a blank disc, there may be a media, environmental, hardware, or software problem. To eliminate media, try inserting a different brand of blank. If that disc is accepted, it is likely the problem disc was defective or previously written (some drives and software reject coasters without a helpful error message). To eliminate environmental causes, verify the writer is not overheating and, if it is an external unit, that it is level. If you have recently added or changed hardware, verify that all cables and jumpers are correct and, if the writer is SCSI, that termination is set properly. Finally, if you have recently added software or hardware to the system, verify that AIN, DMA, and so on are configured properly and that ASPI is the correct version. If all of those seem correct, uninstall and reinstall the CD writer software. If all else fails, reinstall the operating system. If that doesn't work, chances are the CD writer needs to be repaired or replaced.

The CD writer reports a power calibration, PCA, or write schema error

Different types of discs require the writing LASER to use different power settings and methods of writing to the disc. Every CD-R blank includes a special area called the Power Calibration Area (PCA), which the writer uses to test LASER power and other write parameters before actually writing data to the disc. PCA errors occur when the writer can't determine how to write to a particular type of disc, or occasionally when the disc itself is defective. If you get a PCA error, try substituting a different type of disc. If that works, try another blank of the same type as the problem disc. If that works, the problem disc itself is defective. If other discs of the same type also return PCA errors, those discs are incompatible with your writer. Updating the writer firmware may allow it to use those discs, but some types of discs are simply incompatible with some types of writers. If the writer sporadically or reproducibly returns PCA errors with different types of discs, an inadequate power supply is the likely cause.