[ale] Re: [ale] boot parms ide=???

Marvin Dickens mpdickens at tlanta.com
Wed Feb 19 03:19:16 EST 2003


The way I understand it is that ATA drives currently support 4 modes of 
operation. They are:
 
PIO (0-4 submodes)
Single-word DMA (0-2 submodes)
Multi-word DMA (0-2 submodes)
Ultra DMA (0-7 submodes)
 
Therefore, using this information, you can use the hdparm utility to 
configure the drive like so:

hdparm -X00 -> restore default PIO mode
 hdparm -X01 -> disable IORDY
 
PIO modes (Programmed IO) (disk mode (above) + 8)
 hdparm -X08 -> PIO 0
 hdparm -X09 -> PIO 1
 hdparm -X10 -> PIO 2
 hdparm -X11 -> PIO 3
 hdparm -X12 -> PIO 4
 
SDMA modes (Single-word DMA) (disk mode (above) + 16)
 hdparm -X16 -> SDMA 0
 hdparm -X17 -> SDMA 1
 hdparm -X18 -> SDMA 2
 
MDMA modes (Multi-word DMA) (disk mode (above) + 32)
 hdparm -X32 -> MDMA 0
 hdparm -X33 -> MDMA 1
 hdparm -X34 -> MDMA 2
 
UDMA modes (Ultra-DMA) (disk mode (abov) + 64)
 hdparm -X64 -> UDMA 0 (ATA16)
 hdparm -X65 -> UDMA 1 (ATA 25)
 hdparm -X66 -> UDMA 2 (ATA 33)
 hdparm -X67 -> UDMA 3 (ATA 44)
 hdparm -X68 -> UDMA 4 (ATA 66)
 hdparm -X69 -> UDMA 5 (ATA 100)
 
An example of how you can use the above information:

Determine how fast your drive(s) are running. To do this run the 
following command:

hdparm -Tt /dev/hda

Next, find out which settings are currently enabled:

hdparm -c -d /dev/hda

You'll be able to tell whether 32 bit dma is enabled, if multicount is used, 
and unmasked irq's. A catchall command to enable some or all features that 
you would wantis:

hdparm -c1 -m16 -d1 /dev/hda

This enables 32bit access and multisector reads. These items may already be 
present in a compiled kernel. It depends on distro.

To push further do the following:

hdparm -c1 -u1 -m16 -d1 -X66 /dev/hda


This enables unmasked irq's and Ultradma mode 2. They should work well but may 
cause problems on older drives. The udma setting won't work on motherboards 
(eg) lacking a udma66 (or newer) controller. If these settings improve your 
system, you can add the above command(s) to /etc/rc.local to be active at 
bootup. You can also find out more about your ide chipset by exploring 
/proc/ide


I hope this helps.

Best 

Marvin Dickens
_______________________________________________
Ale mailing list
Ale at ale.org
http://www.ale.org/mailman/listinfo/ale






More information about the Ale mailing list