This page has moved to Promise 20376 SATA RAID controller in Linux


I'm a happy owner of a Asus A7V8X motherboard. It's an athlon VT400 board with integrated audio, network (not the gigabit version), firewire, 6 x usb 2.0 (the real one,high-speed) and a Promise Serial ATA RAID controller.

Because of proprietary code Promise can't make all the details of this controller available, so there where no drivers for a while. Some binary drivers appeared from Promise for a couple of distributions (mainly SuSE). This was also only for the distributed kernels, so it was of no help. For one, I compile my own kernels, and on top of that I use debian.

The other day browsing the debian-user mailing list I stumbled upon this post asking for help on the controller. I followed the link to the page and found a compilable driver. This includes a proprietary binary part, so it will taint your kernel. I hope I'm not breaking any laws by mirroring it here.

Kernel 2.4

The driver worked fine on my debian system running kernel 2.4.21. The array is detected as /dev/sda. You can take a look my kernel config in case it might help you out. Just remember to enable scsi and scsi disks.

To install the driver do the following:

  1. download driver zip
  2. unzip the driver (unzip ft-par_v1.00.0.15.zip)
  3. enter the directory created (cd par15)
  4. read the readme (less README)
  5. make sure your kernel sources are in /usr/src/linux (or make sure that /usr/src/linux points to your kernel source tree, i.e. /usr/src/linux-2.4.21)
  6. change the Makefile if you need to, highly unlikely.
  7. run a make (make)
  8. copy the driver/module to an appropriate location (cp ft3xx.o /lib/modules/2.4.21/kernel/drivers/scsi/)
  9. add ft3xx.o to /etc/modules if you want the driver to be loaded at boot time. This might be different by distro but a very good initial guess.
  10. you should now be able to load the driver with insmod (insmod ./ft3xx.o). If you run depmod (depmod -a) you can load it with no path. You should reboot your computer to make sure everything is loaded correctly on boot.

There are a few extra things that you may need. You need to define an array when the computer boots and add drives to it. The controler only accepts one drive (as master) on the ATA channel. I don't have Serial ATA drives to test but AFAIK you need them configured as Master. In my case I wanted to share some information with a windows partition (since I don't really leave space for an OS I don't use that much on my other drives). Windows asked me to define a drive of sorts before I was able to partition. I don't know if this is a needed step or just a Windows requirement. Windows only allowed me to format in NTFS which doesn't work for me, I needed FAT. On Linux I was able to access /dev/sda just fine.

I'm writting this from memory so I hope it's accurate. Let me know if something is wrong or needs updating.

Kernel 2.6

I've stopped using the Promise controller, so I didn't try to look at what was needed to get ft3xx working. There is a driver for Promise SATA controllers in the kernel called sata_promise. It's under scsi. The driver seems to load fine. I don't have SATA drives to test it with. I used normal a normal ATA drive before which doesn't seem to be recognized.


For the people using redhat, there is a thread about this at LinuxQuestions.org: Promise 376 (Asus A7V8X) and RedHat 9.0


Ignacio Solis - [ @igso ] [ @ucsc ] [ @sluglug ] [ knowledgebase ] [ blog ]
Mail any questions or comments to isolis @ igso.net
Last updated Feb 07, 2004