Current-Users archive

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

Re: Debugging ahcisata?

On Sat, Aug 15, 2009 at 05:26:33PM -0700, Paul Goyette wrote:
> I've got a rather old (2+ years) motherboard with a Marvell 88SE614X 
> SATA II PCI-E Controller which is seen by autoconfig as
>       vendor 0x11ab product 0x6141 (SATA mass storage, interface 0x81,
>       revision 0x01) not configured
> I thought maybe it might be recognizable just like several other PCI 
> devices, so I added an entry for this device in the "quirk list" in
> sys/dev/pci/ahcisata_pci.c
> The device is now recognizable, but it doesn't seem to work quite right! 
> In particular, when I attached a disk drive to one of the SATA ports, 
> the disk appears as
>       wd2 at atabus9 drive 0: <ST506>
>       wd2: drive supports 1-sector PIO transfers, chs addressing
>       wd2: 69632KB, 1024 cyl, 8 head, 17 sec, 512 bytes/sect x
>       139264 sectors
>       wd2(ahciata0:2:0): using PIO mode 0
> It looks pretty clear that this Controller failed to properly handle the 
> drive-identify function!  (Just to make sure that the drive was good, I 
> connected it to another machine, and it was properly detected as a
> <WDC WD3200AAKS-75L9A0> with 298GB and all the correct geometry data.
> It's possible that the recently-added sys/dev/ic/mvsata driver might 
> work better, but I'm not at all sure of the value to which some of the 
> fields in the struct mvsata_product should be initialized.  (What is the 
> 'hc' member?  Is 'ports' the number of ports?  Is it more likely to be a 
> gen1 or gen2e?)
> Any suggestions?  I don't really want to spend a lot of time on this, 
> but if it's not too painful it would be nice to make it work.  :)

The first thing to check is if the drive returned an error, of
if the controller failed. You can #define AHCI_DEBUG and set
ahcidebug_mask to 0xff, and see what happens when the drive is probed.

Manuel Bouyer <>
     NetBSD: 26 ans d'experience feront toujours la difference

Home | Main Index | Thread Index | Old Index