Terrible performance and high CPU usage on optical drives?
My new system (see left) performs fine (E8400 temperature reporting excepted) apart from the performance of the optical drives. I have two optical drives on the IDE channel of my Abit IP35 Pro - an LG DVDROM as the master and a Pioneer DVD-RW as the slave (set by jumpers, not cable select).
I've now established that the transfer rates are appalling - it took five minutes to copy a 300MB zip file from a cd earlier tonight, with the CPU usage at around 50% and the mouse pointer jerking across the screen while it was copying. My suspicions were raised at how slowly a couple of games had installed last week, and how slowly a few dvds had been burnt.
I'm using all the latest drivers from the manufacturer's websites (in the case of the IDE channel on the IP35 Pro, I believe this is a JMicron device).
Anyone any ideas what might be wrong, or where to start troubleshooting this? I don't know whether it's a driver issue, or a BIOS setting that's wrong, or something else. All my hard drives (SATA) work very well under the Intel southbridge. But the optical drive performance is next to useless. I know the optical drives themselves are fine as I took them from my old system where they worked at full speed and without the massive CPU load.
Re: Terrible performance and high CPU usage on optical drives?
Its in PIO mode, you need to change it to DMA - sorted :)
Re: Terrible performance and high CPU usage on optical drives?
Thanks Agent - after googling about PIO & DMA it certainly seems as though that was the case.
However, prior to googling, I'd gone into the BIOS and set an option for the JMicron controller from AHCI to IDE. The BIOS states that this option is for the JMicron SATA connection only, but it obviously affects the IDE channel as well. I've just rebooted into Windows and tried copying the same 300MB zip file from cd to hard drive, and it flew across. Problem solved. :)
But after reading about PIO/DMA and the instructions for setting the IDE channel back to DMA, I look in my device manager and find that there are no IDE/ATAPI devices listed! Both my optical drives are listed as scsi devices, for example the details of my LG DVD-ROM are "Bus Number 0, Target ID 0, LUN 0". Now I'm really confused. :D
Re: Terrible performance and high CPU usage on optical drives?
I am having some issues with the IDE on the IP35 pro too. Specifically devices not being recognised. It's a strange new board to me so I'll have to experiment more as the board seems to have two sata/ide controllers. Don't have any issues with transfer rates from DVD/CD Roms though.
What BIOS version are you using? I'm on v16 B09 beta.
Re: Terrible performance and high CPU usage on optical drives?
Both optical drives are back in PIO mode again (and not for the first time since I last posted in this thread). I've gone into device manager and told the IDE channel to use DMA when available, but Windows ignores me.
I've uninstalled the IDE channel and rebooted, but when Windows next loads it reinstalls the IDE driver and forces it back to PIO mode again.
Anyone any ideas? The optical drives are pretty much unuseable right now. :(
I've about had it with this Abit board - never had so many problems with something as simple as an optical drive and an IDE channel.
Re: Terrible performance and high CPU usage on optical drives?
Its not actually the boards fault, so to speak, but the stupid controller + drivers :(
It happens on all boards that use it, not just the Abit if that makes you feel any better :D
Anyway, this is a little script I use (I didn't make it) that helps force reset the DMA information.
Copy the following into a text document (use notepad, *not* wordpad), save as
"dmareset.vbs" or whatever you like, then run it and reboot. This should force reset your DMA status in windows :)
Code:
' Visual Basic Script program to reset the DMA status of all ATA drives
' Copyright © 2006 Hans-Georg Michna
' Version 2007-04-04
' Works in Windows XP, probably also in Windows 2000 and NT.
' Does no harm if Windows version is incompatible.
If MsgBox("This program will now reset the DMA status of all ATA drives with Windows drivers." _
& vbNewline & "Windows will redetect the status after the next reboot, therefore this procedure" _
& vbNewline & "should be harmless.", _
vbOkCancel, "Program start message") _
= vbOk Then
RegPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\"
ValueName1Master = "MasterIdDataChecksum"
ValueName1Slave = "SlaveIdDataChecksum"
ValueName2Master = "UserMasterDeviceTimingModeAllowed"
ValueName2Slave = "UserSlaveDeviceTimingModeAllowed"
ValueName3 = "ResetErrorCountersOnSuccess"
MessageText = "The following ATA channels have been reset:"
MessageTextLen0 = Len(MessageText)
ConsecutiveMisses = 0
Set WshShell = WScript.CreateObject("WScript.Shell")
For i = 0 to 999
RegSubPath = Right("000" & i, 4) & "\"
' Master
Err.Clear
On Error Resume Next
WshShell.RegRead RegPath & RegSubPath & ValueName1Master
errMaster = Err.Number
On Error Goto 0
If errMaster = 0 Then
On Error Resume Next
WshShell.RegDelete RegPath & RegSubPath & ValueName1Master
WshShell.RegDelete RegPath & RegSubPath & ValueName2Master
On Error Goto 0
MessageText = MessageText & vbNewLine & "Master"
End If
' Slave
Err.Clear
On Error Resume Next
WshShell.RegRead RegPath & RegSubPath & ValueName1Slave
errSlave = Err.Number
On Error Goto 0
If errSlave = 0 Then
On Error Resume Next
WshShell.RegDelete RegPath & RegSubPath & ValueName1Slave
WshShell.RegDelete RegPath & RegSubPath & ValueName2Slave
On Error Goto 0
If errMaster = 0 Then
MessageText = MessageText & " and "
Else
MessageText = MessageText & vbNewLine
End If
MessageText = MessageText & "Slave"
End If
If errMaster = 0 Or errSlave = 0 Then
On Error Resume Next
WshShell.RegWrite RegPath & RegSubPath & ValueName3, 1, "REG_DWORD"
On Error Goto 0
ChannelName = "unnamed channel " & Left(RegSubPath, 4)
On Error Resume Next
ChannelName = WshShell.RegRead(RegPath & RegSubPath & "DriverDesc")
On Error Goto 0
MessageText = MessageText & " of " & ChannelName & ";"
ConsecutiveMisses = 0
Else
ConsecutiveMisses = ConsecutiveMisses + 1
If ConsecutiveMisses >= 32 Then Exit For ' Don't search unnecessarily long.
End If
Next ' i
If Len(MessageText) <= MessageTextLen0 Then
MessageText = "No resettable ATA channels with Windows drivers found. Nothing changed."
Else
MessageText = MessageText & vbNewline _
& "Please reboot now to reset and redetect the DMA status."
End If
MsgBox MessageText, vbOkOnly, "Program finished normally"
End If ' MsgBox(...) = vbOk
' End of Visual Basic Script program
Re: Terrible performance and high CPU usage on optical drives?
That sounds brilliant - many thanks Agent. It's a bit late tonight to start doing that but I'll hopefully give it a shot over the weekend (or at the very least, before I next need to use an optical drive again. ;))
Re: Terrible performance and high CPU usage on optical drives?
It works, I've got a copy kept in my email account as its an issue I've come across many a time. Primarily after a device has read a CD which was scratched to buggery - seems to trip the computer into thinking the device cannot comply with the DMA standards, and as such drops back to PIO.
Re: Terrible performance and high CPU usage on optical drives?
One of the big problems with PIO is how it can deadlock a lot of the kernel resources, in particular multimedia precicison timers.
Rather than use a script to re-set the DMA settings, why not just permission the registry key so it can't be written? (but make sure you allow permission changing ;)).
Messing about with the registry perms might really upset some drivers, but those it dosen't i can't help but feal its a more elegant hack.
either that or get a SATA optical drive ;)
Re: Terrible performance and high CPU usage on optical drives?
This can be a real nightmare.... I had an Abit board that just would not correcly set any setting on any optical drives.
I gave up in the end and got an ASUS board.