[BL] Using ATA100 PCI IDE controllers in BL2

baslinux at lists.ibiblio.org baslinux at lists.ibiblio.org
Tue Dec 11 19:48:22 EST 2007


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.

Change your DOS boot batch file to point to the correct drive.

The card does not recognize CD-ROM drives, even after updating the BIOS.
I put mine on the onboard secondary controller and disabled the onboard 
primary controller.  I don't know how to disable the secondary controller 
on the card.  Each controller uses an IRQ.

hdparm -i /dev/hdc says it is using udma5 and also lists the drive speed. 
I have not compared before and after yet with hdparm.

The driver for the add-in card must be built into the kernel (or use it 
with initfs.gz) so that the drives will be recognized at boot time if your 
boot drive is plugged into the card not the board.  I have not compiled a 
kernel for use with the modules - it needs a few things enabled:

I had to answer Y to 'Ignore BIOS port disable setting on FastTrak' to 
eliminate six unresolved symbols, as discussed in the help file (but not 
pointed out in help a while before that, for these two controller 
modules).  See my blfiles.htm in the bl directory for details.

I figured part of this out by remembering that linux would boot from scsi 
drives only with the scsi support (general and hd) built into the kernel, 
and by searching on my unresolved symbols and adding the bit about "Ignore 
... FastTrak".  It only took a few months.

The drive is now doing 61MB burst and 55MB sustained transfer instead of 
3.5MB and 3.2MB, on our fastest drive ('fixed' by removing XP with 

This card works in DOS without anything added.

It booted Win98 (in the other computer with slow onboard controller) even 
more slowly than did the onboard controller.  We fixed this by frying that 
motherboard.  The slowness problem was related to 512 byte sector size.

We got the card out of a 233MHz IBM that would not boot because someone 
had put in two scsi cards (scsi and scanner cards).  Someone gave us a 
Promise 66MHz card.  Drives seem to run at a maximum of about 60% of the 
rated speed, so that 66MHz card runs them at 43MB (if they are capable). 
The 2.5GB drive goes up to 15MB/sec with this ATA100 card.  We also have 
an ISA controller card that can control up to 8GB but is much much slower.

We have several other computers with slow controllers, 3MB - 5MB.  One 
has slow primary master (5MB), but primary slave and secondary M and S are 
twice that speed.  An IDE PCI add-in card can make these computers usable. 
A SCSI card and drive are another option.

You need an 80 wire cable to get speeds over 33MB/sec (blue or yellow) - 
which is ATA-4 (66)  ATA-5 (100) or ATA-6 (133).  It should not be 
twisted.  For drives that cannot do ATA66, we found that 40-wire cables 
actually run them a bit faster.  Many computers come with blue IDE 
controller ports which are supposed to be fast but are not, and with 
80-wire cables on hard disks and CD-ROM drives.  CD-ROM drives never run 
fast enough for them.  The 80 wires is to reduce some electrical 
interaction between the wires that slows down the drives.

This controller card is known for not supporting CD-ROM drives.  It is not 
a good solution for dead onboard IDE controller.


keesan at sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

More information about the BasLinux mailing list