Skip to contentSkip to conversation

AHCI driver for ICH6M

DISCUSSION Michael Spiegle 2 participants 3 messages Feb 1, 2006 libata

lore
Share & tools
lore
#0 lore raw

Hello Jeff,
I was trying to use the AHCI driver included in kernel 2.6.15 to drive the SATA controller on my Asus Z71V laptop which supposedly has an ICH6M controller. I noticed that the PCI ID of my controller shows up in the AHCI source code, so I assume that means I should have support. I'm not terribly good with linux or C, but I think I was able to troubleshoot my issue down to a specific line of code. Ultimately, I get the error:

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

in my dmesg output. I was trying to debug the AHCI driver code by inserting print statements. I found that the driver stops processing at this point in the code:

ahci.c:
mmio_base = pci_iomap(pdev, AHCI_PCI_BAR, 0);

Specifically, the pci_iomap function seems to check for pci_resource_start and pci_resource_len which both return false. Looking at the code, if either len or start is false, the code returns NULL, then I get the error observed above in dmesg.

Is this a possible bug, or is AHCI support somehow stripped from my chipset?

Thank you for your time. If this is not the proper way to contact you about issues regarding the driver, I am sorry. I am very new to these things.

Michael Spiegle
[email protected]

#1 lore raw
Quoted 8 lines

I was trying to use the AHCI driver included in kernel 2.6.15 to drive the SATA controller on my Asus Z71V laptop which supposedly has an ICH6M controller. I noticed that the PCI ID of my controller shows up in the AHCI source code, so I assume that means I should have support. I'm not terribly good with linux or C, but I think I was able to troubleshoot my issue down to a specific line of code. Ultimately, I get the error:

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

A very familiar problem. It means that your bios configures your ICH chipset for legacy (or whatever name it has) mode, which means it will respond to the old-fashioned IDE ports and IRQs. This also means you cannot drive it in AHCI mode :-( unless there is an option in your BIOS to switch between legacy and ahci mode, but afaik no single laptop has this option. So you're on your own here :-( (just like me, btw).

#2 lore raw
Quoted 7 lines · Erik Slagter
Quoted 7 lines

I was trying to use the AHCI driver included in kernel 2.6.15 to drive the SATA controller on my Asus Z71V laptop which supposedly has an ICH6M controller. I noticed that the PCI ID of my controller shows up in the AHCI source code, so I assume that means I should have support. I'm not terribly good with linux or C, but I think I was able to troubleshoot my issue down to a specific line of code. Ultimately, I get the error:

Quoted 8 lines
Quoted 1 line

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

A very familiar problem. It means that your bios configures your ICH chipset for legacy (or whatever name it has) mode, which means it will respond to the old-fashioned IDE ports and IRQs. This also means you cannot drive it in AHCI mode :-( unless there is an option in your BIOS to switch between legacy and ahci mode, but afaik no single laptop has this option. So you're on your own here :-( (just like me, btw).

thank you for your reply! Looks like i'll need to wait for my laptop manufacturer to realize this is an important feature.... or load up my hex editor =)