Re: Disk not detected on ATI IXP600 SATA300 controller



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@pci0:0:0:0: class=0x060000 card=0x30c2103c chip=0x79101002 rev=0x00 hdr=0x00
vendor = 'ATI Technologies Inc'
class = bridge
subclass = HOST-PCI
pcib1@pci0:0:1:0: class=0x060400 card=0x30c2103c chip=0x79121002 rev=0x00 hdr=0x01
vendor = 'ATI Technologies Inc'
class = bridge
subclass = PCI-PCI
pcib2@pci0:0:4:0: class=0x060400 card=0x30c2103c chip=0x79141002 rev=0x00 hdr=0x01
vendor = 'ATI Technologies Inc'
class = bridge
subclass = PCI-PCI
pcib3@pci0:0:5:0: class=0x060400 card=0x30c2103c chip=0x79151002 rev=0x00 hdr=0x01
vendor = 'ATI Technologies Inc'
class = bridge
subclass = PCI-PCI
pcib4@pci0:0:6:0: class=0x060400 card=0x30c2103c chip=0x79161002 rev=0x00 hdr=0x01
vendor = 'ATI Technologies Inc'
class = bridge
subclass = PCI-PCI
atapci0@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@xxxxxxxxxxxxxx:/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

Attachment: signature.asc
Description: This is a digitally signed message part