superdx wrote:
In fact I had this problem too. I use my T43 as a development machine, and have things like IBM Websphere and IBM DB2 installed on it, so I always assumed those were the culprits. I couldn't uninstall them since I needed them, so I left it as is. My mouse stuttered too, and annoyed the crap out of me, I was going to spring for a new 7200RPM drive until one day I was just being curious and checked the IDE channel settings.
"wtf, PIO?"
A little Google action and found this page:
http://www.michna.com/kb/WxDMA.htmI also applied the MS Hotfix:
http://support.microsoft.com/kb/817472/And now my T43 hasn't reverted back to PIO for at least a month.
Funny thing is that this never happened to my previous T42. I'm starting to wonder if the T43s are just time bombs waiting to go off (2010 error, just recently resolved).
You can try my script for fix this problem. You must create REG file in notepad and save as some_name.reg :
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0000]
"MasterDeviceType"=dword:00000001
"SlaveDeviceType"=dword:00000000
"SlaveDeviceDetectionTimeout"=dword:00000001
"MasterDeviceTimingMode"=dword:00010010
"MasterDeviceTimingModeAllowed"=dword:ffffffff
"MasterIdDataCheckSum"=-
"SlaveDeviceTimingMode"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001]
"UserSlaveDeviceTimingModeAllowed"=dword:ffffffff
"UserMasterDeviceTimingModeAllowed"=dword:ffffffff
"ResetErrorCountersOnSuccess"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002]
"UserMasterDeviceTimingModeAllowed"=dword:ffffffff
"UserSlaveDeviceTimingModeAllowed"=dword:ffffffff
"ResetErrorCountersOnSuccess"=dword:00000001
OR
You can use this:
http://compservice.pl/skrypty/FixHddUdmaMode.cmd
Source of script FixHddUdmaMode.cmd:
@ECHO OFF
:: No command line parameters required
cls
ECHO.
ECHO FixHddUdmaMode.cmd v.1.0 beta for 32-bit Windows by Pawel Pisarski
ECHO.
ECHO
www.compservice.pl
ECHO.
ECHO Fixing problem when IDE ATA and ATAPI disks use PIO mode after multiple
ECHO time-out or CRC errors occur
ECHO.
ECHO After the Windows IDE/ATAPI Port driver (Atapi.sys) receives a cumulative
ECHO total of six time-out or cyclical redundancy check (CRC) errors, the driver
ECHO reduces the communications speed (the transfer mode) from the highest
ECHO Direct Memory Access(DMA) mode to lower DMA modes in steps. If the driver
ECHO continues to receive time-out or CRC errors, the driver eventually reduces
ECHO the transfer mode to the slowest mode (PIO mode).
ECHO.
ECHO For more information go to the Microsoft Knowledge Base
ECHO
http://support.microsoft.com/kb/817472/
ECHO or
ECHO
http://www.michna.com/kb/WxDMA.htm
ECHO.
ECHO. YOU'RE RUNING THIS SCRIPT ONLY ON YOUR RESPOSIBILITY.
ECHO.
:QUESTION
set choice=
set /p choice=Do You want continue (y/n) ...
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='y' goto START
if '%choice%'=='Y' goto START
if '%choice%'=='N' goto END
if '%choice%'=='n' goto END
ECHO "%choice%" is not valid please try again
ECHO.
goto QUESTION
:: Create temporary REG file
:START
>> c:\FixHddUdmaMode.reg ECHO Windows Registry Editor Version 5.00
>> c:\FixHddUdmaMode.reg ECHO.
>> c:\FixHddUdmaMode.reg ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0000]
>> c:\FixHddUdmaMode.reg ECHO "MasterDeviceType"=dword:00000001
>> c:\FixHddUdmaMode.reg ECHO "SlaveDeviceType"=dword:00000000
>> c:\FixHddUdmaMode.reg ECHO "SlaveDeviceDetectionTimeout"=dword:00000001
>> c:\FixHddUdmaMode.reg ECHO "MasterDeviceTimingMode"=dword:00010010
>> c:\FixHddUdmaMode.reg ECHO "MasterDeviceTimingModeAllowed"=dword:ffffffff
>> c:\FixHddUdmaMode.reg ECHO "MasterIdDataCheckSum"=-
>> c:\FixHddUdmaMode.reg ECHO "SlaveDeviceTimingMode"=dword:00000000
>> c:\FixHddUdmaMode.reg ECHO.
>> c:\FixHddUdmaMode.reg ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001]
>> c:\FixHddUdmaMode.reg ECHO "UserSlaveDeviceTimingModeAllowed"=dword:ffffffff
>> c:\FixHddUdmaMode.reg ECHO "UserMasterDeviceTimingModeAllowed"=dword:ffffffff
>> c:\FixHddUdmaMode.reg ECHO "ResetErrorCountersOnSuccess"=dword:00000001
>> c:\FixHddUdmaMode.reg ECHO.
>> c:\FixHddUdmaMode.reg ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002]
>> c:\FixHddUdmaMode.reg ECHO "UserMasterDeviceTimingModeAllowed"=dword:ffffffff
>> c:\FixHddUdmaMode.reg ECHO "UserSlaveDeviceTimingModeAllowed"=dword:ffffffff
>> c:\FixHddUdmaMode.reg ECHO "ResetErrorCountersOnSuccess"=dword:00000001
>> c:\FixHddUdmaMode.reg ECHO.
:: import the REG file and replace UDMA entry
REGEDIT /S c:\FixHddUdmaMode.reg
:: Delete the temporary REG file
del c:\FixHddUdmaMode.reg
cls
ECHO.
ECHO.
ECHO.
ECHO.
ECHO Now, Your computer must be reboot to made changes !
ECHO.
ECHO.
:End
ECHO.
ECHO.
pause
ECHO.
ECHO.
After run this script, notebook must be reboot and then will work correctly.