On Sun, Nov 18, 2007 at 03:09:13AM +0100, Uwe Hermann wrote:
On Thu, Nov 15, 2007 at 03:44:07PM -0500, Ward Vandewege wrote:
The ck804 code in the LB tree does not properly initialize all SATA ports. The situation is currently as follows for boards with 4 SATA ports:
- sata controller 0: both ports 100% dead (no drives detected)
- sata controller 1: port 0 ok; port 1 sees drive but times out when trying to access it
Can you elaborate how you tested this?
The s2891 has 2 sata controllers; pci ids 0000:00:07.0 and 0000:00:08.0. Both have 2 onboard sata ports (which I've been referring to as 0 and 1).
Test pre-patch:
1. stick 4 sata drives in s2891 2. boot 3. controller 0 (pci id 7) does not see *any* drives 4. controller 1 (pci id 8) sees both drives connected to it, but when the kernel tries to access the second disk, it times out with nasty errors like this.
See the boot log here:
http://ward.vandewege.net/s2891/s2891-bootlog-lb.cap
Test post-patch:
same as above, but controller 0 behaves identical to controller 1
Here's what I was able to test on the ASUS A8N-E. The ports are numbered 1-4 on the PCB, not sure how that maps to your numbers above. I used a 40 GB SATA disk with 'IDE_DISK_POLL_DELAY = 1' in FILO as well as the 5 seconds spin-up delay patch from the wiki.
Without patches:
- Port 1, 2 don't work.
- Port 3: Works (hde in FILO), I can boot from the SATA disk.
- Port 4: Works (hdg in FILO), I can boot from the SATA disk.
No change in behaviour with your patch applied. Ports 1/2 broken, 3/4 work.
What are the PCI ids for the sata controllers on your board?
Thanks, Ward.