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.
Created attachment 478545 [details] dmesg output from kernel 2.6.32.26-174.2.xendom0.fc12.x86_64
Created attachment 478546 [details] dmesg output from kernel 2.6.35.10-71.fc14.x86_64
Created attachment 478547 [details] dmesg output from kernel 2.6.35.11-83.fc14.x86_64
Added possibly related upstream link.
This may also be related: http://www.spinics.net/lists/linux-ide/msg39064.html
Created attachment 478558 [details] Possible fix for sata_sil detection issues. Taken from: http://www.spinics.net/lists/linux-ide/msg39067.html
(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 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?
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.
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.
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.
Adding linux-ide list thread regarding this issue. http://marc.info/?t=129791459000001&r=1&w=2
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.
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.