[BL] Using ATA100 PCI IDE controllers in BL2

baslinux at lists.ibiblio.org baslinux at lists.ibiblio.org
Tue Dec 11 21:32:44 EST 2007

On Wed, 12 Dec 2007, baslinux at lists.ibiblio.org wrote:

> http://keesan.freeshell.org/bl/2.4.31/bzprosis.431
> http://keesan.freeshell.org/bl/2.4.31/confprosis.431
> A 2.4.31 kernel with built-in support for my Promise Ultra ATA100 TX2 PCI
> controller card and also the onboard SIS controller of a 2.4GHz computer
> given to us that appears to have some problem with the onboard controller,
> producing transfer speeds of 3.2-3.5MB/sec.  You can hear the hard drives
> clicking away while you are waiting for a small file to load in DOS. This
> SIS and another controller with the same problem are both marked ATA133.
> To get the full speed, loadlin requires adding ide2=ata100 (if this is the
> third IDE controller - disabling onboard controllers in BIOS may change
> the numbering so watch dmesg).  The default is 33MHz.  Another site
> suggested idebus=100 rather than ide=ata100.  I have not tested speeds
> with and without these additions to loadlin line.

I experimented and ide2=ata100 appears to have no effect.
idedma=66 or 100 slows the drive down by making it run in PIO mode.

Syschk, Spinrite, and hdparm give very different transfer speeds.

For onboard Sis controller, 2.5GB and 60GB drives:
Syschk:  11.9 and 12.4MB/sec
Spinrite 3.5 and 3.2MB  (larger faster drive tests slower)
hdparm:  1.91 and 1.83 MB (" ")

hdparm with SIS5513 kernel:  9.2MB and 46MB

For add-in Promise controller:
Syschk:  22MB and 33MB  (2-3X as fast)
Spinrite:  10M and 55M (burst 15 and 61)
hdparm with Promise kernel:  8.23M and 46M

Conclusion:  if you have a fast onboard controller, it runs slower in 
linux than an ordinary controller unless you compile your kernel for it. 
Spinrite is probably not accurate here (with speeds of 55MB/sec), but the 
add-in controller is probably at least twice as fast in DOS (22 or 33MB 
instead of 12MB).  There is very little speed difference between onboard 
and add-in fast controllers in linux (the slower drive runs a bit faster 
with the add-in controller).  If using this computer primarily for linux I 
am better off with the onboard controller (and it saves an IRQ).  For DOS 
the add-in card is probably better.

Ubuntu had the appropriate kernel for the add-in card.

I then tested another computer, with standard kernel, with one slower 
drive on primary master and one faster drive on primary slave:

Syschk    6.9 and 9.5MB  (master and slave)
(primary master controller runs slower even with drives reversed here so I 
run linux off the slave drive)
Spinrite  3.9 and 9.3 MB  (much better than the Sis controller)
hdparm : 4MB and 5MB (10% as fast as with the ATA133 controllers)

This board supposedly has an ATA100 controller, for which I will attempt 
to compile the module or kernel.  It is using Uniform MultiPlatform E-IDE 
driver. Can I determine the controller other than by looking on the board 
or looking up the model online?

ide0 and ide1 use irq 14 and 15.


More information about the BasLinux mailing list