Josh Carroll
2008-Aug-18 16:13 UTC
ICH9 Controller on Asus P5K-E showing up as "Intel AHCI controller"
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 as: atapci1: <Intel AHCI controller> port 0xac00-0xac07,0xa880-0xa883,0xa800-0xa807,0xa480-0xa483,0xa400-0xa41f mem 0xfbffe800-0xfbffefff irq 22 at device 31.2 on pci0 The chip ID (0x29228086) from pciconf: atapci1@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! Josh 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@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 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0xe3bd<SSE3,RSVD2,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> Cores per package: 4 usable memory = 4286234624 (4087 MB) avail memory = 4124958720 (3933 MB) ACPI APIC Table: <A_M_I_ OEMAPIC > 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: [GIANT-LOCKED] 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: [GIANT-LOCKED] 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: [GIANT-LOCKED] 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: [GIANT-LOCKED] 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 0xdc00-0xdc07,0xd880-0xd883,0xd800-0xd807,0xd480-0xd483,0xd400-0xd40f 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: [GIANT-LOCKED] 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: [GIANT-LOCKED] 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: [GIANT-LOCKED] 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: [GIANT-LOCKED] 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 0xac00-0xac07,0xa880-0xa883,0xa800-0xa807,0xa480-0xa483,0xa400-0xa41f 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 GEOM_LABE <118L>/dev/label/var: FILE SYSTEM CLEAN; SKIPPING CHECKS : 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
Jeremy Chadwick
2008-Aug-18 16:16 UTC
ICH9 Controller on Asus P5K-E showing up as "Intel AHCI controller"
On Mon, Aug 18, 2008 at 11:47:25AM -0400, Josh Carroll wrote:> 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 > as: > > atapci1: <Intel AHCI controller> port > 0xac00-0xac07,0xa880-0xa883,0xa800-0xa807,0xa480-0xa483,0xa400-0xa41f > mem 0xfbffe800-0xfbffefff irq 22 at device 31.2 on pci0Because your motherboard allows for the enabling of AHCI on the ICH9. This is often a BIOS feature you can turn on/off.> 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.I don't believe it's a bug. FreeBSD has a form of "generic AHCI" support, where for systems which indicate AHCI is available but has no direct AHCI chipset driver, will fall back to using a generic AHCI implementation that should work with most all AHCI implementations. I would say what you're seeing is good. AHCI == good. -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |
Andrey V. Elsukov
2008-Aug-19 04:01 UTC
ICH9 Controller on Asus P5K-E showing up as "Intel AHCI controller"
Josh Carroll wrote:> atapci1: <Intel AHCI controller> port > 0xac00-0xac07,0xa880-0xa883,0xa800-0xa807,0xa480-0xa483,0xa400-0xa41f > mem 0xfbffe800-0xfbffefff irq 22 at device 31.2 on pci0 > > The chip ID (0x29228086) from pciconf: > > atapci1@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 storageAs Jeremy said it is ok. In pciconf output you can see "class=0x010601". Your ICH9 controller has PCI subclass 0x06 (SATA) and PCI programming interface 0x01 (AHCI). Driver identified it as AHCI-compatible and used AHCI facilities. Some of PCI ids in ata_intel_ident can be removed today (generic AHCI support will be used for controllers which are identified as AHCI). Some controllers don't identified as AHCI, but can work as AHCI. And they will be handled by ata_xxx_ident. -- WBR, Andrey V. Elsukov