(U)DMA On My Toshiba Satellite A80-117 [Update]

Toshiba Satellite A80-117

Sometimes funny things happen. I spent several hours yesterday, trying to figure out why my laptop is responding so darned slow. I suspected it had something to do with the hard drive and I found out quite quickly that (U)DMA was disabled, hence the CPU had to do all the work. OK, no problem, I'll just do a hdparm -c1 -d1 /dev/hda and everything will be fine. Or so I thought.

What I got was this:

setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)

Which means DMA could not be enabled. I noticed an error message in the output of dmesg which seemed related: ide0: Speed warnings UDMA 3/4/5 is not functional. Some people had the same problems because they were missing the correct option in the kernel (mine is CONFIG_BLK_DEV_PIIX), but that was not my problem. After a few hours of googling and 6 or 7 kernel recompiles, I gave up and went to bed.

Now to the funny part: Today, John Choffee posted a comment about bashpodder in my blog. Curious as I am, I also visited his blog and in his "LinkFeed" box a tiny entry caught my attention: [PATCH] ich6m-pciid-piix.patch. Now guess what this patch (for Linux 2.6) does. It adds support for my specific type of IDE/(S)ATA controller, the "Intel Corporation 82801FBM (ICH6M)". Patch, recompile kernel, reboot, hdparm -c1 -d1 /dev/hda, bingo!

Here's the output of hdparm -tT /dev/hda:

Before the patch:

Timing cached reads: 2468 MB in 2.00 seconds = 1232.95 MB/sec
Timing buffered disk reads: 8 MB in 3.84 seconds = 2.08 MB/sec

After the patch:

Timing cached reads: 2624 MB in 2.00 seconds = 1312.20 MB/sec
Timing buffered disk reads: 88 MB in 3.00 seconds = 29.33 MB/sec

Thanks John, you're my personal hero today.

Update 2006-03-01: The URL for the patch is broken. This one works.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Piix DMA

No Problem!

I have been meaning to write this up for a while! Lucky that you found it.

john

i have the same problem but

how do you get to thatpoint to fix you laptop i need to know if you could teach me how to get to that kernal so i can fix my laptop because i have the same problem. My email is shibnibty@hotmail.com

UDMA on my laptop

It's not that hard - download a 2.6.14 kernel (2.6.15 does not work with the patch!), get this patch and apply it. Then configure and compile your kernel as usual...

HTH, Uwe.