* Forcing a an Intel ICH9R into AHCI mode after boot
@ 2010-04-06 7:53 Tim Small
2010-05-28 15:58 ` Forcing a an Intel ICH8 into AHCI mode after boot - success Tim Small
0 siblings, 1 reply; 2+ messages in thread
From: Tim Small @ 2010-04-06 7:53 UTC (permalink / raw)
To: linux-ide
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.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Forcing a an Intel ICH8 into AHCI mode after boot - success
2010-04-06 7:53 Forcing a an Intel ICH9R into AHCI mode after boot Tim Small
@ 2010-05-28 15:58 ` Tim Small
0 siblings, 0 replies; 2+ messages in thread
From: Tim Small @ 2010-05-28 15:58 UTC (permalink / raw)
To: linux-ide, linux-pci
I tried to get a Dell PE R300 (ICH9R) working in AHCI mode a few weeks
ago - there is no AHCI mode option in the BIOS.
In case anyone is trying the same thing - I just tried the same method
on an Abit IB9 (Intel ICH8 - also lacking AHCI BIOS support), and it
worked (see below). I'll try coding this up as a PCI quirk (defaulting
to off)...
> 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
>
This time I got.
[ 244.592159] pci 0000:00:1f.2: reg 10 io port: [0xfa00-0xfa07]
[ 244.592165] pci 0000:00:1f.2: reg 14 io port: [0xf900-0xf903]
[ 244.592169] pci 0000:00:1f.2: reg 18 io port: [0xf800-0xf807]
[ 244.592174] pci 0000:00:1f.2: reg 1c io port: [0xf700-0xf703]
[ 244.592179] pci 0000:00:1f.2: reg 20 io port: [0xf600-0xf61f]
[ 244.592184] pci 0000:00:1f.2: reg 24 32bit mmio: [0x00f000-0x00f7ff]
[ 244.592208] pci 0000:00:1f.2: PME# supported from D3hot
[ 244.592244] pci 0000:00:1f.2: PME# disabled
[ 244.640044] ahci 0000:00:1f.2: version 3.0
[ 244.640061] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[ 244.640145] alloc irq_desc for 26 on node -1
[ 244.640147] alloc kstat_irqs on node -1
[ 244.640156] ahci 0000:00:1f.2: irq 26 for MSI/MSI-X
[ 244.640164] ahci 0000:00:1f.2: forcing PORTS_IMPL to 0xf
[ 244.640214] ahci: SSS flag set, parallel bus scan disabled
[ 244.640267] ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps
0xf impl SATA mode
[ 244.640304] ahci 0000:00:1f.2: flags: 64bit ncq sntf ilck stag pm led
clo pmp pio slum part ccc ems
[ 244.640343] ahci 0000:00:1f.2: setting latency timer to 64
[ 244.656102] scsi6 : ahci
[ 244.656193] scsi7 : ahci
[ 244.656269] scsi8 : ahci
[ 244.656347] scsi9 : ahci
[ 244.656488] ata7: SATA max UDMA/133 abar m2048@0xf0000000 port
0xf0000100 irq 26
[ 244.656525] ata8: SATA max UDMA/133 abar m2048@0xf0000000 port
0xf0000180 irq 26
[ 244.656561] ata9: SATA max UDMA/133 abar m2048@0xf0000000 port
0xf0000200 irq 26
[ 244.656598] ata10: SATA max UDMA/133 abar m2048@0xf0000000 port
0xf0000280 irq 26
[ 244.976013] ata7: SATA link down (SStatus 0 SControl 300)
[ 245.312012] ata8: SATA link down (SStatus 0 SControl 300)
[ 246.356006] ata9: failed to resume link (SControl 0)
[ 246.356046] ata9: SATA link down (SStatus 0 SControl 0)
[ 247.400006] ata10: failed to resume link (SControl 0)
[ 247.400046] ata10: SATA link down (SStatus 0 SControl 0)
[ 434.987580] ata7: exception Emask 0x10 SAct 0x0 SErr 0x4000000 action
0xe frozen
[ 434.987629] ata7: irq_stat 0x00000040, connection status changed
[ 434.987662] ata7: SError: { DevExch }
[ 434.987697] ata7: hard resetting link
[ 445.000006] ata7: softreset failed (device not ready)
[ 445.000040] ata7: hard resetting link
[ 445.888011] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 445.919259] ata7.00: ATA-7: ST3500641AS, 3.AAD, max UDMA/133
[ 445.919294] ata7.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[ 445.985918] ata7.00: configured for UDMA/133
[ 445.985959] ata7: EH complete
[ 446.804096] scsi 6:0:0:0: Direct-Access ATA ST3500641AS
3.AA PQ: 0 ANSI: 5
[ 446.890857] sd 6:0:0:0: [sda] 976773168 512-byte logical blocks: (500
GB/465 GiB)
[ 446.890941] sd 6:0:0:0: [sda] Write Protect is off
[ 446.890975] sd 6:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 446.890994] sd 6:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[ 446.891149] sda: sda1 sda2
[ 446.909372] sd 6:0:0:0: [sda] Attached SCSI disk
(sid-netboot)root@netboot:~# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 182 MB in 3.03 seconds = 60.00 MB/sec
(sid-netboot)root@netboot:~# uname -a
Linux netboot 2.6.32-5-amd64 #1 SMP Mon May 17 17:51:57 UTC 2010 x86_64
GNU/Linux
--
South East Open Source Solutions Limited
Registered in England and Wales with company number 06134732.
Registered Office: 2 Powell Gardens, Redhill, Surrey, RH1 1TQ
VAT number: 900 6633 53 http://seoss.co.uk/ +44-(0)1273-808309
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-05-28 15:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-06 7:53 Forcing a an Intel ICH9R into AHCI mode after boot Tim Small
2010-05-28 15:58 ` Forcing a an Intel ICH8 into AHCI mode after boot - success Tim Small
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).