ICH9 Controller on Asus P5K-E showing up as "Intel AHCI controller"

Josh Carroll josh.carroll at gmail.com
Mon Aug 18 16:13:02 UTC 2008

It's not really a problem, as the device and the SATA hard drives and
DVD+RW attached to the bus operate properly, but I'm wondering why the
ICH9 controller (in AHCI mode) on the Asus P5K-E motherboard shows up

atapci1: <Intel AHCI controller> port
mem 0xfbffe800-0xfbffefff irq 22 at device 31.2 on pci0

The chip ID (0x29228086) from pciconf:

atapci1 at pci0:0:31:2:    class=0x010601 card=0x82771043 chip=0x29228086
rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) 6 port SATA AHCI Controller'
    class      = mass storage

Matches in ata-pci.h:

/usr/src/sys/dev/ata/ata-pci.h:#define ATA_I82801IB_AH6        0x29228086

And has an accompanying entry in ata-chipset.h:

/usr/src/sys/dev/ata/ata-chipset.c:     { ATA_I82801IB_AH6, 0, AHCI,
0x00, ATA_SA300, "ICH9" },

Which correctly indicates it is AHCI compliant.

However, ata_ahci_ident() still falls back on a "generic" identifier,
which I guess means:

    /* is this PCI device flagged as an AHCI compliant chip ? */
    if (pci_read_config(dev, PCIR_PROGIF, 1) != PCIP_STORAGE_SATA_AHCI_1_0)
    return ENXIO;

Is returning 0 and falling through to:

    sprintf(buffer, "%s AHCI controller", ata_pcivendor2str(dev));

Just wondering why it is not properly detecting this as ICH9. Again,
just something cosmetic that I'm curious about. I'm going to double
check the BIOS settings now, but I am confident I have them set as
AHCI in the BIOS. I suppose this could be a BIOS bug of some sort. I
can also try upgrading to the latest BIOS.

The system is 7.0-STABLE/amd64 as of August 16, 2008.

Below is the full dmesg output, just in case it's pertinent.

Thanks much!

Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-STABLE #0: Sat Aug 16 09:06:23 EDT 2008
    root at pflog.net:/usr/jails/folsom/usr/obj/usr/src/sys/PFLOG
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz (3204.03-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x6fb  Stepping = 11
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
  Cores per package: 4
usable memory = 4286234624 (4087 MB)
avail memory  = 4124958720 (3933 MB)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP): APIC ID:  3
ioapic0 <Version 2.0> irqs 0-23 on motherboard
netsmb_dev: loaded
acpi0: <A_M_I_ OEMXSDT> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, cff00000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> mem
0xfd000000-0xfdffffff,0xd0000000-0xdfffffff,0xfc000000-0xfcffffff irq
16 at device 0.0 on pci1
uhci0: <UHCI (generic) USB controller> port 0xb800-0xb81f irq 16 at
device 26.0 on pci0
uhci0: [ITHREAD]
usb0: <UHCI (generic) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <UHCI (generic) USB controller> port 0xb880-0xb89f irq 21 at
device 26.1 on pci0
uhci1: [ITHREAD]
usb1: <UHCI (generic) USB controller> on uhci1
usb1: USB revision 1.0
uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: <UHCI (generic) USB controller> port 0xbc00-0xbc1f irq 18 at
device 26.2 on pci0
uhci2: [ITHREAD]
usb2: <UHCI (generic) USB controller> on uhci2
usb2: USB revision 1.0
uhub2: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfbfffc00-0xfbffffff
irq 18 at device 26.7 on pci0
ehci0: [ITHREAD]
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: <EHCI (generic) USB 2.0 controller> on ehci0
usb3: USB revision 2.0
uhub3: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb3
uhub3: 6 ports with 6 removable, self powered
pcib2: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci4: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 17 at device 28.4 on pci0
pci3: <ACPI PCI bus> on pcib3
atapci0: <JMicron JMB363 SATA300 controller> port
mem 0xfeafe000-0xfeafffff irq 16 at device 0.0 on pci3
atapci0: [ITHREAD]
atapci0: AHCI called from vendor specific driver
atapci0: AHCI Version 01.00 controller with 2 ports detected
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
ata4: <ATA channel 2> on atapci0
ata4: [ITHREAD]
pcib4: <ACPI PCI-PCI bridge> irq 16 at device 28.5 on pci0
pci2: <ACPI PCI bus> on pcib4
mskc0: <Marvell Yukon 88E8056 Gigabit Ethernet> port 0xc800-0xc8ff mem
0xfe9fc000-0xfe9fffff irq 17 at device 0.0 on pci2
msk0: <Marvell Technology Group Ltd. Yukon EC Ultra Id 0xb4 Rev 0x03> on mskc0
msk0: Ethernet address: 00:1d:60:bc:cc:39
miibus0: <MII bus> on msk0
e1000phy0: <Marvell 88E1149 Gigabit PHY> PHY 0 on miibus0
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
mskc0: [FILTER]
uhci3: <UHCI (generic) USB controller> port 0xb080-0xb09f irq 23 at
device 29.0 on pci0
uhci3: [ITHREAD]
usb4: <UHCI (generic) USB controller> on uhci3
usb4: USB revision 1.0
uhub4: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb4
uhub4: 2 ports with 2 removable, self powered
uhci4: <UHCI (generic) USB controller> port 0xb400-0xb41f irq 19 at
device 29.1 on pci0
uhci4: [ITHREAD]
usb5: <UHCI (generic) USB controller> on uhci4
usb5: USB revision 1.0
uhub5: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb5
uhub5: 2 ports with 2 removable, self powered
uhci5: <UHCI (generic) USB controller> port 0xb480-0xb49f irq 18 at
device 29.2 on pci0
uhci5: [ITHREAD]
usb6: <UHCI (generic) USB controller> on uhci5
usb6: USB revision 1.0
uhub6: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb6
uhub6: 2 ports with 2 removable, self powered
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xfbfff800-0xfbfffbff
irq 23 at device 29.7 on pci0
ehci1: [ITHREAD]
usb7: EHCI version 1.0
usb7: companion controllers, 2 ports each: usb4 usb5 usb6
usb7: <EHCI (generic) USB 2.0 controller> on ehci1
usb7: USB revision 2.0
uhub7: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb7
uhub7: 6 ports with 6 removable, self powered
pcib5: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci5: <ACPI PCI bus> on pcib5
em0: <Intel(R) PRO/1000 Network Connection 6.9.5> port 0xec00-0xec3f
mem 0xfebe0000-0xfebfffff,0xfebc0000-0xfebdffff irq 17 at device 1.0
on pci5
em0: [FILTER]
em0: Ethernet address: 00:0e:0c:6c:b9:16
fwohci0: <Lucent FW322/323> mem 0xfeb9f000-0xfeb9ffff irq 19 at device
3.0 on pci5
fwohci0: [FILTER]
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 00:11:d8:00:01:87:6f:c6
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci1: <Intel AHCI controller> port
mem 0xfbffe800-0xfbffefff irq 22 at device 31.2 on pci0
atapci1: [ITHREAD]
atapci1: AHCI Version 01.20 controller with 6 ports detected
ata5: <ATA channel 0> on atapci1
ata5: [ITHREAD]
ata6: <ATA channel 1> on atapci1
ata6: [ITHREAD]
ata7: <ATA channel 2> on atapci1
ata7: [ITHREAD]
ata8: <ATA channel 3> on atapci1
ata8: [ITHREAD]
ata9: <ATA channel 4> on atapci1
ata9: [ITHREAD]
ata10: <ATA channel 5> on atapci1
ata10: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 900
cpu0: <ACPI CPU> on acpi0
ACPI Warning (tbutils-0243): Incorrect checksum in table [OEMB] -  8C,
should be 84 [20070320]
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
cpu1: <ACPI CPU> on acpi0
coretemp1: <CPU On-Die Thermal Sensors> on cpu1
cpu2: <ACPI CPU> on acpi0
coretemp2: <CPU On-Die Thermal Sensors> on cpu2
cpu3: <ACPI CPU> on acpi0
coretemp3: <CPU On-Die Thermal Sensors> on cpu3
acpi_button0: <Power Button> on acpi0
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq
2 on acpi0
fdc0: [FILTER]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
orm0: <ISA Option ROMs> at iomem 0xcf000-0xcffff,0xd0000-0xd2fff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ugen0: <APC Back-UPS ES 550 FW:840.B2.D USB FW:B2, class 0/0, rev
1.10/1.06, addr 2> on uhub5
ums0: <Microsoft Microsoft 5-Button Mouse with IntelliEye(TM), class
0/0, rev 1.10/3.00, addr 2> on uhub6
ums0: 5 buttons and Z dir.
Timecounters tick every 1.000 msec
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
ad10: 476940MB <WDC WD5000AAKS-07TMA0 12.01C01> at ata5-master SATA300
ad12: 476940MB <WDC WD5000AAKS-00YGA0 12.01C02> at ata6-master SATA300
ad14: 381553MB <Seagate ST3400633AS 3.AAH> at ata7-master SATA150
acd0: DVDR <TSSTcorp CDDVDW SH-S203B/SB02> at ata9-master SATA150
ad20: 381554MB <WDC WD4000AAKS-00A7B0 01.03B01> at ata10-master SATA300
GEOM_MIRROR: Device mirror/gm0 launched (2/2).
GEOM_LABEL: Label for provider ad12s1 is label/video.
GEOM_LABEL: Label for provider ad10s1a is label/slash.
GEOM_LABEL: Label for provider ad10s1b is label/swap.
GEOM_LABEL: Label for provider ad10s1d is label/tmp.
GEOM_LABEL: Label for provider ad10s1e is label/var.
GEOM_LABEL: Label for provider mirror/gm0s1 is label/backup.
acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00
SMP: AP CPU #1 Launched!
SMP: AP CPU #3 Launched!
SMP: AP CPU #2 Launched!
cd0 at ata7 bus 0 target 0 lun 0
cd0: <TSSTcorp CDDVDW SH-S203B SB02> Removable CD-ROM SCSI-0 device
cd0: 3.300MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not
present - tray closed
Trying to mount root from ufs:/dev/label/slash
: L
el label/backup removed.
GEOM_LABEL: Label for provider mirror/gm0s1 is label/backup.
WARNING: TMPFS is considered to be a highly experimental feature in FreeBSD.
GEOM_LABEL: Label label/backup removed.
em0: link state changed to UP

More information about the freebsd-stable mailing list