Red Hat Bugzilla – Bug 195779
anaconda only loads ahci when ata_piix is required
Last modified: 2014-03-16 23:00:09 EDT
My Thinkpad Z60m has the Intel ICH6M SATA controller (8086:6523). This PCI ID
is listed in both the ahci and ata_piix modules, but the ahci module doesn't
recognize anything. In FC5, both modules were loaded by anaconda and it "just
worked" because ata_piix found a drive. With rawhide (2006-06-16), anaconda
loads ahci, doesn't find any drives, and stops. I have to manually select ata_piix.
Someone suggested to me that I change my BIOS to get ahci working, but there is
no apparent option.
How about either:
a) going back to the old behavior of loading both modules
b) checking for the IBM vendor ID (1014) in the subsystem ID and loading
Moving to FC6 blocker. Not enough to hold up Test1.
OK, some questions:
- Why does only one of the two see the drive?
- What is different that allows it to see the drive?
Generally, there's no way to tell which mode the chip is in, so it's not
something that can be reliably fixed in kudzu.
One thing we could do is change the kudzu abi to return multiple drivers. It'd
be ugly, though.
Okay, I don't know what changed, but now when I boot from the rawhide installer,
it just works. No ahci module loaded and ata_piix is loaded. I just booted it
twice and got the same result. What changed since Friday morning? I see that
anaconda was updated Friday, but the changelog doesn't mention anything that
How does anaconda (or kudzu) choose when more than one module is compatible with
the hardware (e100 vs. eepro100 for another example)? Is there a static list,
is it a simple alpha sort, or is it random?
Picks one, based on ordering in modules.alias.
Well, I tried again with rawhide, and now I'm back to getting ahci loaded but
not ata_piix. I have to manually load ata_piix.
I looked at modules.alias, and for my PCI ID (8086:2653, I typoed it above), and
ata_piix is listed first, so the ordering isn't working somehow.
IIRC, last wins, not first.
Hacked around in kudzu-1.2.56-1 for the installer.
Please provide a full lspci -vvv.
It sounds like PCI BAR 5 may have an assigned address even in ata_piix (IDE)
mode, to allow access to SATA phy registers.
Created attachment 137220 [details]
output from lspci -vvv
There is discussion in another BZ about the order of loading of the 'ahci' and
'ata_piix'. The big question is if loading 'ahci' first and then 'ata_piix'
would "shadow" the PATA drives. I was wondering if you could help us and change
your /etc/modprobe.conf to have:
alias scsi_hostadapter ahci
alias scsi_hostadapter1 ata_piix
/sbin/new-kernel-pkg --mkinitrd --depmod --install `uname -r`
reboot and see if having the 'ahci' loaded first doesn't interfere with seeing
your PATA drives (your hardisk, DVD, etc)?
Sorry for the delay (it has been a crazy month). I'm not sure quite what you
mean by "shadow". In my case, the only PATA device is the DVD drive. The only
hard drive is SATA.
When I ran the above command, I still ended up with an initrd that loaded
ata_piix first and then ahci. I manually changed the initrd init script; when I
boot and load ahci first, it still doesn't grab anything. I see in the kernel
libata version 2.00 loaded.
ahci 0000:00:1f.2: version 2.0
ahci: probe of 0000:00:1f.2 failed with error -12
The system seems to work fine like that.
*** Bug 205871 has been marked as a duplicate of this bug. ***