[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Promise SATAI150 TX4 not visible to sarge debian-kernel 2.6.8-2 even with modprobe. Does work with etch 2.6.12-1 kernel



On Tuesday 03 January 2006 12:43 am, Mitchell Laks wrote:

Promise SATAI150 TX4  not visible to  kernel 2.6.8-2  Sarge kernel:

Sorry: I discovered a well known issue with 2.6.8 kernel. See 
http://www.biocatalyzer.net/linux/suse92/promise.html

I excerpt from it below. 

(I am putting this here so we debianer's can have a record of this 
information.)

quoted::::

Moen provides an excellent resource on the status of SATA support in linux. 
Support for Promise SATA controllers is provided by the the sata_promise 
kernel module which is part of the libata library. The kernel used for the 
SuSE 9.2 installer (kernel 2.6.8-24, SuSE's modified 2.6.8 kernel tree) 
includes a sata_promise module that does not support the Promise SATA150II 
TX4, so hard disks connected to this controller are not detected during 
installation.

There are two different scenarios where support for the Promise SATA150II TX4 
is needed:

    * If you have a running SuSE 9.2 system and you have added the Promise 
controller along with a SATA hard disk, you can patch your kernel (see below) 
and the controller and hard disk will be auto-detected after a reboot.
    * Somewhat more complicated is the situation where you are doing a new 
installation of SuSE 9.2 and only have a hard disk connected to the Promise 
SATA150II TX4 controller.

I will describe the case where you need to do a new installation on a hard 
disk connected to the Promise SATA150II TX4 controller. If you just need to 
patch the kernel of an existing installation you should be able to figure out 
how to do that by reading the following as well.

 Overview

There are three obstacles to obtaining Promise SATA150II TX4 support:

   1. Patching the sata_promise module on the SuSE 9.2 install CD.
   2. Putting the patched sata_promise module onto the installed system.
   3. Patching and compiling the kernel module every time the kernel is 
updated.

When you have patched the sata_promise on the install CD any hard disk 
connected to the controller will be recognized during installation and 
everything will install nicely. However, the kernel (and modules) that the 
SuSE 9.2 installer writes to your hard disk are still the unpatched versions 
so you will need to put the patched sata_promise module back on your hard 
disk after installation.

 

Patching the sata_promise module on the SuSE 9.2 install CD.

    * You will need an environment to compile kernel modules - I installed 
SuSE 9.2 on a PATA hard disk ;-)
    * Install the kernel sources for 2.6.8-24-default.
    * Patch the /usr/src/linux/drivers/scsi/sata_promise.c by using Jarno 
Paananen's and Georg Greve's patch [add the code in green]:

     { PCI_VENDOR_ID_PROMISE, 0x3319, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
        board_20319 },
     { PCI_VENDOR_ID_PROMISE, 0x3d18, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
       board_20319 },
     { } /* terminate list */ }

     ...

     spin_lock(&host_set->lock);

     writel(mask, mmio_base + PDC_INT_SEQMASK);

     for (i = 0; i < host_set->n_ports; i++) {
            VPRINTK("port %u\n", i);
            ap = host_set->ports[i];

    * Recompile the kernel modules by issuing:

      cd /usr/src/linux
      make cloneconfig
      make modules

    * Grab the patched module /usr/src/linux/drivers/scsi/sata_promise.ko - 
you will need it later:

      cd /home/kristoffer/cdpatch
      cp /usr/src/linux/drivers/scsi/sata_promise.ko ./

*********************************************

>
> Mitchell



Reply to: