Re: Disk not detected on ATI IXP600 SATA300 controller

From: Coleman Kane <cokane_at_FreeBSD.org>
Date: Wed, 14 May 2008 17:49:15 -0400
On Tue, 2008-05-13 at 13:47 +0200, Thomas Nyström wrote:
> Anyone else seen this?
> 
> Machine is HP Compaq 6715s and I'm running current (from yesterday).
> During startup the internal SATA-disk is not detected. I have tried
> both GENERIC and customized kernel with same bad result.
> Everything works fine on 7.0R and 6.3R.
> 
> If I modify ata-chipset.c:ata_ati_ident() and removes the lines
> that matches the ATA_ATI_IXP600_S1 type chip everything is working
> when the ata-system uses the default/fallback driver for ATI.
> 
> dmesg and pciconf -lv attached (from the working system).
> 
> The releveant message from a failing system are (hand typed off the
> screen, no serial port available):
> 
> atapci0: <ATI IXP600 SATA300 controller> port 0x9000-0x9007,0x9007-0x900b,0x9010-0x9017,
> 0x5018-0x501b,0x5020-0x502f mem 0xd0409000-0xd04093ff irq 16 at device 18.0 on pci0
> atapci0: [THREAD]
> atapci0: AHCI Version 230.07 controller with 4 ports PM not supported
> ata2: <ATA channel 0> on atapci0
> ata2: port not implemented
> ata2: [ITHREAD]
> ata3: <ATA channel 1> on atapci0
> ata3: port not implemented
> ata3: [ITHREAD]
> ata4: <ATA channel 2> on atapci0
> ata4: port not implemented
> ata4: [ITHREAD]
> ata5: <ATA channel 3> on atapci0
> ata5: port not implemented
> ata5: [ITHREAD]
> 
> What more info is needed?
> 
> /Thomas
> 

Thomas,

I've fixed this, as I have the same notebook. It has also been confirmed
by a few others. The problem is the fix is kind of ugly, and isn't
something that is import-worthy into the kernel, as it requires a patch
to change the memory-mapped I/O regions of the audio chipset during PCI
device initialization.

The bug in this laptop is that the person who wrote the BIOS table was
kind enough to place the MMIO region for the AHCI interface on the SATA
controller right smack in the middle of the range reserved for the HDA
Audio controller. The result of this is that you cannot use the HDA
Audio at all and you can't use the AHCI interface of the SATA controller
(until you apply my fix).

Here's my page on the subject, including a link to some 7.0-STABLE ISOs
that you can download with my patch already applied:
http://www.cokane.org/dokuwiki/freebsd/amd64_compatibility#getting_the_hp_compaq_6715b_working

You can also apply the patch to your own source tree that I have here:
http://www.cokane.org/dokuwiki/freebsd/amd64_compatibility#the_onboard_ati_sb600_hda_audio_controller

You *won't* need to deal with any of the ATA-related stuff in that
document, as that particular code was actually imported some time
earlier.

You'll need to perform the following at the loader prompt before you
boot the hardware (from my analysis of your dmesg below):
set hw.pci.hp6715b_membase_for_hd_audio="0xd0414000"

After you get the system installed, you can put this
into /boot/loader.conf.

Could you send me the output of "devinfo -uv" ?

Additionally, you'll find a Win64 driver for the Broadcom Wifi card that
works really well with the draft-n card on the laptop.

Hope that helps.

-- 
Coleman Kane

> plain text document attachment (pciconf-lv.txt)
> hostb0_at_pci0:0:0:0:	class=0x060000 card=0x30c2103c chip=0x79101002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     class      = bridge
>     subclass   = HOST-PCI
> pcib1_at_pci0:0:1:0:	class=0x060400 card=0x30c2103c chip=0x79121002 rev=0x00 hdr=0x01
>     vendor     = 'ATI Technologies Inc'
>     class      = bridge
>     subclass   = PCI-PCI
> pcib2_at_pci0:0:4:0:	class=0x060400 card=0x30c2103c chip=0x79141002 rev=0x00 hdr=0x01
>     vendor     = 'ATI Technologies Inc'
>     class      = bridge
>     subclass   = PCI-PCI
> pcib3_at_pci0:0:5:0:	class=0x060400 card=0x30c2103c chip=0x79151002 rev=0x00 hdr=0x01
>     vendor     = 'ATI Technologies Inc'
>     class      = bridge
>     subclass   = PCI-PCI
> pcib4_at_pci0:0:6:0:	class=0x060400 card=0x30c2103c chip=0x79161002 rev=0x00 hdr=0x01
>     vendor     = 'ATI Technologies Inc'
>     class      = bridge
>     subclass   = PCI-PCI
> atapci0_at_pci0:0:18:0:	class=0x01018f card=0x43801002 chip=0x43801002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 Serial ATA Controller'
>     class      = mass storage
>     subclass   = ATA
> ohci0_at_pci0:0:19:0:	class=0x0c0310 card=0x30c2103c chip=0x43871002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 USB Controller (OHCI0)'
>     class      = serial bus
>     subclass   = USB
> ohci1_at_pci0:0:19:1:	class=0x0c0310 card=0x30c2103c chip=0x43881002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 USB Controller (OHCI1)'
>     class      = serial bus
>     subclass   = USB
> ohci2_at_pci0:0:19:2:	class=0x0c0310 card=0x30c2103c chip=0x43891002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 USB Controller (OHCI2)'
>     class      = serial bus
>     subclass   = USB
> ohci3_at_pci0:0:19:3:	class=0x0c0310 card=0x30c2103c chip=0x438a1002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 USB Controller (OHCI3)'
>     class      = serial bus
>     subclass   = USB
> ohci4_at_pci0:0:19:4:	class=0x0c0310 card=0x30c2103c chip=0x438b1002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 USB Controller (OHCI4)'
>     class      = serial bus
>     subclass   = USB
> ehci0_at_pci0:0:19:5:	class=0x0c0320 card=0x30c2103c chip=0x43861002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 USB Controller (EHCI)'
>     class      = serial bus
>     subclass   = USB
> none0_at_pci0:0:20:0:	class=0x0c0500 card=0x30c2103c chip=0x43851002 rev=0x14 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 SMBUS Controller'
>     class      = serial bus
>     subclass   = SMBus
> atapci1_at_pci0:0:20:1:	class=0x010182 card=0x30c2103c chip=0x438c1002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 ATA Controller'
>     class      = mass storage
>     subclass   = ATA
> none1_at_pci0:0:20:2:	class=0x040300 card=0x30c2103c chip=0x43831002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 High Definition Audio Controller'
>     class      = multimedia
> isab0_at_pci0:0:20:3:	class=0x060100 card=0x30c2103c chip=0x438d1002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 PCI to LPC Bridge'
>     class      = bridge
>     subclass   = PCI-ISA
> pcib5_at_pci0:0:20:4:	class=0x060401 card=0x00000000 chip=0x43841002 rev=0x00 hdr=0x01
>     vendor     = 'ATI Technologies Inc'
>     device     = 'IXP SB600 PCI to PCI Bridge'
>     class      = bridge
>     subclass   = PCI-PCI
> hostb1_at_pci0:0:24:0:	class=0x060000 card=0x00000000 chip=0x11001022 rev=0x00 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = '(K8) Athlon 64/Opteron HyperTransport Technology Configuration'
>     class      = bridge
>     subclass   = HOST-PCI
> hostb2_at_pci0:0:24:1:	class=0x060000 card=0x00000000 chip=0x11011022 rev=0x00 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = '(K8) Athlon 64/Opteron Address Map'
>     class      = bridge
>     subclass   = HOST-PCI
> hostb3_at_pci0:0:24:2:	class=0x060000 card=0x00000000 chip=0x11021022 rev=0x00 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = '(K8) Athlon 64/Opteron DRAM Controller'
>     class      = bridge
>     subclass   = HOST-PCI
> hostb4_at_pci0:0:24:3:	class=0x060000 card=0x00000000 chip=0x11031022 rev=0x00 hdr=0x00
>     vendor     = 'Advanced Micro Devices (AMD)'
>     device     = '(K8) Athlon 64/Opteron Miscellaneous Control'
>     class      = bridge
>     subclass   = HOST-PCI
> vgapci0_at_pci0:1:5:0:	class=0x030000 card=0x30c2103c chip=0x791f1002 rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc'
>     device     = 'RS690 ATI Mobility Radeon x1250'
>     class      = display
>     subclass   = VGA
> bge0_at_pci0:16:0:0:	class=0x020000 card=0x30c2103c chip=0x171314e4 rev=0x02 hdr=0x00
>     vendor     = 'Broadcom Corporation'
>     device     = 'NetLink BCM5906M Fast Ethernet PCIe'
>     class      = network
>     subclass   = ethernet
> none2_at_pci0:48:0:0:	class=0x028000 card=0x1371103c chip=0x431214e4 rev=0x02 hdr=0x00
>     vendor     = 'Broadcom Corporation'
>     device     = 'BCM4310 broadcom wireless 1490 (dell)'
>     class      = network
> cbb0_at_pci0:2:4:0:	class=0x060700 card=0x30c2103c chip=0x04761180 rev=0xb6 hdr=0x02
>     vendor     = 'Ricoh Company, Ltd.'
>     device     = 'unknown Ricoh R/RL/5C476(II)'
>     class      = bridge
>     subclass   = PCI-CardBus
> plain text document attachment (dmesg.boot.txt)
> 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 8.0-CURRENT #5: Tue May 13 12:56:24 UTC 2008
>     root_at_bongo.saeab.se:/usr/obj/usr/src/sys/BONGO
> WARNING: WITNESS option enabled, expect reduced performance.
> Timecounter "i8254" frequency 1193182 Hz quality 0
> CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-60 (1995.01-MHz 686-class CPU)
>   Origin = "AuthenticAMD"  Id = 0x60f82  Stepping = 2
>   Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
>   Features2=0x2001<SSE3,CX16>
>   AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
>   AMD Features2=0x11f<LAHF,CMP,SVM,ExtAPIC,CR8,Prefetch>
>   Cores per package: 2
> real memory  = 2012938240 (1919 MB)
> avail memory = 1966006272 (1874 MB)
> ACPI APIC Table: <HP     0944    >
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
>  cpu0 (BSP): APIC ID:  0
>  cpu1 (AP): APIC ID:  1
> ACPI Error (tbfadt-0516): 32/64X address mismatch in "Pm2ControlBlock": [    8800] [       0    8100], using 64X [20070320]
> ioapic0: Changing APIC ID to 2
> ioapic0 <Version 2.1> irqs 0-23 on motherboard
> kbd1 at kbdmux0
> acpi0: <HPQOEM SLIC-MPC> on motherboard
> acpi0: [ITHREAD]
> acpi0: Power Button (fixed)
> unknown: I/O range not supported
> acpi0: reservation of 0, 8000000 (3) failed
> acpi0: reservation of 100000, fff00000 (3) failed
> Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
> acpi_timer0: <32-bit timer at 3.579545MHz> port 0x8008-0x800b on acpi0
> acpi_ec0: <Embedded Controller: GPE 0x11> port 0x62,0x66 on acpi0
> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
> pci0: <ACPI PCI bus> on pcib0
> pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
> pci1: <ACPI PCI bus> on pcib1
> vgapci0: <VGA-compatible display> port 0x4000-0x40ff mem 0xc0000000-0xc7ffffff,0xd0200000-0xd020ffff,0xd0300000-0xd03fffff irq 19 at device 5.0 on pci1
> pcib2: <ACPI PCI-PCI bridge> at device 4.0 on pci0
> pci16: <ACPI PCI bus> on pcib2
> bge0: <Broadcom BCM5906 A2, ASIC rev. 0xc002> mem 0xd0000000-0xd000ffff irq 16 at device 0.0 on pci16
> miibus0: <MII bus> on bge0
> brgphy0: <BCM5906 10/100baseTX PHY> PHY 1 on miibus0
> brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> bge0: Ethernet address: 00:1a:4b:83:26:75
> bge0: [ITHREAD]
> pcib3: <ACPI PCI-PCI bridge> at device 5.0 on pci0
> pci32: <ACPI PCI bus> on pcib3
> pcib4: <ACPI PCI-PCI bridge> at device 6.0 on pci0
> pci48: <ACPI PCI bus> on pcib4
> pci48: <network> at device 0.0 (no driver attached)
> atapci0: <ATI ATA controller> port 0x9000-0x9007,0x9008-0x900b,0x9010-0x9017,0x5018-0x501b,0x5020-0x502f mem 0xd0409000-0xd04093ff irq 16 at device 18.0 on pci0
> atapci0: [ITHREAD]
> ata2: <ATA channel 0> on atapci0
> ata2: [ITHREAD]
> ata3: <ATA channel 1> on atapci0
> ata3: [ITHREAD]
> ohci0: <OHCI (generic) USB controller> mem 0xd0401000-0xd0401fff irq 23 at device 19.0 on pci0
> ohci0: [GIANT-LOCKED]
> ohci0: [ITHREAD]
> usb0: OHCI version 1.0, legacy support
> usb0: <OHCI (generic) USB controller> on ohci0
> usb0: USB revision 1.0
> uhub0: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
> uhub0: 2 ports with 2 removable, self powered
> ohci1: <OHCI (generic) USB controller> mem 0xd0402000-0xd0402fff irq 17 at device 19.1 on pci0
> ohci1: [GIANT-LOCKED]
> ohci1: [ITHREAD]
> usb1: OHCI version 1.0, legacy support
> usb1: <OHCI (generic) USB controller> on ohci1
> usb1: USB revision 1.0
> uhub1: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
> uhub1: 2 ports with 2 removable, self powered
> ohci2: <OHCI (generic) USB controller> mem 0xd0403000-0xd0403fff irq 17 at device 19.2 on pci0
> ohci2: [GIANT-LOCKED]
> ohci2: [ITHREAD]
> usb2: OHCI version 1.0, legacy support
> usb2: <OHCI (generic) USB controller> on ohci2
> usb2: USB revision 1.0
> uhub2: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
> uhub2: 2 ports with 2 removable, self powered
> ohci3: <OHCI (generic) USB controller> mem 0xd0404000-0xd0404fff irq 17 at device 19.3 on pci0
> ohci3: [GIANT-LOCKED]
> ohci3: [ITHREAD]
> usb3: OHCI version 1.0, legacy support
> usb3: <OHCI (generic) USB controller> on ohci3
> usb3: USB revision 1.0
> uhub3: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
> uhub3: 2 ports with 2 removable, self powered
> ohci4: <OHCI (generic) USB controller> mem 0xd0405000-0xd0405fff irq 17 at device 19.4 on pci0
> ohci4: [GIANT-LOCKED]
> ohci4: [ITHREAD]
> usb4: OHCI version 1.0, legacy support
> usb4: <OHCI (generic) USB controller> on ohci4
> usb4: USB revision 1.0
> uhub4: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb4
> uhub4: 2 ports with 2 removable, self powered
> ehci0: <EHCI (generic) USB 2.0 controller> mem 0xd0406000-0xd04060ff irq 23 at device 19.5 on pci0
> ehci0: [GIANT-LOCKED]
> ehci0: [ITHREAD]
> usb5: EHCI version 1.0
> usb5: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4
> usb5: <EHCI (generic) USB 2.0 controller> on ehci0
> usb5: USB revision 2.0
> uhub5: <ATI EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb5
> uhub5: 10 ports with 10 removable, self powered
> pci0: <serial bus, SMBus> at device 20.0 (no driver attached)
> atapci1: <ATI ATA controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x5040-0x504f irq 16 at device 20.1 on pci0
> ata0: <ATA channel 0> on atapci1
> ata0: [ITHREAD]
> ata1: <ATA channel 1> on atapci1
> ata1: [ITHREAD]
> pci0: <multimedia> at device 20.2 (no driver attached)
> isab0: <PCI-ISA bridge> at device 20.3 on pci0
> isa0: <ISA bus> on isab0
> pcib5: <ACPI PCI-PCI bridge> at device 20.4 on pci0
> pci2: <ACPI PCI bus> on pcib5
> cbb0: <RF5C476 PCI-CardBus Bridge> mem 0xd0100000-0xd0100fff irq 20 at device 4.0 on pci2
> cardbus0: <CardBus bus> on cbb0
> pccard0: <16-bit PCCard bus> on cbb0
> cbb0: [ITHREAD]
> cpu0: <ACPI CPU> on acpi0
> powernow0: <PowerNow! K8> on cpu0
> acpi_throttle0: <ACPI CPU Throttling> on cpu0
> cpu1: <ACPI CPU> on acpi0
> powernow1: <PowerNow! K8> on cpu1
> acpi_throttle1: <ACPI CPU Throttling> on cpu1
> acpi_throttle1: failed to attach P_CNT
> device_attach: acpi_throttle1 attach returned 6
> battery0: <ACPI Control Method Battery> on acpi0
> battery1: <ACPI Control Method Battery> on acpi0
> acpi_acad0: <AC Adapter> on acpi0
> acpi_button0: <Sleep Button> on acpi0
> acpi_lid0: <Control Method Lid Switch> on acpi0
> acpi_tz0: <Thermal Zone> on acpi0
> atrtc0: <AT realtime clock> port 0x70-0x71,0x72-0x73 irq 8 on acpi0
> 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]
> psm0: <PS/2 Mouse> irq 12 on atkbdc0
> psm0: [GIANT-LOCKED]
> psm0: [ITHREAD]
> psm0: model IntelliMouse, device ID 3
> pmtimer0 on isa0
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> sio0: configured irq 4 not in bitmap of probed irqs 0
> sio0: port may not be enabled
> sio0: configured irq 4 not in bitmap of probed irqs 0
> sio0: port may not be enabled
> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> sio0: type 8250 or not responding
> sio0: [FILTER]
> sio1: configured irq 3 not in bitmap of probed irqs 0
> sio1: port may not be enabled
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> ums0: <Logitech USB Mouse, class 0/0, rev 1.10/4.10, addr 2> on uhub1
> ums0: 3 buttons and Z dir.
> Timecounters tick every 1.000 msec
> acd0: DVDR <TSSTcorpCD/DVDW TS-L632M/0A17> at ata0-master PIO4
> ACPI Error (exmutex-0479): Cannot release Mutex [C174], not acquired [20070320]
> ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.C08B.C0FE.C172.C1D4] (Node 0xc4d7a0c0), AE_AML_MUTEX_NOT_ACQUIRED
> ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.C08B.C0FE.C172.C1D5] (Node 0xc4d7a0a0), AE_AML_MUTEX_NOT_ACQUIRED
> ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.C1EB._PSR] (Node 0xc4d7d940), AE_AML_MUTEX_NOT_ACQUIRED
> ad4: 152627MB <Seagate ST9160821AS 3.BHE> at ata2-master UDMA33
> SMP: AP CPU #1 Launched!
> WARNING: WITNESS option enabled, expect reduced performance.
> Trying to mount root from ufs:/dev/ad4s3a
-- 
Coleman Kane

Received on Wed May 14 2008 - 19:49:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:30 UTC