# Promise SATA II TX2 plus problems [SOLVED]

## Ko_deZ

Hi.

Just got my hands on a raptor disk, and the SATA II TX2 plus card from promise. I got the new disk because my current SCSI drive is noisy, and the raptor disk is fast enough for my use. I have run into some strange problems though. I have a adaptec 29160N SCSI controller that works just brilliantly. Both of my CD-ROMs are also connected to the card.

I first inserted the sata controller, hooked up the disk, and fired it up. No usable boot device found. Great  :Rolling Eyes: 

So i moved the sata controller below the SCSI controller. Voila! I had a booting system. In windows i found the disk just fine. In linux though, i only se what is on the Adaptec controller. lspci gives me :

```
0000:01:08.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02)

0000:01:09.0 Unknown mass storage controller: Promise Technology, Inc.: Unknown device 3d75 (rev 02)

```

What disturbs me is that what I can see from others the 3d75 should read TX2 or something.

Dmesg has only one line on libata:

```
libata version 1.10 loaded.
```

And on SCSI and scsi i get:

```
# dmesg | grep SCSI

SCSI subsystem initialized

scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36

        <Adaptec 29160N Ultra160 SCSI adapter>

        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

  Type:   CD-ROM                             ANSI SCSI revision: 02

  Type:   CD-ROM                             ANSI SCSI revision: 02

  Type:   Direct-Access                      ANSI SCSI revision: 03

SCSI device sda: 71775284 512-byte hdwr sectors (36749 MB)

SCSI device sda: drive cache: write back

SCSI device sda: 71775284 512-byte hdwr sectors (36749 MB)

SCSI device sda: drive cache: write back

```

```
# dmesg | grep scsi

scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36

(scsi0:A:2): 20.000MB/s transfers (20.000MHz, offset 16)

(scsi0:A:6): 10.000MB/s transfers (10.000MHz, offset 15)

(scsi0:A:15): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)

scsi0:A:15:0: Tagged Queuing enabled.  Depth 32

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

sr0: scsi3-mmc drive: 32x/32x cd/rw xa/form2 cdda tray

Attached scsi CD-ROM sr0 at scsi0, channel 0, id 2, lun 0

sr1: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray

Attached scsi CD-ROM sr1 at scsi0, channel 0, id 6, lun 0

Attached scsi generic sg0 at scsi0, channel 0, id 2, lun 0,  type 5

Attached scsi generic sg1 at scsi0, channel 0, id 6, lun 0,  type 5

Attached scsi generic sg2 at scsi0, channel 0, id 15, lun 0,  type 0

```

It seems like the kernel can see the card, but it does not initialize it. I have of course compiled the TX2/TX4 support (into the kernel not a module). What I want is to transfer my system over to my new disk, but I cannot find it. I have tried to fdisk /dev/sda on all existing scsi devices (sda->sdd) and IDE devices (hda->hdh). Sda is my SCSI disk. Everything else fails. Please help!

thanks

Ko_deZ

EDIT:  Oh yeah... I use 2.6.10-r7, just so you know....Last edited by Ko_deZ on Mon Feb 28, 2005 1:19 am; edited 1 time in total

----------

## Ko_deZ

Sorry for bumping so soon, but i really would like to close up my computer. The WAF factor is quite low at the moment. Anyone? Please!  :Crying or Very sad: 

----------

## NeddySeagoon

Ko_deZ,

From this bit of your post  *Quote:*   

> I first inserted the sata controller, hooked up the disk, and fired it up. No usable boot device found. 
> 
> So i moved the sata controller below the SCSI controller. Voila! I had a booting system. 

 It looks like your BIOS and GRUB can see the drive on your TX2 card. In its orignal position, your raptor became hd0 and bumped the others up one, which will have upset grub. 

Your lspci output with  *Quote:*   

> Unknown device 3d75

 probably means you have an old lspci with an out of date device database. It doesn't matter. A 3d75 is actually a PDC20575 (SATAII150 TX2plus).

Looking in the gentoo-dev-sources 2.6.10-gentoo-r7 in  drivers/scsi/sata_promise.c the code includes 

```
 board_2037x             = 0,    /* FastTrak S150 TX2plus */
```

which is probably a good sign.

Edit - but maybe not - you have a ..575 not a ..375

Which version of the kernel are you using?

Edit some more - there is a driver here http://www.promise.com/support/download/download2_eng.asp?productId=126&category=driver&os=4&go=GO

----------

## Ko_deZ

Thanks for replying

Did not quite explain what i did properly. When i insert teh TX2 closer to my AGP port than my Adaptec card, my computer tries to boot from my raptor disk, which of course is empty and without a bootloader. If i put the Adaptech closer to the AGP, it boots from my SCSI disk, which acts normal.

Using a gentoo boot CD, it fails when running SCSI modprobing. Is it possible to telle the kernel to not try a specific driver (the one that fails)?

I am using gentoo-dev-sources.

What really pisses me off is that windows can se the disk. That is not just annoying, it is an insult!  :Very Happy: 

I will try again now, with the sata driver as a module. See if it loads properly using modprobe.

Thanks.

----------

## Ko_deZ

I just rebooted. 

```
Main ko_dez # ls /lib/modules/2.6.10-gentoo-r7/kernel/drivers/scsi/

libata.ko  pata_pdc2027x.ko  sata_promise.ko  sata_sx4.ko

Main ko_dez # modprobe sata_promise

Main ko_dez # modprobe sata_sx4

Main ko_dez # modprobe libata

Main ko_dez # modprobe pata_pdc2027x

Main ko_dez # lsmod

Module                  Size  Used by

pata_pdc2027x           6368  0

sata_sx4               11012  0

sata_promise            7748  0

libata                 39236  3 pata_pdc2027x,sata_sx4,sata_promise

nvidia               3461852  12

```

Seems to be loading OK, but I still get no more drives under /dev. Currently i have sda to sdd, and hda to hdh. I have  tried running fdisk on all of them, and only sda gives me anything. That is my SCSI disk of course.

----------

## NeddySeagoon

Ko_deZ

It says 

```
Module                  Size  Used by

sata_promise            7748  0 
```

Used by 0 is a bad sign. Do you use devfsd or udev to manage /dev ?

It looks like you have the wrong driver loaded, or an old one that doesn't know about your card.

----------

## Ko_deZ

I am using udev.

That was what I was afraid of. The promise drivers for 2.4 kernels supports my card after what I can see. As you said, it could seem like it is not supported according to the sata_promise.c. 375 and 575 is differed by SATA II support i guess. I have no idea what that does thoug. NCQ maybe?

Any ideas on how i could fix this? Maybe there is a patch out there that i have not found.

-Ko_deZ-

----------

## dsd

looks like that device is currently unsupported as of 2.6.10. you probably want to try promise's driver

----------

## Ko_deZ

Would the 2.4 driver work with 2.6?

----------

## NeddySeagoon

Ko_deZ,

No.

----------

## Ko_deZ

http://www.linuxmafia.com/faq/Hardware/sata.html

 *Quote:*   

> (link) PDC20557 SATAII150 TX2plus  fakeraid. This is a SATA-II chip. Garzik posted a patch on 2005-02-06 to support this device; the code will be included in kernel 2.6.11.
> 
> Promise offers a proprietary driver for 2.4 kernels only.

 

So, no... does not work. This is a cheap SATAII controller. There should be some other users that use it somewhere, but I come up with nothing.

----------

## NeddySeagoon

Ko_deZ,

Try the latest 2.6.11-rc from kernel.org

----------

## Ko_deZ

But of course. I feel real silly now....  :Embarassed: 

Should have tried ages ago. Thanks for the tip.

----------

## Ko_deZ

Nope, the sata_promise.c seems to be the same in 2.6.11_rc5 as in 2.6.10-gentoo-r7.

Well... my quest continues i guess. Anyone have any new tips?

-Ko_deZ-

----------

## Ko_deZ

Woah! Think I got it working. Added the patch here ftp://mland98.rc.kyushu-u.ac.jp/pub/Tips/kernel/2.6.0-19, and added an extra line in promise_sata.c saying :

```
        { PCI_VENDOR_ID_PROMISE, 0x3d75, PCI_ANY_ID, PCI_ANY_ID, 0, 0,

          board_2037x },

```

Now lsmod sais

```
# lsmod

Module                  Size  Used by

sata_promise            7876  0

libata                 39236  1 sata_promise

nvidia               3461852  12
```

which seems much better. Fdisk /dev/sdb, and all the test partitions I made in windows seems to be correct. Now it is probably running without NCQ, but who cares =)

Thanks for all help. I have learned alot today. Anyone know who to tell so this update can maybe come in the next version of sata_promise?

-Ko_deZ-

----------

## dsd

2.6.11_rc5 definately includes that patch already as well as some other fixes for the TX2/TX4 series. i suggest you use that instead

----------

## Ko_deZ

I tried it (emerge development-sources), but it did not recognize my card. I guess I switch to 2.6.11 when it is past the release candidate state. Now it is working anyway, so I am happy.

-Ko_deZ-

----------

## darklich14

I can attest to gentoo-sources-2.6.11-r5 containing that patch that made the controller work. I'm currently rebooting with the newest gentoo kernel, so I'll let you know what happens.

----------

## darklich14

fdisk is running fine. stats soon to come.

```

Every 2.0s: cat /proc/mdstat                            Fri Apr  1 13:56:53 2005

Personalities : [linear] [raid0] [raid5]

md0 : active raid5 sdc1[3] sdb1[1] sda1[0]

      390716672 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]

      [>....................]  recovery =  0.2% (409400/195358336) finish=142.8m

in speed=22744K/sec

unused devices: <none>

```

Edit -- Just realized that one of the drives isn't in the raid array. Replacing cables, as I've heard that is a common problem with SATA. Updates to come.

Not the most blazing fast array I've ever seen, but I still have room to tweak, I suppose. Better than the Highpoint controller I tried earlier that didn't have libata support.

----------

## eXt

Sorry to revive such an old thread. I'm also having some issues with this controller. It fails to load DMA for any disks connected to it so every time I write to it everything goes really slow (even the cursor freezes). Have any ideas? Also, everything works fine with windows.

I am using 2.6.12-gentoo-r6 but have the same problem with newer kernels. 

lspci:

```

00:07.0 Mass storage controller: Promise Technology, Inc. PDC20575 (SATAII150 TX2plus) (rev 02)

```

/proc/pci:

```

  Bus  0, device   7, function  0:

    Unknown mass storage controller: Promise Technology, Inc. PDC20575 (SATAII150 TX2plus) (rev 2).

      IRQ 18.

      Master Capable.  Latency=72.  Min Gnt=4.Max Lat=18.

      I/O at 0xec00 [0xec7f].

      I/O at 0xe800 [0xe8ff].

      Non-prefetchable 32 bit memory at 0xdfff7000 [0xdfff7fff].

      Non-prefetchable 32 bit memory at 0xdffc0000 [0xdffdffff].

```

----------

