Tony Battersby wrote:
Tejun Heo wrote:
Tony Battersby wrote:
I am having a problem getting Linux to detect hot-plugged SATA disks on my
ICH7 AHCI controller (SuperMicro PDSME motherboard). On any SATA port that
already had a disk plugged in during BIOS POST, Linux will see the disk and
detect hot-plug and hot-unplug events just fine. On any SATA port that did
not have a disk plugged in during BIOS POST, Linux will not see a disk no
matter what. Here are the different sequences of events that I have tried:
1) boot with SATA disk plugged in
modprobe ahci: disk detected
unplug disk: disk deleted
plug in disk: disk detected
2) boot with SATA disk plugged in
unplug disk
modprobe ahci
plug in disk: disk detected
unplug disk: disk deleted
plug in disk: disk detected
unplug disk: disk deleted
plug in disk to any other SATA port -> not detected
plug in disk to the original SATA port -> disk detected
3) boot with SATA disk unplugged
plug in disk to any SATA port
modprobe ahci: not detected
grep ahci /proc/interrupts: 0 interrupts
4) boot with SATA disk unplugged
modprobe ahci
plug in disk to any SATA port: not detected
grep ahci /proc/interrupts: 0 interrupts
5) keep SATA disk plugged in during BIOS POST but unplug it before the
kernel boots
kernel hangs at "BIOS data check"
I have tried both 2.6.24.7 and 2.6.27.8 with the same result.
The BIOS is configured as follows:
Parallel ATA: [Enabled]
Serial ATA: [Enabled]
SATA Controller Mode: [Enhanced]
SATA RAID: [Disabled]
SATA AHCI: [Enabled]
The root filesystem is on a parallel IDE disk using the legacy (non-libata)
piix driver.
The BIOS could be tristating the ports. Does it work if you issue
manual rescan (echo - - - > /sys/class/scsi_host/hostN/scan)?
No luck. I get:
ata1: hard resetting link
ata1: SATA link down (SStatus 0 SControl 0)
ata1: EH complete
And the drive isn't seen.
Well, if the controller reports link down there likely isn't much the
kernel can do about it. I assume that ata1 is in fact where that drive
gets detected if it's plugged in at boot - you could try all the other
hosts to be sure..
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html