# Solved: Intel ICH6/AHCI/ATA_PIIX not working in native mode

## #pfo

hi guys!

I'm trying to get this ICH6 thingy to work in native AHCI mode, since this sould be working (according to google and other sources). The problem is: when i enable AHCI only in kernel (without ata_piix) VFS starts bitching about an unkown block devices (ie missing /dev/sda). This sould be working! 

It would be neat/nice/w00t/ ... if u guys with this setup combo (AHCI based SATA bridge + AHCI only in kernel) could comment.

my current setup(AHCI + ATA_PIIX ontop of libata):

the PATA part of ata_piix:

```

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

ICH6: IDE controller at PCI slot 0000:00:1f.1

ICH6: chipset revision 3

ICH6: not 100% native mode: will probe irqs later

    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:DMA

    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio

Probing IDE interface ide0...

hdb: Pioneer DVD-ROM ATAPIModel DVD-106S 010, ATAPI CD/DVD-ROM drive

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

```

the sata part of ata_piix:

```

libata version 1.20 loaded.

ata_piix 0000:00:1f.2: version 1.05

PCI: Setting latency timer of device 0000:00:1f.2 to 64

ata1: SATA max UDMA/133 cmd 0xEC00 ctl 0xE802 bmdma 0xDC00 irq 185

ata2: SATA max UDMA/133 cmd 0xE400 ctl 0xE002 bmdma 0xDC08 irq 185

ATA: abnormal status 0x7F on port 0xEC07

ata1: disabling port

scsi0 : ata_piix

ata2: dev 0 cfg 49:2f00 82:74eb 83:7f63 84:4003 85:74e9 86:3c43 87:4003 88:207f

ata2: dev 0 ATA-6, max UDMA/133, 145226112 sectors: LBA48

ata2(0): applying bridge limits

ata2: dev 1 cfg 49:2f00 82:746b 83:7f01 84:4023 85:7469 86:3c01 87:4023 88:20ff

ata2: dev 1 ATA-7, max UDMA7, 390721968 sectors: LBA48

ata2(0): applying bridge limits

ata2: dev 0 configured for UDMA/100

ata2: dev 1 configured for UDMA/100

scsi1 : ata_piix

  Vendor: ATA       Model: WDC WD740GD-00FL  Rev: 21.0

  Type:   Direct-Access                      ANSI SCSI revision: 05

  Vendor: ATA       Model: SAMSUNG SP2004C   Rev: VM10

  Type:   Direct-Access                      ANSI SCSI revision: 05

SCSI device sda: 145226112 512-byte hdwr sectors (74356 MB)

SCSI device sda: drive cache: write back

SCSI device sda: 145226112 512-byte hdwr sectors (74356 MB)

SCSI device sda: drive cache: write back

 sda: sda1 sda2

sd 1:0:0:0: Attached scsi disk sda

.

.

.

```

kernel config

```

CONFIG_SCSI_SATA=y

CONFIG_SCSI_SATA_AHCI=y

CONFIG_SCSI_ATA_PIIX=y

```

```

0000:00:00.0 Host bridge: Intel Corporation 915G/P/GV/GL/PL/910GL Processor to I/O Controller (rev 04)

0000:00:01.0 PCI bridge: Intel Corporation 915G/P/GV/GL/PL/910GL PCI Express Root Port (rev 04)

0000:00:1b.0 Class 0403: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)

0000:00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)

0000:00:1c.1 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (rev 03)

0000:00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (rev 03)

0000:00:1c.3 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (rev 03)

0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)

0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)

0000:00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)

0000:00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)

0000:00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)

0000:00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d3)

0000:00:1f.0 ISA bridge: Intel Corporation 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (rev 03)

0000:00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)

0000:00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA Controller (rev 03)

0000:00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)

0000:01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeFORCE 6600] (rev a2)

0000:06:08.0 Ethernet controller: Intel Corporation 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller (rev 01)

```

p.s.:

``enhanced'' ATA mode is enabled in BIOS (ie all SATA and PATA resources enabled). this sould equal AHCI mode, right?

the mobo in question is a Intel 915GAVL.Last edited by #pfo on Mon Jan 09, 2006 11:49 pm; edited 2 times in total

----------

## munchagepeople

My computer uses AHCI for all of my 3 disks (2 x 250Gb, 1 x 160Gb) so obviously AHCI is working (worked for me since 2.6.10 I believe)

relevant parts of dmesg:

```
 ICH6: IDE controller at PCI slot 0000:00:1f.1

ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 16 (level, low) -> IRQ 16

ICH6: chipset revision 3

ICH6: not 100% native mode: will probe irqs later
```

```
libata version 1.12 loaded.

ahci version 1.01

ACPI: PCI Interrupt 0000:00:1f.2[C] -> GSI 20 (level, low) -> IRQ 18

PCI: Setting latency timer of device 0000:00:1f.2 to 64

ahci(0000:00:1f.2) AHCI 0001.0000 32 slots 4 ports 1.5 Gbps 0xf impl SATA mode

ahci(0000:00:1f.2) flags: 64bit ncq pm led slum part

ata1: SATA max UDMA/133 cmd 0xF880ED00 ctl 0x0 bmdma 0x0 irq 18

ata2: SATA max UDMA/133 cmd 0xF880ED80 ctl 0x0 bmdma 0x0 irq 18

ata3: SATA max UDMA/133 cmd 0xF880EE00 ctl 0x0 bmdma 0x0 irq 18

ata4: SATA max UDMA/133 cmd 0xF880EE80 ctl 0x0 bmdma 0x0 irq 18

ata1: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4063 85:7c69 86:3e01 87:4063 88:007f

ata1: dev 0 ATA, max UDMA/133, 320173056 sectors: lba48

ata1: dev 0 configured for UDMA/133

scsi0 : ahci

ata2: dev 0 cfg 49:2f00 82:3469 83:7f21 84:4003 85:3469 86:3c01 87:4003 88:003f

ata2: dev 0 ATA, max UDMA/100, 488281250 sectors: lba48

ata2(0): applying bridge limits

ata2: dev 0 configured for UDMA/100

scsi1 : ahci

ata3: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4673 85:7c69 86:3e01 87:4663 88:007f

ata3: dev 0 ATA, max UDMA/133, 490234752 sectors: lba48

ata3: dev 0 configured for UDMA/133

scsi2 : ahci

ata4: no device found (phy stat 00000000)

scsi3 : ahci

  Vendor: ATA       Model: Maxtor 6B160M0    Rev: BANC

  Type:   Direct-Access                      ANSI SCSI revision: 05

  Vendor: ATA       Model: WDC WD2500JD-75G  Rev: 02.0

  Type:   Direct-Access                      ANSI SCSI revision: 05

  Vendor: ATA       Model: Maxtor 6L250S0    Rev: BANC

  Type:   Direct-Access                      ANSI SCSI revision: 05

SCSI device sda: 320173056 512-byte hdwr sectors (163929 MB)

SCSI device sda: drive cache: write back

SCSI device sda: 320173056 512-byte hdwr sectors (163929 MB)

SCSI device sda: drive cache: write back

 sda: sda1 sda2 sda3 sda4

Attached scsi disk sda at scsi0, channel 0, id 0, lun 0

SCSI device sdb: 488281250 512-byte hdwr sectors (250000 MB)

SCSI device sdb: drive cache: write back

SCSI device sdb: 488281250 512-byte hdwr sectors (250000 MB)

SCSI device sdb: drive cache: write back

 sdb: sdb1 sdb2 sdb3 sdb4

Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0

SCSI device sdc: 490234752 512-byte hdwr sectors (251000 MB)

SCSI device sdc: drive cache: write back

SCSI device sdc: 490234752 512-byte hdwr sectors (251000 MB)

SCSI device sdc: drive cache: write back

 sdc: sdc1 sdc2

Attached scsi disk sdc at scsi2, channel 0, id 0, lun 0
```

Intel 925 based motherboard, with ICH6R SATA controller, running AHCI (specified in BIOS)

Running 2.6.14, only AHCI and ATA_PIIX enabled for SATA drivers

For some reason, your kernel isn't picking up that the drives are meant to be ahci:

```
scsi1 : ata_piix
```

Which is why if you take that part out, it complains that it can't find the disk(s)

Only suggestion I can think of is to trawl through your BIOS settings, until you find the one that enables AHCI on your drives.

Hope some of this helps you

Simon

----------

## #pfo

 *munchagepeople wrote:*   

> My computer uses AHCI for all of my 3 disks (2 x 250Gb, 1 x 160Gb) so obviously AHCI is working (worked for me since 
> 
> Simon

 

No, I just resolved the problem: 

ICH6(!R/!W/!M) - ie plain ICH6 has pci-id 8086:2651 == no AHCI according to intel ICH6 documentation, where 8086:2652 (ie ICH6R) hast full AHCI compliance.

----------

## jlward4th

I have a ICH6M and I can't get AHCI to work.    :Sad: 

I get: 

```
ahci: probe of 0000:00:1f.2 failed with error -12
```

But according to Intel ICH6M support AHCI.  But what is confusing me is that I can't find a BIOS option to enable AHCI.

I'm lost on this on.  If anyone else with ICH6M gets AHCI working, let me know.

----------

