On Thu, Aug 21, 2008 at 11:27 PM, Mikael Pettersson <mikpe@xxxxxxxx> wrote: > Mark Nelson writes: > > 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)? > > Not so promising. It didn't "find" the SATA ports, those addresses > are a function of the PCI BARs and the board type we assign to the > PCI ID, and we just guessed the board type. Ahhh, that's not so promising at all then... > > sata_promise does support hotplugging (since 2.6.22 or so), but the > messages you got do not indicate successful hotplugging. In particular, > you should see "link up" not "link down". > > It does look like 0x3f20 is fairly different from previous chips. Yes, I was a bit worried when I noticed that the majority of Promise controllers actually had a Marvell logo on them and this one didn't... > But without docs or a reference driver I cannot really say what it > would take to support it, sorry. Yeah, I figured as much after reading that hardware docs are only available under NDA... I do have Promise's "partial open source driver" all working with the controller; but I don't think that's what you meant by reference driver, is it? 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