# SiI3112a SATA RAID / a7n8x -- HELP NEEDED [UPDATED]

## decker in flux

hello all,

I picked up a couple of Wester Digital 10k rpm 36GB Raptors a week or so ago in the hope of setting up a RAID array on my desktop.  Barring numerous problems, i think i have hammered out all the possible approaches -- what is the problem?

Here is how I have approached the problem ( with relevant links as necessary ) step by step with options i explored:

1) Unpack the drives  :Wink: 

2) Jumpers

With IDE you have to set the Master/Slave/Cable Select jumpers

With SCSI you have to assign a unique ID

With SATA ( at least the WD Raptors ) dont touch the jumpers!

Taken from here

 *Quote:*   

> Set the jumpers:
> 
> The drive has a jumper block located next to the ATA power connector (see image below). There is generally no need to change the default jumper setting in order to use the drive. The only use of this jumper block is to enable or disable power management for the drive. The drives ship in the default position with the shunt on pins 1-2 (disabled). Alternately, the jumper can be removed completely with the same result. Placing the shunt on pins 3-4 (enabled), designates that the drive will power-up in standby mode. For most users the default position should be used.

 

3) Install the drives in the machine.

4) SATA BIOS

Assuming you are able to enter the SATA BIOS ( alt+s or F4 ) choose 

```

Create RAID Set

```

Select the type of raid set, and the ordering of the drives in the set... and hit ctrl+e.

Otherwise read on.

i) BIOS Simply Fails

In my case i had problems getting into the SATA BIOS, which was solved easily by updating the bios you can download here: 

NOTE: **THIS CAN BE VERY DANGEROUS SO DO IT ONLY IF YOU FEEL CONFIDENT ABOUT IT AND REALIZE YOU DO SO AT YOUR OWN RISK.**

Be sure to download the BIOS for your motherboard revision!!!

http://www.asus.com/support/download/item.aspx?ModelName=A7N8X%20Deluxe

Just dump the .bin file onto a floppy, reboot, and hold alt+f2 to enter the AWDFlash utility which will fearlessly flash your BIOS.... 

ii) Incomplete RAID Set

Now, there may be a problem at this stage only in the case that upon boot the BIOS complains of an incomplete RAID Set and demands you push F4 to enter the BIOS and fix it.  When you trustingly enter the BIOS the system hangs.  The problem is that the RAID superblock is written to only one of the drives in your planned array... the only solution i have found is to ignore the error, and continue booting ( which works fine assuming you arent supposed to be booting from the array )... you will need to have the devices for the drives in /dev/, so if you havent configured the kernel to communicate with the SATA then see below.  Otherwise, what you need to do is remove the superblock data... lets assume that it appears on the drive /dev/hde ( as in my case it did ) then the slow and dirty fix is:

```
dd if=/dev/zero of=/dev/hde
```

while this will write zeros everywhere, it fixes the problem... if you are inclined to do a more surgical strike then read 

http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-07/2277.html

and have a look at the man pages for dd: it is possible to specify the start position and the length to be written i just havent had the time in writing this to go back and do it over again.

5) Configure the kernel

I have tried the following kernels:

```

linux-2.4.20-pfeifer-r1_pre1

linux-2.4.22-ck2

linux-2.4.23_pre8-gss

```

Most if not all post 2.4.19 kernels should have support.

What you need in the kernel config for the SATA drives to be recognized is:

```

ATA/IDE/MFM/RLL support  --->

     IDE, ATA and ATAPI Block devices  --->

           [*]  PCI IDE chipset support

          <*>    Silicon Image chipset support

          <*> Support for IDE Raid controllers (EXPERIMENTAL)

          <*>    Silicon Image Medley software RAID (EXPERIMENTAL)

```

Note, I indicate Y on the Silicon Image options this should only be necessary if you intend to boot from the drives, otherwise go ahead and make it a module.

If i recall correctly the module for the chipset is siimage.o... the module for the IDE Raid is ataraid.o, and the Medley software RAID is silraid.o.

Now, with some pessimistic forward thinking you may want to go ahead and enable the following just in case the silraid doesnt work, then you can fall back onto software raid.  I do not believe this is required to use the raid should you happen to get it working with the medley driver.

```

Multi-device support (RAID and LVM)  --->

     [*] Multiple devices driver support (RAID and LVM

    <*>  RAID support   

    <*>   RAID-0 (striping) mode 

    <*>   RAID-1 (mirroring) mode  

```

Note you will also need:

```

*  sys-fs/raidtools

      Latest version available: 1.00.3-r1

      Latest version installed: 1.00.3-r1

      Size of downloaded files: 163 kB

      Homepage:    http://people.redhat.com/mingo/raidtools/

      Description: Linux RAID 0/1/4/5 utilities

```

For info about setting up the kernel software raid see here:

https://forums.gentoo.org/viewtopic.php?t=68706

Some information about the SiI3112a driver can be found here:

http://lkml.org/lkml/2003/10/7/77

I am not sure if this patch is included in any kernel.

6) Compile kernel

If you were curious and decided to go with modules, then go ahead and do:

```

cd /usr/src/linux

make modules modules_install

```

Feel free to modprobe ( see next section )

Otherwise

```

cd /usr/src/linux

cp .config ~/ 

make mrproper

cd ~/.config .

make oldconfig

make dep && make clean bzImage modules modules_install

mount /boot/

cp arch/i386/boot/bzImage /boot/`uname -r`-raid

nano -w /boot/grub/grub.conf

```

While an mrproper build may not be necessary, i can never remember what i have lying around -- so i do this just to be safe.  Reboot to the new kernel.

7) The devices

If you built the chipset support as a module:

```
modprobe siimage
```

Otherwise you should have rebooted into the new kernel by now.

Take a peek in dmesg... you should see something like:

```

SiI3112 Serial ATA: IDE controller at PCI slot 01:0b.0

SiI3112 Serial ATA: chipset revision 2

SiI3112 Serial ATA: not 100% native mode: will probe irqs later

    ide2: MMIO-DMA , BIOS settings: hde:pio, hdf:pio

    ide3: MMIO-DMA , BIOS settings: hdg:pio, hdh:pio)

hde: WDC WD360GD-00FNA0, ATA DISK drive

blk: queue c0173358, I/O limit 4095Mb (mask 0xffffffff)

hdg: WDC WD360GD-00FNA0, ATA DISK drive

blk: queue c01737b4, I/O limit 4095Mb (mask 0xffffffff

ide2 at 0xf8870080-0xf8870087,0xf887008a on irq 11

ide3 at 0xf88700c0-0xf88700c7,0xf88700ca on irq 11

hde: attached ide-disk driver.

hde: host protected area => 1

hde: 72303840 sectors (37020 MB) w/8192KiB Cache, CHS=4500/255/63, UDMA(133)

hdg: attached ide-disk driver.

hdg: host protected area => 1

hdg: 72303840 sectors (37020 MB) w/8192KiB Cache, CHS=4500/255/63, UDMA(133)

Partition check:

 /dev/ide/host2/bus0/target0/lun0: p1 p2 p3

 /dev/ide/host2/bus1/target0/lun0: p1 p2 p3

```

Looks good, doesn't it?... sort of.

 :Cool:  The RAID

This is where i havent made any progress...

Be it as a module, or built into the kernel... whenever silraid.o is loaded, or the Medley driver is initiated in the kernel dmesg reports a terse and frustrating...

```

Silicon Image Medley 0.0.1: no raid array found

```

And of course the devices /dev/ataraid/... that we are hoping for arent there.

bummer....  :Crying or Very sad: 

 if there is any info that is SHOULD post please let me know -- as far as i can tell there is not a single reasonably comprehensive ( or at least properly indexed for searching ) guide to configuring an SATA RAID... i might as well doc everything i have done and tried, with outcomes and indicators.

Any help is greatly appreciated.

help!!!!

-d

[edit] added everything

[edit] possibly interesting... havent had a chance to read yet: http://www.linuxquestions.org/questions/archive/18/2003/09/1/66763

----------

## Mow

I too have been working on the same drives as you and what I have found (not sure if it's the problem though) is that these WD drives are built on SCSI chasis unlike other drives that are not (and those drives seem to "work"). I've found modules that I load off of floppy that get the array found but only work with kernel 2.4.22 (and that isn't on my liveCD).

It sounds like you've gotten farther than most and I would ask (no ..... BEG) that you post a step-by-step on this and maybe the rest of us can fill in the holes.

----------

## decker in flux

Sorry for my negligence regarding this post -- i havent had a chance to sit at my desktop the past couple of days -- but i plan on handling this situation starting wednesday when i have free time again .... for now i am sticking to the laptop   :Wink: 

-d

----------

## decker in flux

updated

----------

