Welcome Guest ( Log In | Register )

Outline · [ Standard ] · Linear+

Hardware Problem with Seagate 750GB HDD

views
     
eclectice
post Jun 16 2008, 12:41 AM

Look at all my stars!!
*******
Senior Member
2,734 posts

Joined: Mar 2008
QUOTE(dani_irwan @ Jun 15 2008, 11:58 PM)
How to enable DMA? i can't find it by right clicking and click properties =(
*
This example if you are using an IDE channel (P-ATA type). You need to access Device Manager and look in the tree view for IDE channels. Open its Properties and enable Auto Detection option to let Windows to choose the supported DMA mode.

Attached Image

However, some ATA devices are so stubborn and crazy sometimes, causing Windows to drop to a lower mode (like PIO mode). This normally happens with CD/DVD drives which is causing slow access speed and jerkiness. There is a script below which will force Windows to recognize the ATA devices in DMA mode.

http://winhlp.com/node/10

Save this Visual Basic Script (VBS) as resetdma.vbs
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



This post has been edited by eclectice: Jun 16 2008, 12:48 AM

 

Change to:
| Lo-Fi Version
0.0161sec    0.70    7 queries    GZIP Disabled
Time is now: 1st December 2025 - 12:26 AM