Bug 411171

Summary: libata and ahci.ko don't find SATA disks (NVidia chipset)
Product: [Fedora] Fedora Reporter: Frédéric COIFFIER <frederic.coiffier>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 8   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-24 21:51:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Frédéric COIFFIER 2007-12-04 21:56:49 UTC
Description of problem:

On a Acer7220 laptop with MCP67 SATA controller, libata.ko and ahci.ko don't 
find SATA disks : only SATA bus are scanned and found, but no disk seems to be 
found.

Loading ahci.ko
ahci 0000:00:09.0: version 2.3
ACPI: PCI Interrupt Link [LSI0] enabled at IRQ 23
ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LSI0] -> GSI 23 (level, low) -> 
IRQ 16
input: ImPS/2 Generic Wheel Mouse as /class/input/input2
ahci 0000:00:09.0: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0xf impl IDE mode
ahci 0000:00:09.0: flags: 64bit sntf led clo pmp pio slum part
PCI: Setting latency timer of device 0000:00:09.0 to 64
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
ata1: SATA max UDMA/133 cmd 0xf8854100 ctl 0x00000000 bmdma 0x00000000 irq 221
ata2: SATA max UDMA/133 cmd 0xf8854180 ctl 0x00000000 bmdma 0x00000000 irq 221
ata3: SATA max UDMA/133 cmd 0xf8854200 ctl 0x00000000 bmdma 0x00000000 irq 221
ata4: SATA max UDMA/133 cmd 0xf8854280 ctl 0x00000000 bmdma 0x00000000 irq 221
ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata2: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
Waiting for driver initialization

But, if a LiveCD is used to boot or if a LiveCD was used before an hot reboot 
(without a power off), disks are correctly found :

Loading ahci.ko
ahci 0000:00:09.0: version 2.3
ACPI: PCI Interrupt Link [LSI0] enabled at IRQ 23
ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LSI0] -> GSI 23 (level, low) -> 
IRQ 16
input: ImPS/2 Generic Wheel Mouse as /class/input/input2
ahci 0000:00:09.0: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0xf impl IDE mode
ahci 0000:00:09.0: flags: 64bit sntf led clo pmp pio slum part
PCI: Setting latency timer of device 0000:00:09.0 to 64
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
ata1: SATA max UDMA/133 cmd 0xf8854100 ctl 0x00000000 bmdma 0x00000000 irq 221
ata2: SATA max UDMA/133 cmd 0xf8854180 ctl 0x00000000 bmdma 0x00000000 irq 221
ata3: SATA max UDMA/133 cmd 0xf8854200 ctl 0x00000000 bmdma 0x00000000 irq 221
ata4: SATA max UDMA/133 cmd 0xf8854280 ctl 0x00000000 bmdma 0x00000000 irq 221
ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata1.00: ATA-7: Hitachi HTS541612J9SA00, SBDOC70P, max UDMA/100
ata1.00: 234441648 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata1.00: configured for UDMA/100
ata2: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
scsi 0:0:0:0: Direct-Access     ATA      Hitachi HTS54161 SBDO PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 234441648 512-byte hardware sectors (120034 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support 
DPO or FUA
sd 0:0:0:0: [sda] 234441648 512-byte hardware sectors (120034 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support 
DPO or FUA
 sda: sda1 sda2 sda3 < sda5 sda6 sda7 > sda4
sd 0:0:0:0: [sda] Attached SCSI disk

Even if only grub is called on the LiveCD, it works :
 - BIOS -> CD Grub -> HD Grub -> Linux : it works
 - BIOS -> HD Gruv -> Linux : it doesn't work

It seems boot devices order in BIOS modify the behaviour. If the 1st device is 
the HD instead of CD :
 - BIOS -> CD Grub -> HD Grub -> Linux : it fails

Maybe, an initialization is done by the BIOS when a CD is loaded.

The problem was reproduced with Mandriva 2008.0 but there is no problem with 
OpenSUSE 10.3. But, in anyway, ther is no problem with bootable CD.

lspci :

00:00.0 RAM memory [0500]: nVidia Corporation Unknown device [10de:0547] (rev 
a2)
00:01.0 ISA bridge [0601]: nVidia Corporation Unknown device [10de:0548] (rev 
a2)
00:01.1 SMBus [0c05]: nVidia Corporation Unknown device [10de:0542] (rev a2)
00:01.2 RAM memory [0500]: nVidia Corporation Unknown device [10de:0541] (rev 
a2)
00:01.3 Co-processor [0b40]: nVidia Corporation Unknown device [10de:0543] 
(rev a2)
00:02.0 USB Controller [0c03]: nVidia Corporation Unknown device [10de:055e] 
(rev a2)
00:02.1 USB Controller [0c03]: nVidia Corporation Unknown device [10de:055f] 
(rev a2)
00:04.0 USB Controller [0c03]: nVidia Corporation Unknown device [10de:055e] 
(rev a2)
00:04.1 USB Controller [0c03]: nVidia Corporation Unknown device [10de:055f] 
(rev a2)
00:06.0 IDE interface [0101]: nVidia Corporation Unknown device [10de:0560] 
(rev a1)
00:07.0 Audio device [0403]: nVidia Corporation MCP67 High Definition Audio 
[10de:055c] (rev a1)
00:08.0 PCI bridge [0604]: nVidia Corporation Unknown device [10de:0561] (rev 
a2)
00:09.0 IDE interface [0101]: nVidia Corporation Unknown device [10de:0550] 
(rev a2)
00:0a.0 Ethernet controller [0200]: nVidia Corporation Unknown device 
[10de:054c] (rev a2)
00:0c.0 PCI bridge [0604]: nVidia Corporation Unknown device [10de:0563] (rev 
a2)
00:0d.0 PCI bridge [0604]: nVidia Corporation Unknown device [10de:0563] (rev 
a2)
00:12.0 VGA compatible controller [0300]: nVidia Corporation Unknown device 
[10de:0533] (rev a2)
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] 
HyperTransport Technology Configuration [1022:1100]
00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] 
Address Map [1022:1101]
00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] 
DRAM Controller [1022:1102]
00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] 
Miscellaneous Control [1022:1103]
01:04.0 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 IEEE 1394 Controller 
[1180:0832] (rev 05)
01:04.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 
SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 22)
01:04.2 System peripheral [0880]: Ricoh Co Ltd Unknown device [1180:0843] (rev 
12)
01:04.3 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host 
Adapter [1180:0592] (rev 12)
01:04.4 System peripheral [0880]: Ricoh Co Ltd xD-Picture Card Controller 
[1180:0852] (rev 12)
05:00.0 Ethernet controller [0200]: Atheros Communications, Inc. AR5006EG 
802.11 b/g Wireless PCI Express Adapter [168c:001c] (rev 01)

Version-Release number of selected component (if applicable):

Tested with linux-2.6.23.1-42.fc8, linux-2.6.23.1-49.fc8 & 
linux-2.6.23.1-49.fc8

How reproducible:

I have only tested this laptop Acer 7220, so I don't know if the problem is 
linked to this PC or linked to the chipset.

Steps to Reproduce:

1. Poweroff the laptop
2. Restart it
3. Boot fails as no root filesystem is found
  
Actual results:

I have tried many kernel options like 'all_generic_ide', 'noacpi'.
I have tried 'libata.ata_probe_timeout=100' but this option isn't recognized 
by the kernel.

Expected results:

Maybe this problem could be serious for any recent Acer laptop or recent 
NVidia chipset.

Comment 1 Chuck Ebbert 2007-12-04 22:05:36 UTC
Possibly needs a parameter added to the kernel command line:

  pci=nomsi


Comment 2 Frédéric COIFFIER 2007-12-05 18:06:37 UTC
No, I have tested but this option doesn't solve the problem.

Comment 3 Frédéric COIFFIER 2007-12-06 21:49:36 UTC
I can't reproduce the problem with 2.6.24-rc4.

Comment 4 Chuck Ebbert 2007-12-07 00:39:16 UTC
Possible fix taken from 2.6.24 in CVS, will be in kernels after -81

Comment 5 Chuck Ebbert 2008-02-06 20:04:27 UTC
Is this fixed in 2.6.23.14-115?

Comment 6 Frédéric COIFFIER 2008-02-24 19:57:22 UTC
No reproduced with 2.6.23.15-137 (not tested with 2.6.23.14-115).

I think this bug report can be closed.

Comment 7 Dave Jones 2008-02-24 21:51:44 UTC
Thanks for the update.