Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 51445 - 3ware 9000 Series 3w-9xxx SATA Raid Driver
Summary: 3ware 9000 Series 3w-9xxx SATA Raid Driver
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-18 19:33 UTC by Marcel Kunath
Modified: 2004-10-06 20:55 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcel Kunath 2004-05-18 19:33:47 UTC
The Gentoo kernel lacks support for 3ware 9000 SATA raid cards:

9500S-4LP      3ware Escalade 9500 (4 Port, SATA 150)
9500S-8        3ware Escalade 9500 (8 Port, SATA 150)
9500S-12       3ware Escalade 9500 (12 Port, SATA 150)

The driver for these cards is 3w-9xxx.c (source) and 3w-9xxx.o (binary).

The 3ware driver 3w-xxxx does _not_ support the above cards.

The driver (including header and makefiles) can be found on the 3ware 9000 Series software CD.

The Gentoo LiveCD 2004.1 uses a '2.4.25-gentoo' kernel which does not include the driver. 

Short-term Solution:
A driver must be compiled on a separate system and inserted manually.

Long-term Solution:
Driver support must be added to the Gentoo kernel. The Gentoo LiveCDs need to be rebuilt with the driver 3w-9xxx included on the LiveCD.

Marcel



Reproducible: Always
Steps to Reproduce:
Comment 1 Jay Pfeifer (RETIRED) gentoo-dev 2004-05-18 19:59:46 UTC
I have created a diff versus vanilla-2.6.6. I contacted 3ware and got the driver from them. It is a GPL distributed driver.

http://dev.gentoo.org/~pfeifer/server-sources/3w-9xxx-linux-2.6.6.patch

Should be able to use it against most 2.6 kernels.

Jay
Comment 2 Marcel Kunath 2004-05-22 03:11:43 UTC
Patch found to be functional with linux-2.6.6 kernel on 9500S-4LP.

# cd /usr/src/linux-2.6.6
# ls 3*
3w-9xxx-linux-2.6.6.patch
# patch -p1 < 3w-9xxx-linux-2.6.6.patch
# make menuconfig
...
# make clean bzImage modules modules_install
# cp arch/i386/boot/bzImage /boot/linux-2.6.6.bzImage

# cat /boot/grub/menu.lst

# For booting GNU/Linux
title GNU/Linux 2.6.6
root (hd0,0)
kernel (hd0,0)/boot/linux-2.6.6.bzImage root=/dev/hda1

# shutdown -r now


# lsmod         
Module                  Size  Used by
3w_9xxx                37284  1 
usbcore               106716  1 
8139too                24320  0 


# cat /proc/pci
  Bus  0, device  10, function  0:
    RAID bus controller: 3ware Inc 3ware ATA-RAID (rev 0).
      IRQ 11.
      Master Capable.  Latency=32.  Min Gnt=9.
      I/O at 0xd000 [0xd0ff].
      Non-prefetchable 64 bit memory at 0xe3800000 [0xe38000ff].
      Prefetchable 64 bit memory at 0xe3000000 [0xe37fffff].

# cat /proc/interrupts
           CPU0       
  0:   15428192          XT-PIC  timer
  1:       7051          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  9:          0          XT-PIC  acpi
 11:      20425          XT-PIC  eth0, 3ware 9000 Storage Controller
 12:      16533          XT-PIC  i8042
 14:      46391          XT-PIC  ide0
 15:         39          XT-PIC  ide1
NMI:          0 
ERR:          3

# cat /proc/scsi/3w-9xxx/0 
scsi0: 3ware 9000 Storage Controller
Driver version: 2.26.00.007
Current commands posted:          0
Max commands posted:             34
Current pending commands:         0
Max pending commands:           126
Last sgl length:                  1
Max sgl length:                  32
Last sector count:                0
Max sector count:               256
SCSI Host Resets:                 0
SCSI Aborts/Timeouts:             0
AEN's:                            0

# cat /proc/mounts     
rootfs / rootfs rw 0 0
/dev/root / ext3 rw,noatime 0 0
none /dev devfs rw 0 0
none /proc proc rw,nodiratime 0 0
none /dev/pts devpts rw 0 0
none /dev/shm tmpfs rw 0 0
none /proc/bus/usb usbfs rw 0 0
/dev/sda1 /3ware ext3 rw 0 0


Marcel
Comment 3 Jay Pfeifer (RETIRED) gentoo-dev 2004-05-22 19:08:43 UTC
There had been an official driver add to mm-sources. It is in 2.6.6-mm5.

You can get it here:
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.6/2.6.6-mm5/broken-out/3ware-9000-sata-raid-driver-for-266-mm5.patch

We need to get this into all the Gentoo maintained kernels until it becomes part of the base 2.6 kernel.

Jay
Comment 4 Chris Gianelloni (RETIRED) gentoo-dev 2004-05-24 05:24:06 UTC
Excellent.  Do we think we might see a newer gentoo-dev-sources soon?  RelEng and the LiveCD herd have been working quite hard on 2004.2 (already) so that the release will be as close to perfect as possible.

Just let us know.

Thanks
Comment 5 Marcel Kunath 2004-05-26 20:50:09 UTC
Procedure To Install Gentoo Linux 2004.1 On 3ware 9000 Storage Controller


Download
http://images.elx.com.au/3ware/3w-9xxx.ko.bz2
http://images.elx.com.au/3ware/3w-9xxx.ko.bz2.md5sum.txt

Unzip 3w-9xxx.ko.bz2

Place 3w-9xxx.ko onto floppy disc. This file is compiled for kernel 2.6.5-gentoo (Thanks to Jay Pfeiffer.)

Boot machine and select 3ware Bios with ALT+3. 

Create RAID configuration as you please.

Boot into Gentoo LiveCD 2004.1

Select "smp" on boot. This option uses 2.6.5-gentoo kernel.

After successful boot insert the floppy disc.

Mount floppy and "insmod 3w-9xxx.ko"

Setup up drive partition using "fdisk /dev/sda"

Create file systems on partitions.

Mount partitions.

Proceed as described in the Gentoo installation guide with chroot...


Marcel
http://www.elx.com.au
Comment 6 Chris Gianelloni (RETIRED) gentoo-dev 2004-06-05 14:16:48 UTC
Reassigning to x86-kernel
Comment 7 Chris Gianelloni (RETIRED) gentoo-dev 2004-06-05 14:17:32 UTC
Adding plasmaroo to CC so we can hopefully get this into the next version of gentoo-dev-sources (and gentoo-sources) so we can use them on the new LiveCD release.
Comment 8 Tim Yamin (RETIRED) gentoo-dev 2004-06-05 15:35:28 UTC
Adding steel300 for gentoo-dev-sources...
Comment 9 Chris Gianelloni (RETIRED) gentoo-dev 2004-06-15 05:30:29 UTC
Has this patch been added to gentoo-sources 2.4.26-r1?

What about gentoo-dev-sources 2.6.6?
Comment 10 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-06-21 11:37:34 UTC
This driver should now be in the 2.6.7-r2 gentoo-dev-sources release.
Comment 11 Chris Gianelloni (RETIRED) gentoo-dev 2004-06-22 05:20:23 UTC
You guys rock... thanks
Comment 12 Joshua Hoblitt 2004-09-20 19:13:29 UTC
*** Bug 64814 has been marked as a duplicate of this bug. ***
Comment 13 Chris Gianelloni (RETIRED) gentoo-dev 2004-09-20 19:18:36 UTC
It appears that this driver disappeared between 2.6.7-r2 and 2.6.7-r11, so it never made it to the livecd.  I can't find anything in the ChangeLog that would suggest why this was removed.
Comment 14 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-09-20 19:39:05 UTC
This is in the mainline kernel, right?  What's the issue?
Comment 15 Joshua Hoblitt 2004-09-20 21:53:23 UTC
The issue is that there is no livecd based on 2.6.8 so there so there is no way to 'out of the box' install Gentoo onto 3ware 9xxx controllers.  There seems to be something 'odd' about the 2004.1 & 2004.2 livecd's as I can build the 3w-9xxx on another machine and get the module to load but it won't find the controllers.  I know that the 3w-9xxx driver should work as I have one system that I managed to boot strap from 2004.0.

The fix is to either ship a livecd with 2.6.7 + the 3w-9xxx driver or get 2.6.8 working (which doesn't sound likely).
Comment 16 Marcel Kunath 2004-09-23 00:52:01 UTC
Just follow the steps mentioned in Comment 5 and you will be set. My system has been running since May without a problem.

Marcel
Comment 17 Joshua Hoblitt 2004-09-28 21:12:11 UTC
Marcel's instructions don't work with any version of the amd64 livecd newer then 2004.0  (if you don't believe me, please try it).  As it stands now there is no way to install Gentoo onto a an amd64 system with a 3w-9xxx controller.  Since the 3w-8xxxx series cards have problems when installed into a PCI-X capable slot (I had to fight with 3ware for a month to prove there was a physical problem with their cards), this leaves a fair number of users screwed for hardware SATA RAID support.

Why can't there be a 2004.2-r2 release with this driver included?
Comment 18 Chris Gianelloni (RETIRED) gentoo-dev 2004-09-28 21:45:39 UTC
Have you looked into any of the 2004.3 experimental CD for amd64?  We are well into the 2004.3 release cycle, and to be honest, you just aren't going to see anything for 2004.2 re-released.
Comment 19 Joshua Hoblitt 2004-10-04 13:25:24 UTC
I would if a 2004.3 experimental CD for amd64 existed, which it doesn't.
Comment 20 Joshua Hoblitt 2004-10-06 20:55:14 UTC
Incase someone else stumbles on this bug before the 2004.3 livecd is available, I was able to compile a kernel module that worked with the amd64 2004.2 livecd.  The catch is this would only work for me with the UP kernel.  When trying to load an SMP enabled 9w-9xxx either the driver would load and not identify the RAID controllers or cause a kernel panic.