LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Promise SATA300 TX2plus (https://www.linuxquestions.org/questions/linux-hardware-18/promise-sata300-tx2plus-412854/)

excel28 02-08-2006 12:19 AM

Promise SATA300 TX2plus
 
I have some questions on how to get the Promise SATA300 TX2plus to work. I have got the driver (or module) to start but I can't get the harddrive to "open".

Here is a history of what I have done so far. Kind of long, but it's what I've done so far.

1. I have Slackware 10.1 with the default 2.4.x kernel. I wanted to add an extra harddrive so I needed a PCI card. So, I went on searched online and it said to use the test26.s kernel (which is the 2.6.13 kernel with scsi support). Then somebody here suggested that I install the kernel modules package; which I did as well.

2. I went to the Promise website and got the source driver. I followed the instructions in README and it gave some warnings, but no errors. That was fine, so I copied the module to the directory it said to (something like /lib/modules/2.6.13/kernel/driver/scsi). Then I did a "modprobe ulsata2" to start the module. It had an error and it exited saying to look at "dmesg".

3. So, after looking at "dmesg", it says that it can't find "scsi_set_device". So now, I'm confused cause it compiled fine but threw this error. So, I start searching on the net.

--At this point, I find alot of information. And I try anything and everything to get this to work.

4. First I found out that theres a patch for kernel 2.6.13 to add the PCI_VENDOR_ID_PROMISE for my card. I looked at the kernel source of what I had and it didn't have it, so I applied the patch. But for some reason, that didn't work (like it didn't update the source). So I just went in and added that piece of code in myself.

Code:

{ PCI_VENDOR_ID_PROMISE, 0x3d73, PCI_ANY_ID, PCI_ANY_ID, 0, 0, board_2037x },
So, I rebuilt the module and installed the the module

Code:

make modules
make modules_install

5. So I thought it fixed the Promise module problem, so I rebuilt the Promise driver, copied it over, and "modprobe ulsata2". And it gave me the same "scsi_set_device" error. So, I searched on the net and I found out that the function "scsi_set_device" was actually taken out of the 2.6.13 (could have been earlier) source. So, I just copied and pasted that function into the Promise source.

Code:

static inline void scsi_set_device(struct Scsi_Host *shost,
                                    struct device *dev)
{
        shost->shost_gendev.parent = dev;
}

I rebuilt it, recopied it, and started the module.... *BAM* it worked! It didn't exit or gave an error. So, I did a "dmesg" and it printed out what was connected to it (sda and sdb). But it said that it can't start (something like that).

I tried to "mount" it and "dfisk -l", but it doesn't work. I'm kinda stuck at this point.

----

Since these are regular ATA (PATA) harddrive, am I wrong to use SATA/SCSI drivers?

If you need some output, I'd be happy to post them up as well.

lestoil 02-08-2006 01:44 PM

How is the BIOS setup with regard to sata and ide? Is it an ide connected hd which should work w/o sata? If so you can use SW setup on ide drive while you troubleshoot the sata chip/driver/module issue. SW10.2 is supposed to support sata but is limited to few controllers. Then the kernel needs sata and scsi support too.
Review the SW10.2 kernel boot floppys-because they list what controllers each covers- to figure which kernel boot version is needed for your SW sata/ide install. It is hard to figure sometimes. A good SW HOWTO for sata and 2.6 kernel would be handy.Review the LQ tutorials for possible further help. Good luck.

hrboe 02-08-2006 04:20 PM

I don't know if this will help since my setup isn't really the same, but maybe it's worth a try :-)

I am using Gentoo, gentoo-patched kernel 2.6.15-r1 and the 300 TX4. I also played around with the Promise supplied drivers, but never got it to work. I ended up recompiling the kernel, adding support for that card and the onboard controller of my Asus P5P800. Now it works like a charm, transfer rates exceeding 50MB/s :-)

All SATA controllers I've seen are for some reason classified as SCSI devices, and in the kernel all the directly supported drivers are under SCSI. The devices that are connected are named /dev/sd*, whereas the PATA disks connected to my two Promise Ultra100 TX2 are named /dev/hd*. I guess there's a good reason.

Hope you make it work, good luck! :-)

excel28 02-09-2006 08:03 PM

Thanks for your help. I got it to work now.

What I did was nothing what I did before. I have Slackware 10.1 installed originally with the default kernel. And since I got the Promise card, I went to a new kernel (2.6.13), and so I went back to my original kernel (2.4.29). I then got the 2.4.x drivers off the Promise website, ran the instructions from README. Then it worked (I can mount, fdisk, and everything).

I'm guessing this worked because I don't need SCSI/SATA support, so the bare kernel worked.


All times are GMT -5. The time now is 06:08 AM.