Re: Driver for Promise PDC42819 SATA/SAS controller

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

 



On Fri, Aug 15, 2008 at 9:10 PM, Mikael Pettersson <mikpe@xxxxxxxx> wrote:
> Mark Nelson writes:
>  > Hi All,
>  >
>  > I recently bought an MSI K9A2 Platinum motherboard and it has a Promise
>  > PDC42819 SATA/SAS controller onboard. I haven't been able to get the
>  > controller to work with any of the libata sata drivers in mainline
>  > (although I did only try sata_promise, sata_sx4 or ahci; last two I was
>  > doubtful about but I figured it was worth a try).
>  >
>  > Has anyone played with this controller under Linux before and can it be
>  > made to work with any of the open source drivers - I would realy like
>  > to use the eSATA and internal SATA ports attached to this controller
>  > (and I don't want to trust my data to the promise binary blob)? Maybe
>  > it's as simple as adding the right PCI ID to sata_promise, but I wasn't
>  > sure what kind of board it should be: 2037x, 2057x, 20319, 40518, 20619,
>  > or maybe some new one...
>  >
>  > I'm not sure how important this is but I gathered the following info
>  > about the controller:
>  >
>  > References to the controller in the motherboard manual and the
>  > motherboard manufacturer's website: Promise T3 [1]
>  >
>  > Written on the actual chip on the motherboard: Promise PDC42819 [2]
>  >
>  > This chip is also used on Promise's own FastTrak TX2650 & TX4650
>  > adapters [3] which have "partial open source" drivers [4], [5]. This
>  > driver looks like an open source wrapper around a binary blob (some
>  > fasttrak library for software fake raid, I think).
>  >
>  > Having a quick look through the source of Promise's driver, it looks
>  > like the driver has been hacked up out of a driver that was originally
>  > used for fakeraid on ATI and intel southbridges as well as Promise's
>  > SX4 adapter (and some Promise adapter called the OCTOPUSII).
>  >
>  > Promise has an open source commitment written on its werbsite [6] but
>  > it just relates to their SuperTrak products (not their FastTrak ones)
>  > and the stex driver.
>  >
>  > The following is the hunk of lspci output that refers to the controller:
>  >
>  > 02:00.0 RAID bus controller [0104]: Promise Technology, Inc. Unknown
>  > device [105a:3f20]
>
> This is pure speculation, but _if_ it is similar to the chips
> driven by sata_promise then it should be close to the 40518 family
> (all the other ones are older). So adding that PCI id as a
> board_40518 in pdc_ata_pci_tbl[] just might do the trick.
>
Hi Mikael,

First of all thanks for the reply. It's taken me a while because I
had to get my hands on a spare SATA disk to test with (ended up
with a 60GB eSATA disk).

So, after adding the following PCI ID line:

       { PCI_VDEVICE(PROMISE, 0x3f20), board_40518 },

I can load the module and I get the following in dmesg:

sata_promise 0000:02:00.0: version 2.12
ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:02:00.0 to 64
scsi7 : sata_promise
scsi8 : sata_promise
scsi9 : sata_promise
scsi10 : sata_promise
ata7: SATA max UDMA/133 mmio m4096@0xfbeff000 ata 0xfbeff380 irq 17
ata8: SATA max UDMA/133 mmio m4096@0xfbeff000 ata 0xfbeff280 irq 17
ata9: SATA max UDMA/133 mmio m4096@0xfbeff000 ata 0xfbeff200 irq 17
ata10: SATA max UDMA/133 mmio m4096@0xfbeff000 ata 0xfbeff300 irq 17
ata7: SATA link down (SStatus 0 SControl 0)
ata8: SATA link down (SStatus 0 SControl 0)
ata9: SATA link down (SStatus 0 SControl 0)
ata10: SATA link down (SStatus 0 SControl 0)

So it looks like it's at least found the SATA ports. But something's
not quite right because as soon as I load the module, the hard disk
activity LEDs are constantly on (my motherboard has two LEDs for
any drive activity on the Promise controller).

If I plug the eSATA disk I'm using to test into one of the eSATA
ports of the Promise controller after I've already booted and loaded
the module, I see the following in dmesg:

ata10: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
ata10: hotplug_status 0x40
ata10: hard resetting link
ata10: SATA link down (SStatus 0 SControl 0)
ata10: EH complete
ata10: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
ata10: hotplug_status 0x40
ata10: hard resetting link
ata10: SATA link down (SStatus 0 SControl 0)
ata10: EH complete

But I'm not sure if sata_promise supports hotplug of drives so maybe
that's to be expected.

If I boot with the eSATA drive connected (the drive is found in the
Promise FastTrak BIOS), when I load the sata_promise module no hard
disks are found and I get exactly the same output to dmesg as the
first example I showed above.

Is there some way I can turn on more debugging output in the
sata_promise driver or libata?

And (possibly too early to tell, but) does this look promising (no pun
intended)?

Many thanks!

Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux