# (how to) Install Promise SX4000 Raid Adapter

## Ganto

hi

i know, that there are already some threads about this raid-adapter in this forum, but no success message with gentoo. 

i'm working with gentoo/linux since 3 months and so it costs me a lot of effort to make this raid-adapter working, but now, everything is fine.

1. you can find some sources of the promise driver here:

http://majestic.lugh.de/~fs/promise/ and http://reussnet.mine.nu/board/thread.php?threadid=12&boardid=8

2. these drivers are non gpl so, they are going to taint your kernel when you load them. more info you can find here: http://linuxdevices.com/articles/AT5041108431.html

3. in the kernel you have to set this configs:

Loadable module support:

[*] Enable loadable module support

[ ] Set version information on all module symbols 

[*] Kernel module loader

SCSI support:

<M> or <*> SCSI support

<M> or <*> SCSI disk support

4. compiling the drivers

```
tar -xvvzf promisesx4000.tar.gz

cd partial

make 

cp FastTrak.o /lib/modules/<your kernel version>/kernel/drivers/scsi
```

5. insmodding the driver

when you have compiled the scsi-support as modules you have to load them first:

```
cd /lib/modules/<your kernel version>/kernel/drivers/scsi

insmod scsi_mod.o

insmod sd_mod.o
```

and finally: 

```
insmod FastTrak.o
```

you should receive a message like this:

```
Promise FastTrak SX4000 Linux Driver Version 1.01.0.12 (27.NOV.2002) 

FastTrak: Installed FastTrak SX4000 Local DIMM - 128MB 

scsi0 : FastTrak SX4000 

Vendor: Promise Model: 3 Disk RAID5 Rev: 1.10 

Type: Direct-Access ANSI SCSI revision: 02 

Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
```

6. load modules at system start

add the modules to be loaded to your /etc/modules.autoload.d/kernel-2.4

e.g. 

```
scsi_mod

sd_mod

FastTrak
```

when you receive some errors about unresolved symbols, be sure, that you have compiled the driver with the kernel you want to insmod it. be also sure to have loaded the scsi-modules before. if that doesn't help, your kernel version may be incompatible with the driver.

first i tried to install the june-drivers from the link above with the new 2.4.25-pre6-gss kernel. but i couldn't insmod the FastTrak.o module because of some unresolved symbols. after asking google several hours i learned, that imho it isn't possible to use the 2.4.25 kernel with the promise driver sources. 

then i read here http://dave.firebin.net/blog.pl?selection=24 that it sould be possible to use this drivers with gentoo and the 2.4.23 kernel. trying the vanilla 2.4.23 kernel brought me to success.  :Smile: 

next i'm going to try the 2.4.23 gs-sources. i think, that is going to work too. 

i'm not an expert at all, so maybe i can't answer your specific questions. but if its possible for me, to install this device, everybody should be able with this how-to. if i wrote some trash, please correct me  :Wink:  sorry, for my bad english. 

nice time wishes

ganto

----------

## Nox2k3

I have the SX4000 working alrightish on Gentoo with Vanilla 2.4.24 patched with ck, grsec, xfs, and serial ata. I used the promise opensource driver provided on their website and it seems to run fine.

```

cat /proc/scsi/FastTrak/2

Promise FastTrak SX4000 Linux Driver Version 1.01.00.24 (9.Oct.2003)

Adapter1 - FastTrak SX4000

Array    - Array[1] : 3+1 Raid 5 (OK)

Drive    -

  1 : WDC      IDE1/Master 190782MB IRQ(10) UDMA5 - Array[1]

  3 : WDC      IDE2/Master 190782MB IRQ(10) UDMA5 - Array[1]

  5 : WDC      IDE3/Master 190782MB IRQ(10) UDMA5 - Array[1]

  7 : WDC      IDE4/Master 190782MB IRQ(10) UDMA5 - Array[1]

```

----------

## Rad

Same here, it's been more than one year since I bought that controller and it's been working fine with ANY version of the source based driver from promise I had (3 or 4 so far) and the 2.4 kernel series.

Now- I saw many of us would be interested in migrating their to Kernel version 2.6, and so am I. And this document: http://dev.gentoo.org/~brad_mssw/amd64-tech-notes.html states that the SX4000 works on amd64.

Has anybody actually confirmed this by him/herself?

I am very much in doubt this is true, considering how many users were interested and how you never heard of anybody reporting success, be it on either 32 or on 64 bit x86 processors. And of course I tried quite hard myself (32 bit CPU), without accomplishing anything...

----------

## Nox2k3

Thats very interesting... It would be nice to see *how* they are working, I cant imagine that the promise opensource driver would just up and compile on 2.6... I heard some strange rumor about it being supported nativly via the I2C bus? If that were true that would be fantastic however I have not had a chance to play with 2.6 on my server...can't afford the downtime and the possible loss of data. If anyone has this controller and can play with it, it would be nice to see what happens if you build 2.6 kernel with I2C... I don't remember exactly where I saw that information but if you google for sx4000 and 2.6 I believe its in there somewhere.

Edit

I believe that the tech notes speak of the SATA version of the SX4000, confusingly there are two controllers with the same name, there is an SATA and a PATA SX4000. I believe the SATA SX4000 works with the kernel SATA drivers, however theres no PATA version of the driver. Shouldn't it be rather trivial to at least hack in PATA support for something of the exact same chipset?

Also, has anyone had any problems moving large chunks of data to the controller? If I move a file thats roughly 7GB in size I get a deadlock. However several small files that amount to way over 7GB works fine. I don't move ginormous files often so its not really a problem but I would rather not have this bit of buggyness sitting around on my server.

----------

## Rad

Thanks for the information! I didn't notice they made a SATA - Version of their controller, too...  now that explains it all!  :Very Happy: 

And about the 7GB file problem you mentioned- well I once generated a few files bigger than 32GB on my array (JFS filesystem) and had no problems with it. I'm not so sure as to how similar the process is in comparison with copying a file there, though.

----------

## tmikul

Hi

I'm trying to make it work on my Gentoo (recent sync). I tried with both drivers on the majestic page given sooner here (the one from 16 June 2003 and the newer one from 28 Oct 2003). It seems to work with both but after unmounting and remounting, or after a reboot, files get corrupted (CRC errors on gzipped files)

I have SX4000 with 256 SDRAM (tested) with the latest bios available on promise website - 2.00.0.21

RAID 5 with 4 WD drives

What could be possibly be wrong?

Tom

----------

## Rad

I remember some 2.x.x.x BIOS not working for me (the existing JFS / Reiser Partitions on the Array were rendered unusable while that version of the BIOS was installed), so I switched back to 1.02.0.5.

Also, I had minor -but annoying- problems with the newer versions of the drivers on lugh.de and file system integrity, but the older drivers fixed that problem, too.

So I think you should try downgrading and look whether it works! And if it still does not, you could try using just 64 or 128 MB of RAM. (I think in many cases it's even faster to have less RAM, for some reason...)

----------

## tmikul

Rad, thank you for your help, it was the memory. I tried with other 256 SDR memory and it works well. So, as for now, it seems to work even with the latest bios (2.00.0.21) , newer drivers and 256 MB of memory.

Tom

----------

## Badmaster

has ANYONE still got the compiled module for ANY kernel still available? (deleted my entire setup, thought I could just recompile it -,- )

can't get it to work with any of the kernels still available -,-

thanks in advance!

----------

