solved: `softreset failed (device not ready)` gone with `CONFIG_SATA_PMP=n` (was: ASUS M2A-VM (SB600): AHCI setting in BIOS; AHCI and UDMA and `softreset failed (device not ready)`)

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

 



Dear Linux folks,


this is a follow up for my message from January [7].

Am Montag, den 30.01.2012, 20:30 -0600 schrieb Robert Hancock:
> On 01/16/2012 04:03 AM, Paul Menzel wrote:

[…]

> >          Jan 13 02:13:15 joe kernel: [    1.640626] ata1.00: ATAPI: TOSHIBA DVD-ROM SD-M1712, 1004, max UDMA/33
> >          Jan 13 02:13:15 joe kernel: [    1.656502] ata1.00: configured for UDMA/33
> >          Jan 13 02:13:15 joe kernel: [    1.796038] ata6: SATA link down (SStatus 0 SControl 300)
> >          Jan 13 02:13:15 joe kernel: [    1.796076] ata5: SATA link down (SStatus 0 SControl 300)
> >          Jan 13 02:13:15 joe kernel: [    1.796132] ata4: SATA link down (SStatus 0 SControl 300)
> >          Jan 13 02:13:15 joe kernel: [    1.808018] usb 2-1: new low speed USB device number 2 using ohci_hcd
> >          Jan 13 02:13:15 joe kernel: [    1.968017] ata3: softreset failed (device not ready)
> >          Jan 13 02:13:15 joe kernel: [    1.968063] ata3: applying PMP SRST workaround and retrying
> >
> > This seems to be related to a hardware bug in the SB600 chipset [3]. The
> > discussion [4] indicates that setting `CONFIG_SATA_PMP=n` fixes this
> > issue. Although reading the option description [5] I do not understand
> > what it does and if it is advisable to disable it.
> 
> Turning that off would prevent you from using any SATA port multipliers 
> (usually found in things like multi-drive external enclosures). The 
> kernel already worked around the issue so I don't think you need to 
> worry about this.

[…]

To make the story short the board was switched from ASUS M2A-VM (SB600) [8]
to ASRock A780FullHD (AMD 780G/SB700) [9]. The drive is still a Western
Digital WD20EARS-60MVWB0 connected to the SATA port.

New about the ASRock A780FullHD is also that some kind of AHCI BIOS ROM
is executed after the BIOS. So maybe there is a separate controller
included in the board. I do not know. I only know this adds another 5
seconds to the boot process. ;-)

Anyway I still saw the error `softreset failed (device not ready)` in
the Linux kernel ring buffer. This is shown at every boot at 2 seconds
after Linux is executed and during every resume.

        $ dmesg | grep ata1
        [    1.722407] ata1: SATA max UDMA/133 abar m1024@0xfddff800 port 0xfddff900 irq 22
        [    2.212024] ata1: softreset failed (device not ready)
        [    2.212063] ata1: applying PMP SRST workaround and retrying
        [    2.384049] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
        [    2.390552] ata1.00: ATA-8: WDC WD20EARS-60MVWB0, 51.0AB51, max UDMA/100
        [    2.390554] ata1.00: 3907029168 sectors, multi 0: LBA48 NCQ (depth 31/32), AA
        [    2.396516] ata1.00: configured for UDMA/100
        [18757.377500] ata1: exception Emask 0x40 SAct 0x0 SErr 0x800 action 0x7
        [18757.377512] ata1: SError: { HostInt }
        [18757.377526] ata1: hard resetting link
        [18757.868051] ata1: softreset failed (device not ready)
        [18757.868063] ata1: applying PMP SRST workaround and retrying
        [18758.040049] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
        [18758.052521] ata1.00: configured for UDMA/100
        [18758.068039] ata1: EH complete
        [18771.044020] ata1: softreset failed (device not ready)
        [18774.560018] ata1: softreset failed (device not ready)
        [18774.560020] ata1: applying PMP SRST workaround and retrying
        [18774.732029] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
        [18774.744487] ata1.00: configured for UDMA/100

Building Linux myself and disabling SATA Port Multiplier support

        CONFIG_SATA_PMP=n

the message is gone now.

        $ dmesg | grep ata1
        [    1.683069] ata1: SATA max UDMA/133 abar m1024@0xfddff800 port 0xfddff900 irq 22
        [    2.000192] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
        [    2.006761] ata1.00: ATA-8: WDC WD20EARS-60MVWB0, 51.0AB51, max UDMA/100
        [    2.006763] ata1.00: 3907029168 sectors, multi 0: LBA48 NCQ (depth 31/32), AA
        [    2.012806] ata1.00: configured for UDMA/100
        [  148.124029] ata1: link is slow to respond, please be patient (ready=0)

This was not there before and is after resume, but I guess this message
can be attributed to the drive needing time to spin up.

        [  152.772019] ata1: COMRESET failed (errno=-16)
        [  155.780033] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
        [  155.792109] ata1.00: configured for UDMA/100

Could the error message »softreset failed (device not ready)« be
reworded, since `CONFIG_SATA_PMP=y` is used at least in Debian for the
default Linux kernel image?

        softreset failed (device not ready): no Port Multiplier available, might be AMD chipset bug we will work around

Now trying to reword it myself, it is kind of hard, but hopefully we can
come up with something.


Thanks,

Paul


> > [1] https://en.wikipedia.org/wiki/Advanced_Host_Controller_Interface
> > [2] http://www.intel.com/technology/serialata/ahci.htm
> > [3] https://bugzilla.redhat.com/show_bug.cgi?id=468800
> > [4] http://www.linuxquestions.org/questions/linux-kernel-70/ata4-softreset-failed-device-not-ready-865155/
> > [5] http://cateee.net/lkddb/web-lkddb/SATA_PMP.html
> > [6] http://www.spinics.net/lists/linux-ide/msg41224.html
[7] http://www.spinics.net/lists/linux-ide/msg42654.html
[8] http://www.asus.com/Motherboards/AMD_AM2/M2AVM/
[9] http://www.asrock.com/mb/overview.asp?model=a780fullhd

Attachment: signature.asc
Description: This is a digitally signed message part


[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