Monday, October 09, 2006

DMA is a Good Thing (TM)

I was recently ripping audio CDs until I reached a point where it didn't work so well anymore. Symptoms: CPU usage would go through the roof (even after changing the process' priority to Low), my pointing device would be erratic, I couldn't play audio at the same time and the ripping itself didn't seem to go as fast as it used to.

Since the pointer was erratic, I suspected an interrupt problem. It turns out the drive had was now being accessed in PIO mode. I tried the usual "switch to DMA" trick, but it didn't work! Fortunately, I ran into this forum posting over at CDRLabs.com where the third post detailed a procedure which seemed less scary than the first one and which worked, to boot!

Quick recap, in case that forum vanishes into thin bandwidth (hardy har har), because everybody knows all the forums eventually get pwn3d by spoiled twelve-year-olds-who-should-really-be-doing-their-homework-instead-of-saving-the-public-good-from-useful-information-and-loitering-on-my-damn-lawn:


  1. Open your registry to the key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}

  2. Navigate under the sub-key 0001 or 0002 (representing the primary and secondary IDE channels, respectively), whichever one represents the channel for which your device isn't getting DMA-enabled

  3. Delete the value MasterIdDataChecksum or SlaveIdDataChecksum, again depending on whether your DMA-deficient device is the master or slave, respectively.

  4. Reboot!



In conclusion, this momentary trip to the pre-DMA days really scared me and made me be thankful for DMA on this day of thanksgiving. I suspect one of my CDs was scratched or otherwise damaged and my operating system decided it was safer to switch to PIO mode.

No comments: