From: Robert Hancock on
On Thu, Jan 14, 2010 at 8:40 AM, Krzysztof Halasa <khc(a)pm.waw.pl> wrote:
> Robert Hancock <hancockrwd(a)gmail.com> writes:
>
>> The behavior here is strange, the controller reports a connection
>> status change interrupt with CommWake which should indicate that some
>> device completed the handshake with the controller, but then the SATA
>> link shows down. I assume there's nothing plugged into the two JMicron
>> SATA ports?
>
> Precisely nothing. Only the PATA is connected.

It would be interesting to see what happens if you actually plug
something into that port that's having the issues, and see what
happens. I'm kind of inclined to suspect it's a hardware fault, though
it would likely require a report from someone else with the same or
similar board model to confirm that..
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Robert Hancock on
On Fri, Jan 15, 2010 at 3:43 PM, Krzysztof Halasa <khc(a)pm.waw.pl> wrote:
> Robert Hancock <hancockrwd(a)gmail.com> writes:
>
>> It would be interesting to see what happens if you actually plug
>> something into that port that's having the issues, and see what
>> happens. I'm kind of inclined to suspect it's a hardware fault, though
>> it would likely require a report from someone else with the same or
>> similar board model to confirm that..
>
> 2.6.32.3 with the patch disabling JMB363 and "catch all AHCI" applied.
> Nothing connected to SATA, only PATA in use.
>
> I understand the following doesn't set the AHCI_HFLAG_IGN_IRQ_IF_ERR
> and thus doesn't ignore PORT_IRQ_IF_ERR, but the latter doesn't seem to
> be set.
>
> # echo -n 197b 2363 > new_id
>
> ahci 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> ahci 0000:02:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
> ahci 0000:02:00.0: flags: 64bit ncq pm led clo pmp pio slum part
> ahci 0000:02:00.0: setting latency timer to 64
> scsi9 : ahci
> scsi10 : ahci
> ata9: SATA max UDMA/133 abar m8192(a)0xfe9fe000 port 0xfe9fe100 irq 16
> ata10: SATA max UDMA/133 abar m8192(a)0xfe9fe000 port 0xfe9fe180 irq 16
> ata10: SATA link down (SStatus 0 SControl 300)
> ata9: SATA link down (SStatus 0 SControl 300)
>
> ata10: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
> ata10: irq_stat 0x00000040, connection status changed
> ata10: SError: { CommWake DevExch }
> ata10: hard resetting link
> ata10: SATA link down (SStatus 0 SControl 300)
> ata10: EH complete
> ata10: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
> ata10: irq_stat 0x00000040, connection status changed
> ata10: SError: { CommWake DevExch }
> ata10: limiting SATA link speed to 1.5 Gbps
> ata10: hard resetting link
> ata10: SATA link down (SStatus 0 SControl 310)
> ata10: EH complete
> ...
>
> sometimes the two lines become:
>
> ata10: exception Emask 0x10 SAct 0x0 SErr 0x4060000 action 0xe frozen
> ata10: SError: { PHYInt CommWake DevExch }
>
> Now plugging something into the mb connector (1.5 Gbps device, the same
> which my VT6421A-based miniPCI card doesn't like):
>
> ata10: exception Emask 0x10 SAct 0x0 SErr 0x4050000 action 0xe frozen
> ata10: irq_stat 0x00400040, connection status changed
> ata10: SError: { PHYRdyChg CommWake DevExch }
> ata10: hard resetting link
> ata10: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> ata10.00: ATA-7: Kingston SSDNow V Series 64GB, B090428a, max UDMA/100
> ata10.00: 125045424 sectors, multi 1: LBA
> ata10.00: configured for UDMA/100
> ata10: EH complete
> scsi 10:0:0:0: Direct-Access � � ATA � � �Kingston SSDNow �B090 PQ: 0 ANSI: 5
> sd 10:0:0:0: Attached scsi generic sg8 type 0
> sd 10:0:0:0: [sdh] 125045424 512-byte logical blocks: (64.0 GB/59.6 GiB)
> sd 10:0:0:0: [sdh] Write Protect is off
> sd 10:0:0:0: [sdh] Mode Sense: 00 3a 00 00
> sd 10:0:0:0: [sdh] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
> sd 10:0:0:0: [sdh] Attached SCSI disk
>
> Absolutely no problems with fs access, expected linear transfer speed
> etc.
>
> Well, let's unplug it. Power down first:
>
> ata10: exception Emask 0x10 SAct 0x0 SErr 0x990000 action 0xe frozen
> ata10: irq_stat 0x00400000, PHY RDY changed
> ata10: SError: { PHYRdyChg 10B8B Dispar LinkSeq }
> ata10: hard resetting link
> ata10: SATA link down (SStatus 0 SControl 300)
> ata10: hard resetting link
> ata10: SATA link down (SStatus 0 SControl 300)
> ata10: limiting SATA link speed to 1.5 Gbps
> ata10: hard resetting link
> ata10: SATA link down (SStatus 0 SControl 310)
> ata10.00: disabled
> ata10: EH complete
> ata10.00: detaching (SCSI 10:0:0:0)
> sd 10:0:0:0: [sdh] Stopping disk
> sd 10:0:0:0: [sdh] START_STOP FAILED
> sd 10:0:0:0: [sdh] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
>
> Seems stable at this point, no additional messages.
>
> Then removing the plug from (unpowered) SSD - IRQs start appearing again
> every few seconds. Mostly:
>
> ata10: exception Emask 0x10 SAct 0x0 SErr 0x4000000 action 0xe frozen
> ata10: irq_stat 0x00000040, connection status changed
> ata10: SError: { DevExch }
> ata10: limiting SATA link speed to 1.5 Gbps
> ata10: hard resetting link
> ata10: SATA link down (SStatus 0 SControl 310)
> ata10: EH complete
>
> sometimes SErr 0x4060000 and 0x4040000
>
> Fine, so let's connect it again (device still not powered):
> Messages stopped.
>
> Disconnected again, messages started, reconnected, stopped.
>
> Am I to use the SSD as a passive SATA terminator?
>
> Any further ideas welcome :-)

Hmm.. From those test results I really suspect some kind of hardware
fault. Could be a defective motherboard - I don't know if that chip
needs any terminating resistors on the motherboard for the SATA signal
lines or something, if so, could be they weren't installed properly..
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Robert Hancock on
On Fri, Jan 15, 2010 at 9:02 PM, Henrique de Moraes Holschuh
<hmh(a)hmh.eng.br> wrote:
> On Thu, 14 Jan 2010, Robert Hancock wrote:
>> > Maybe it is the silicon AHCI in ICH6R that is immature, and one is much
>> > better of using it in IDE mode?
>>
>> That seems unlikely, since the Intel-provided Matrix Storage drivers
>> for that controller on Windows will be using AHCI mode..
>
> That doesn't say much.
>
> If the change doesn't risk switching unaware users from IDE mode to AHCI, it
> is not a problem. �But if it does, why risk it? �It is not like anyone that
> wants hotplug and has an ICH6-R/M system won't have figured it out by now
> how to get it to use AHCI, these are NOT new systems.
>
> AHCI in ICH6R or ICH6M is not always an advantage. �You don't want it on
> ICH6-M in a laptop if it is not going to use the hotplug, for example. �In
> AHCI mode, the chip draws more power.

Well, the ICH6M seems to be stuck in whatever mode the user and/or
BIOS designer has stuck it in,so nothing would change with it, only
with the ICH6R which is not a mobile chipset. I'm not sure about using
more power in the controller in AHCI mode, but in IDE mode, you can't
use SATA link power saving, which is likely just as significant.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Tejun Heo on
On 01/15/2010 09:15 AM, Robert Hancock wrote:
> On Thu, Jan 14, 2010 at 2:11 PM, Henrique de Moraes Holschuh
> <hmh(a)hmh.eng.br> wrote:
>> On Wed, 13 Jan 2010, Robert Hancock wrote:
>>> Hmm, it seems like it's a bit more complicated than that. For ICH6R
>>> (0x2652), ata_piix attaches to it regardless of mode intentionally, it
>>> has specific logic to disable AHCI on the controller since it can be
>>> used in either mode. That seems a bit questionable. Having the same
>>> device being handled by different enabled drivers and depending on
>>> link or module load order to decide which one loads is fragile and
>>> prone to errors. I'd be in favor of removing the ICH6R support from
>>> ata_piix entirely and saying that you should be using ahci for that
>>> device. Maybe when ahci was immature there was a benefit to allowing
>>> ata_piix to run it, but I doubt that's true today.
>>
>> Maybe it is the silicon AHCI in ICH6R that is immature, and one is much
>> better of using it in IDE mode?
>
> That seems unlikely, since the Intel-provided Matrix Storage drivers
> for that controller on Windows will be using AHCI mode..

Oh, some ich6 ahcis are very not very mature. I have a ich6 which can
do ATA in ahci mode fine but craps out on ATAPI (it ends up spitting
out garbage FISes on the wire). It works fine in piix mode.
ich6 is a dying strange beast.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/