Bug 677217 - sata_sil module fails to detect drives.
Summary: sata_sil module fails to detect drives.
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 14
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-02-14 05:11 UTC by Steven Haigh
Modified: 2011-03-16 01:19 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2011-03-16 01:19:34 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
dmesg output from kernel 2.6.32.26-174.2.xendom0.fc12.x86_64 (348 bytes, text/plain)
2011-02-14 05:13 UTC, Steven Haigh
no flags Details
dmesg output from kernel 2.6.35.10-71.fc14.x86_64 (422 bytes, text/plain)
2011-02-14 05:14 UTC, Steven Haigh
no flags Details
dmesg output from kernel 2.6.35.11-83.fc14.x86_64 (422 bytes, text/plain)
2011-02-14 05:14 UTC, Steven Haigh
no flags Details
Possible fix for sata_sil detection issues. (1021 bytes, patch)
2011-02-14 07:15 UTC, Steven Haigh
no flags Details | Diff

Description Steven Haigh 2011-02-14 05:11:42 UTC
Description of problem:
When connecting an esata drive to a sata_sil based card, the link status is detected ok, but no device is detected - therefore the drive cannot be used.

Version-Release number of selected component (if applicable):
2.6.35.10-71.fc14.x86_64
2.6.35.11-83.fc14.x86_64

How reproducible:
Every time.

Steps to Reproduce:
1. Boot system with sil3112 or sil3114 card.
2. Connect a drive.
3. Observe failure.
  
Actual results:
[   74.664034] ata10: exception Emask 0x10 SAct 0x0 SErr 0x50000 action 0xe frozen
[   74.664208] ata10: SError: { PHYRdyChg CommWake }
[   74.664310] ata10: hard resetting link
[   80.416870] ata10: link is slow to respond, please be patient (ready=-19)
[   81.789464] ata10: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   81.789572] ata10.00: NODEV after polling detection
[   81.789593] ata10: EH complete

Expected results:
Drive should be detected.

Additional info:
I have tried this with both kernel version listed above. I have also verified that the caddy is not faulty be transferring it to the last available SATA port onboard the mainboard and observed everything working as it should.

Comment 1 Steven Haigh 2011-02-14 05:13:51 UTC
Created attachment 478545 [details]
dmesg output from kernel 2.6.32.26-174.2.xendom0.fc12.x86_64

Comment 2 Steven Haigh 2011-02-14 05:14:32 UTC
Created attachment 478546 [details]
dmesg output from kernel 2.6.35.10-71.fc14.x86_64

Comment 3 Steven Haigh 2011-02-14 05:14:59 UTC
Created attachment 478547 [details]
dmesg output from kernel 2.6.35.11-83.fc14.x86_64

Comment 4 Steven Haigh 2011-02-14 07:02:26 UTC
Added possibly related upstream link.

Comment 5 Steven Haigh 2011-02-14 07:09:43 UTC
This may also be related:
http://www.spinics.net/lists/linux-ide/msg39064.html

Comment 6 Steven Haigh 2011-02-14 07:15:24 UTC
Created attachment 478558 [details]
Possible fix for sata_sil detection issues.

Taken from:
http://www.spinics.net/lists/linux-ide/msg39067.html

Comment 7 Chuck Ebbert 2011-02-15 23:15:30 UTC
(In reply to comment #6)
> Created attachment 478558 [details]
> Possible fix for sata_sil detection issues.
> 
> Taken from:
> http://www.spinics.net/lists/linux-ide/msg39067.html

Don't look there, look in the kernel git tree - that fix went into 2.6.36:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff_plain;h=40c6023031369ae5573e622ca54fa3ffe89fb865

And it also went in 2.6.35.5 as:
libata-pata_via-revert-ata_wait_idle-removal-from-ata_sff-via_tf_load.patch

Comment 8 Steven Haigh 2011-02-16 02:32:20 UTC
Comment on attachment 478558 [details]
Possible fix for sata_sil detection issues.

Thanks Chuck, 

I'm now at a complete loss for what is causing the issue then - all I know is that I can duplicate it any time.

Any thoughts on how to continue?

Comment 9 Chuck Ebbert 2011-02-16 16:39:35 UTC
You can try the 2.6.38-rc kernels for F15 on F14 and see if they fix it. If not, report the problem to the linux-ide list.

Comment 10 Steven Haigh 2011-02-17 03:06:15 UTC
I tried 2.6.38-0.rc4.git0.2.fc15.x86_64 with the following from dmesg:

** Turn drive on **
[   95.232916] ata12: hard resetting link
[  100.162990] ata12: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[  100.163102] ata12.00: NODEV after polling detection
[  100.163120] ata12: EH complete

** Turn drive off **
[  133.086284] ata12: hard resetting link
[  133.390228] ata12: SATA link down (SStatus 0 SControl 310)
[  133.390243] ata12: EH complete

Seems to be broken still.

Comment 11 Steven Haigh 2011-02-17 04:20:21 UTC
Hold fire on this at the moment - after doing lots of swapping and changing of cables and drives, it seems that a direct SATA cable to the adapter works.

I believe this *may* be a faulty cable - hence I will see what I can do about changing the esata cable and report back with my findings.

Comment 12 Steven Haigh 2011-02-17 23:39:07 UTC
Adding linux-ide list thread regarding this issue.

http://marc.info/?t=129791459000001&r=1&w=2

Comment 13 Steven Haigh 2011-03-01 11:44:47 UTC
A little bit of an update. This seems to be an issue with compatibility of the chip used in the eSATA cradle. On some sata chipsets it is detected ok after a couple of retries, on others it is not detected at all.

As per the linux-ide mailing list thread above, the issue is being investigated and waiting on the manufacturer of the chip to respond with some details on how it works.

Comment 14 Steven Haigh 2011-03-16 01:19:34 UTC
I finally got to the bottom of this.

The SATA spec says that internal sata cables be no longer than 1m. It also states that eSATA cables can be up to 2m long.

It seems that the sata_sil hardware - while operating to the specifications - cannot handle cables longer than 1m. As in this set, I had a 1m eSATA cable + a 20cm internal cable, there were issues with the detection and operation of these drives.

It seems sata controllers are not built the same for this - as using a different sata controller (not the sil3112/3114) in my case makes it work. I did notice during my research for this that some mainboards actually have esata ports onboard. These can support cables up to 2m.


Note You need to log in before you can comment on or make changes to this bug.