Hi, I have a box (Dell Poweredge R300) which I could really do with SATA hotplug functionality on. The BIOS doesn't have any AHCI support (and won't according to Dell) - and puts the ICH9R into PIIX mode, but I'd like to try and force it into AHCI mode to see if this is a workable solution... I've used setpci to stick the SATA controller into AHCI mode, and the fakephp driver to get the device rescanned by Linux, I now have an AHCI mode pci device showing up with lspci, but when loading the ahci driver I get: ahci 0000:00:1f.2: version 3.0 ahci 0000:00:1f.2: device not available because of BAR 0 [cc20:cc27] collisions This is what I did: setpci -s 00:1f.2 0x90.w=0x0060 modprobe fakephp echo 1 > /sys/bus/pci/slots/0000\:00\:1f.0/power echo 1 > /sys/bus/pci/slots/0000\:00\:1f.2/power echo 1 > /sys/bus/pci/slots/0000\:00\:1f.5/power echo 0 > /sys/bus/pci/slots/0000\:00\:1f.2/power echo 1 > /sys/bus/pci/slots/0000\:00\:1f.2/power echo 1 > /sys/bus/pci/slots/0000\:00\:1f.0/power echo 1 > /sys/bus/pci/slots/0000\:00\:1f.5/power modprobe ahci The kernel version is 2.6.26-2 (Debian 5.0). lspci gives: 00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller (rev 02) (prog-if 01 [AHCI 1.0]) Subsystem: Dell Device 020f Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin C routed to IRQ 6 Region 0: I/O ports at cc20 [size=8] Region 1: I/O ports at cc10 [size=4] Region 2: I/O ports at cc28 [size=8] Region 3: I/O ports at cc14 [size=4] Region 4: I/O ports at cc40 [size=32] Region 5: Memory at 0000c800 (32-bit, non-prefetchable) [size=2K] Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/4 Enable- Address: 00000000 Data: 0000 Capabilities: [70] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [a8] SATA HBA <?> Capabilities: [b0] PCIe advanced features <?> Kernel modules: ahci ... and I can't really work out why it thinks this... No over-laping stuff is showing up in /proc/ioports or the rest of the lspci output. Here's a diff of the lspci output before/after: -00:1f.2 IDE interface [0101]: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA IDE Controller [8086:2920] (rev 02) (prog-if 8f [Master SecP SecO PriP PriO]) - Subsystem: Dell PowerEdge R300 onboard SATA Controller [1028:020f] +00:1f.2 SATA controller [0106]: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller [8086:2922] (rev 02) (prog-if 01 [AHCI 1.0]) + Subsystem: Dell Device [1028:020f] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 - Interrupt: pin C routed to IRQ 23 + Interrupt: pin C routed to IRQ 6 Region 0: I/O ports at bc20 [size=8] Region 1: I/O ports at bc10 [size=4] Region 2: I/O ports at bc28 [size=8] Region 3: I/O ports at bc14 [size=4] - Region 4: I/O ports at bc40 [size=16] - Region 5: I/O ports at bc50 [size=16] + Region 4: I/O ports at bc40 [size=32] + Region 5: Memory at 0000b800 (32-bit, non-prefetchable) [size=2K] + Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/4 Enable- + Address: 00000000 Data: 0000 Capabilities: [70] Power Management version 3 - Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) + Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- + Capabilities: [a8] SATA HBA <?> Capabilities: [b0] PCIe advanced features <?> - Kernel driver in use: ata_piix - Kernel modules: ata_piix, ata_generic, ide-pci-generic + Kernel modules: ahci I know this is hacky, but it'd be nice to get it working... Any ideas? Cheers, Tim. -- 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