2007-05-21 06:57:31

by Jonathan Woithe

[permalink] [raw]
Subject: IDE/ATA: Intel i865-based mainboard, CDROM not detected

A collegue of mine has an Intel mainboard with the i865 chipset onboard
(DQ965). All kernels up to and including 2.6.22-rc2 do not detect the IDE
CDROM/DVDROM when booting. The SATA hard drive is found without any
problems.

Relevant parts from lspci:

00:1f.2 0101: 8086:2820 (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA
IDE Controller (rev 02) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19

00:1f.5 0101: 8086:2825 (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA
IDE Controller (rev 02) (prog-if 85 [Master SecO PriO])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19

What's interesting here is that 00:1f.2 and 00:1f.5 are both identified as
"n port SATA" controllers even though one of them (I suspect 00:1f.5) is a
PATA controller. This may just be a typo in lspci's database though.

Boot messages:

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
Probing IDE interface ide1...
:
ata_piix 0000:00:1f.2: version 2.11
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 19 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1f.2 to 64
scsi0 : ata_piix
scsi1 : ata_piix
ata1: SATA max UDMA/133 cmd 0x00012138 ctl 0x00012156 bmdma 0x00012110 irq 0
ata2: SATA max UDMA/133 cmd 0x00012130 ctl 0x00012152 bmdma 0x00012118 irq 0
ata1.00: ata_hpa_resize 1: sectors = 488397168, hpa_sectors = 488397168
ata1.00: ATA-7: WDC WD2500AAJS-00RYA0, 12.01B01, max UDMA/133
ata1.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata1.00: ata_hpa_resize 1: sectors = 488397168, hpa_sectors = 488397168
ata1.00: configured for UDMA/133
ATA: abnormal status 0x7F on port 0x00012137
scsi 0:0:0:0: Direct-Access ATA WDC WD2500AAJS-0 12.0 PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 488397168 512-byte hardware sectors (250059 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] 488397168 512-byte hardware sectors (250059 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
sd 0:0:0:0: [sda] Attached SCSI disk
ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]

Here the HDD is clearly detected while the CDROM/DVDROM (attached to ide0)
isn't.

libata is compiled into the kernel as is the non-libata PATA driver.
In the libata configuration, only SATA_AHCI, ATA_PIIX and ATA_GENERIC are
defined. For the non-libata side of things most options are selected
including BLK_DEV_IDE, BLK_DEV_IDECD, IDE_GENERIC, BLK_DEV_IDEPCI,
BLK_DEV_GENERIC, BLK_DEV_IDEDMA_PCI and BLK_DEV_PIIX.

Does anyone have any ideas as to why there is a problem detecting the PATA
(IDE) CDROM/DVDROM in this machine? Further information/testing can be
provided if requested.

Regards
jonathan
--
"Time is an illusion; lunchtime doubly so"


2007-05-21 07:12:33

by Robert Hancock

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Jonathan Woithe wrote:
> A collegue of mine has an Intel mainboard with the i865 chipset onboard
> (DQ965). All kernels up to and including 2.6.22-rc2 do not detect the IDE
> CDROM/DVDROM when booting. The SATA hard drive is found without any
> problems.
>
> Relevant parts from lspci:
>
> 00:1f.2 0101: 8086:2820 (rev 02)
> 00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA
> IDE Controller (rev 02) (prog-if 8f [Master SecP SecO PriP PriO])
> Subsystem: Intel Corporation Unknown device 514d
> Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
>
> 00:1f.5 0101: 8086:2825 (rev 02)
> 00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA
> IDE Controller (rev 02) (prog-if 85 [Master SecO PriO])
> Subsystem: Intel Corporation Unknown device 514d
> Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
>
> What's interesting here is that 00:1f.2 and 00:1f.5 are both identified as
> "n port SATA" controllers even though one of them (I suspect 00:1f.5) is a
> PATA controller. This may just be a typo in lspci's database though.
>
> Boot messages:
>
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> Probing IDE interface ide0...
> Probing IDE interface ide1...
> :
> ata_piix 0000:00:1f.2: version 2.11
> ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
> ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 19 (level, low) -> IRQ 19
> PCI: Setting latency timer of device 0000:00:1f.2 to 64
> scsi0 : ata_piix
> scsi1 : ata_piix
> ata1: SATA max UDMA/133 cmd 0x00012138 ctl 0x00012156 bmdma 0x00012110 irq 0
> ata2: SATA max UDMA/133 cmd 0x00012130 ctl 0x00012152 bmdma 0x00012118 irq 0
> ata1.00: ata_hpa_resize 1: sectors = 488397168, hpa_sectors = 488397168
> ata1.00: ATA-7: WDC WD2500AAJS-00RYA0, 12.01B01, max UDMA/133
> ata1.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 0/32)
> ata1.00: ata_hpa_resize 1: sectors = 488397168, hpa_sectors = 488397168
> ata1.00: configured for UDMA/133
> ATA: abnormal status 0x7F on port 0x00012137
> scsi 0:0:0:0: Direct-Access ATA WDC WD2500AAJS-0 12.0 PQ: 0 ANSI: 5
> sd 0:0:0:0: [sda] 488397168 512-byte hardware sectors (250059 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] 488397168 512-byte hardware sectors (250059 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
> sd 0:0:0:0: [sda] Attached SCSI disk
> ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]
>
> Here the HDD is clearly detected while the CDROM/DVDROM (attached to ide0)
> isn't.
>
> libata is compiled into the kernel as is the non-libata PATA driver.
> In the libata configuration, only SATA_AHCI, ATA_PIIX and ATA_GENERIC are
> defined. For the non-libata side of things most options are selected
> including BLK_DEV_IDE, BLK_DEV_IDECD, IDE_GENERIC, BLK_DEV_IDEPCI,
> BLK_DEV_GENERIC, BLK_DEV_IDEDMA_PCI and BLK_DEV_PIIX.
>
> Does anyone have any ideas as to why there is a problem detecting the PATA
> (IDE) CDROM/DVDROM in this machine? Further information/testing can be
> provided if requested.

A lot of newer Intel boards have the IDE interface provided by an
external JMicron, etc. chip so you may need to enable that driver for
things to work.

Also, it's unrelated to this problem, but you should check the BIOS
settings for the SATA controller - you really want to get the controller
into AHCI mode for best performance.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/

2007-05-21 07:41:26

by Jonathan Woithe

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

> Jonathan Woithe wrote:
> > A collegue of mine has an Intel mainboard with the i865 chipset onboard
> > (DQ965). All kernels up to and including 2.6.22-rc2 do not detect the IDE
> > CDROM/DVDROM when booting. The SATA hard drive is found without any
> > problems.
> >
> > Relevant parts from lspci:
> >
> > 00:1f.2 0101: 8086:2820 (rev 02)
> > 00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA
> > IDE Controller (rev 02) (prog-if 8f [Master SecP SecO PriP PriO])
> > Subsystem: Intel Corporation Unknown device 514d
> > Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
> >
> > 00:1f.5 0101: 8086:2825 (rev 02)
> > 00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA
> > IDE Controller (rev 02) (prog-if 85 [Master SecO PriO])
> > Subsystem: Intel Corporation Unknown device 514d
> > Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
> >
> > What's interesting here is that 00:1f.2 and 00:1f.5 are both identified as
> > "n port SATA" controllers even though one of them (I suspect 00:1f.5) is a
> > PATA controller. This may just be a typo in lspci's database though.
> >
> > Boot messages:
> >
> > ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> > Probing IDE interface ide0...
> > Probing IDE interface ide1...
> > :
> > ata_piix 0000:00:1f.2: version 2.11
> > ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
> > ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 19 (level, low) -> IRQ 19
> > PCI: Setting latency timer of device 0000:00:1f.2 to 64
> > scsi0 : ata_piix
> > scsi1 : ata_piix
> > ata1: SATA max UDMA/133 cmd 0x00012138 ctl 0x00012156 bmdma 0x00012110 irq 0
> > ata2: SATA max UDMA/133 cmd 0x00012130 ctl 0x00012152 bmdma 0x00012118 irq 0
> > ata1.00: ata_hpa_resize 1: sectors = 488397168, hpa_sectors = 488397168
> > ata1.00: ATA-7: WDC WD2500AAJS-00RYA0, 12.01B01, max UDMA/133
> > ata1.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 0/32)
> > ata1.00: ata_hpa_resize 1: sectors = 488397168, hpa_sectors = 488397168
> > ata1.00: configured for UDMA/133
> > ATA: abnormal status 0x7F on port 0x00012137
> > scsi 0:0:0:0: Direct-Access ATA WDC WD2500AAJS-0 12.0 PQ: 0 ANSI: 5
> > sd 0:0:0:0: [sda] 488397168 512-byte hardware sectors (250059 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] 488397168 512-byte hardware sectors (250059 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
> > sd 0:0:0:0: [sda] Attached SCSI disk
> > ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]
> >
> > Here the HDD is clearly detected while the CDROM/DVDROM (attached to ide0)
> > isn't.
> >
> > libata is compiled into the kernel as is the non-libata PATA driver.
> > In the libata configuration, only SATA_AHCI, ATA_PIIX and ATA_GENERIC are
> > defined. For the non-libata side of things most options are selected
> > including BLK_DEV_IDE, BLK_DEV_IDECD, IDE_GENERIC, BLK_DEV_IDEPCI,
> > BLK_DEV_GENERIC, BLK_DEV_IDEDMA_PCI and BLK_DEV_PIIX.
> >
> > Does anyone have any ideas as to why there is a problem detecting the PATA
> > (IDE) CDROM/DVDROM in this machine? Further information/testing can be
> > provided if requested.
>
> A lot of newer Intel boards have the IDE interface provided by an
> external JMicron, etc. chip so you may need to enable that driver for
> things to work.

I've just tried a quick test after enabling most of the PATA drivers under
the libata section including the Jmicron driver (basically everything except
those labelled "highly experimental"). As far as I can tell the
CDROM/DVDROM is still not detected even with all these built into the
kernel. Maybe I do need one of those "highly experimental" drivers.

> Also, it's unrelated to this problem, but you should check the BIOS
> settings for the SATA controller - you really want to get the controller
> into AHCI mode for best performance.

I've often wondered how the BIOS descriptions correlate with the modes the
controller ends up in. I've always gone for things like "enhanced" or
"SATA" or "native" (the exact string of course being dependent on the BIOS
writer's mood on the day). This seems to work out OK in practice. How
can you tell from the Linux boot messages that the controller is in AHCI
mode - is it as simple as looking for AHCI driver messages? In this case
the

scsi0 : ata_piix
scsi1 : ata_piix

indicate that things are suboptimal I assume.

Regards
jonathan
--
"Time is an illusion; lunchtime doubly so"

2007-05-21 07:58:34

by Robert Hancock

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Jonathan Woithe wrote:
> I've just tried a quick test after enabling most of the PATA drivers under
> the libata section including the Jmicron driver (basically everything except
> those labelled "highly experimental"). As far as I can tell the
> CDROM/DVDROM is still not detected even with all these built into the
> kernel. Maybe I do need one of those "highly experimental" drivers.

Can you post the entire lspci -v for this board?

>
>> Also, it's unrelated to this problem, but you should check the BIOS
>> settings for the SATA controller - you really want to get the controller
>> into AHCI mode for best performance.
>
> I've often wondered how the BIOS descriptions correlate with the modes the
> controller ends up in. I've always gone for things like "enhanced" or
> "SATA" or "native" (the exact string of course being dependent on the BIOS
> writer's mood on the day). This seems to work out OK in practice. How
> can you tell from the Linux boot messages that the controller is in AHCI
> mode - is it as simple as looking for AHCI driver messages? In this case
> the
>
> scsi0 : ata_piix
> scsi1 : ata_piix
>
> indicate that things are suboptimal I assume.

Right, you should see that showing up as ahci.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/


2007-05-21 13:36:30

by Alan

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

O> What's interesting here is that 00:1f.2 and 00:1f.5 are both identified as
> "n port SATA" controllers even though one of them (I suspect 00:1f.5) is a
> PATA controller. This may just be a typo in lspci's database though.


Later ICH is listed by the documentation I have as SATA only. I would
imagine there is a seperate Jmicron or Marvell PATA controller on the
system ?

2007-05-21 23:05:57

by Jonathan Woithe

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

> Jonathan Woithe wrote:
> > I've just tried a quick test after enabling most of the PATA drivers under
> > the libata section including the Jmicron driver (basically everything except
> > those labelled "highly experimental"). As far as I can tell the
> > CDROM/DVDROM is still not detected even with all these built into the
> > kernel. Maybe I do need one of those "highly experimental" drivers.
>
> Can you post the entire lspci -v for this board?

Sure. Here it is:

00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, fast devsel, latency 0
Capabilities: [e0] Vendor Specific Information

00:02.0 VGA compatible controller: Intel Corporation 82G965 Integrated Graphics Controller (rev 02) (prog-if 00 [VGA])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at 90200000 (32-bit, non-prefetchable) [size=1M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
I/O ports at 2140 [size=8]
Capabilities: [90] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
Capabilities: [d0] Power Management version 2

00:03.0 Communication controller: Intel Corporation 82P965/G965 HECI Controller (rev 02)
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at 90325900 (64-bit, non-prefetchable) [size=16]
Capabilities: [50] Power Management version 3
Capabilities: [8c] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-

00:19.0 Ethernet controller: Intel Corporation 82566DC Gigabit Network Connection (rev 02)
Subsystem: Intel Corporation Unknown device 0001
Flags: bus master, fast devsel, latency 0, IRQ 218
Memory at 90300000 (32-bit, non-prefetchable) [size=128K]
Memory at 90324000 (32-bit, non-prefetchable) [size=4K]
I/O ports at 20c0 [size=32]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable+

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 0, IRQ 17
I/O ports at 20a0 [size=32]

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #5 (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 0, IRQ 20
I/O ports at 2080 [size=32]

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2 (rev 02) (prog-if 20 [EHCI])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 0, IRQ 18
Memory at 90325400 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Capabilities: [58] Debug port

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
Subsystem: Intel Corporation Unknown device 2503
Flags: bus master, fast devsel, latency 0, IRQ 23
Memory at 90320000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Capabilities: [70] Express Unknown type IRQ 0

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: 90400000-904fffff
Capabilities: [40] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable+
Capabilities: [90] #0d [0000]
Capabilities: [a0] Power Management version 2

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 00001000-00001fff
Memory behind bridge: 90100000-901fffff
Capabilities: [40] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable+
Capabilities: [90] #0d [0000]
Capabilities: [a0] Power Management version 2

00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
Memory behind bridge: 90500000-905fffff
Capabilities: [40] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable+
Capabilities: [90] #0d [0000]
Capabilities: [a0] Power Management version 2

00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
Memory behind bridge: 90600000-906fffff
Capabilities: [40] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable+
Capabilities: [90] #0d [0000]
Capabilities: [a0] Power Management version 2

00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
Memory behind bridge: 90700000-907fffff
Capabilities: [40] Express Root Port (Slot+) IRQ 0
Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable+
Capabilities: [90] #0d [0000]
Capabilities: [a0] Power Management version 2

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #1 (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 0, IRQ 21
I/O ports at 2060 [size=32]

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #2 (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 0, IRQ 19
I/O ports at 2040 [size=32]

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #3 (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 0, IRQ 18
I/O ports at 2020 [size=32]

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1 (rev 02) (prog-if 20 [EHCI])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 0, IRQ 21
Memory at 90325000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Capabilities: [58] Debug port

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2) (prog-if 01 [Subtractive decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=06, subordinate=06, sec-latency=32
Memory behind bridge: 90000000-900fffff
Capabilities: [50] #0d [0000]

00:1f.0 ISA bridge: Intel Corporation 82801HH (ICH8DH) LPC Interface Controller (rev 02)
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 0
Capabilities: [e0] Vendor Specific Information

00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE Controller (rev 02) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
I/O ports at 2138 [size=8]
I/O ports at 2154 [size=4]
I/O ports at 2130 [size=8]
I/O ports at 2150 [size=4]
I/O ports at 2110 [size=16]
I/O ports at 2100 [size=16]
Capabilities: [70] Power Management version 3

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
Subsystem: Intel Corporation Unknown device 514d
Flags: medium devsel, IRQ 20
Memory at 90325800 (32-bit, non-prefetchable) [size=256]
I/O ports at 2000 [size=32]

00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE Controller (rev 02) (prog-if 85 [Master SecO PriO])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
I/O ports at 2128 [size=8]
I/O ports at 214c [size=4]
I/O ports at 2120 [size=8]
I/O ports at 2148 [size=4]
I/O ports at 20f0 [size=16]
I/O ports at 20e0 [size=16]
Capabilities: [70] Power Management version 3

02:00.0 IDE interface: Marvell Technology Group Ltd. Unknown device 6101 (rev b1) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Marvell Technology Group Ltd. Unknown device 6101
Flags: bus master, fast devsel, latency 0, IRQ 10
I/O ports at 1018 [size=8]
I/O ports at 1024 [size=4]
I/O ports at 1010 [size=8]
I/O ports at 1020 [size=4]
I/O ports at 1000 [size=16]
Memory at 90100000 (32-bit, non-prefetchable) [size=512]
Capabilities: [48] Power Management version 2
Capabilities: [50] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
Capabilities: [e0] Express Legacy Endpoint IRQ 0

06:03.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI])
Subsystem: Intel Corporation Unknown device 514d
Flags: bus master, medium devsel, latency 32, IRQ 19
Memory at 90004000 (32-bit, non-prefetchable) [size=2K]
Memory at 90000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2

> > How can you tell from the Linux boot messages that the controller is in
> > AHCI mode - is it as simple as looking for AHCI driver messages? In
> > this case the
> >
> > scsi0 : ata_piix
> > scsi1 : ata_piix
> >
> > indicate that things are suboptimal I assume.
>
> Right, you should see that showing up as ahci.

Does this apply to *all* SATA controllers or just these ICHx ones from
Intel? In other words, should all optimally configured SATA controllers
be in AHCI mode?

Regards
jonathan
--
"Time is an illusion; lunchtime doubly so"

2007-05-21 23:14:17

by Alan

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

This would be your PATA port - pata_marvell.

> 02:00.0 IDE interface: Marvell Technology Group Ltd. Unknown device 6101 (rev b1) (prog-if 8f [Master SecP SecO PriP PriO])
> Subsystem: Marvell Technology Group Ltd. Unknown device 6101

> Does this apply to *all* SATA controllers or just these ICHx ones from
> Intel? In other words, should all optimally configured SATA controllers
> be in AHCI mode?

If they have an AHCI mode then currently yes. AHCI is a well designed
interface with nice functionality. None of the devices which support
multiple modes of operation have any custom mode that is nicer .. so far
anyway.

Alan

2007-05-21 23:18:13

by Jesse Barnes

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

On Monday, May 21, 2007 4:05 pm Jonathan Woithe wrote:
> 02:00.0 IDE interface: Marvell Technology Group Ltd. Unknown device
> 6101 (rev b1) (prog-if 8f [Master SecP SecO PriP PriO]) Subsystem:
> Marvell Technology Group Ltd. Unknown device 6101 Flags: bus master,
> fast devsel, latency 0, IRQ 10
> I/O ports at 1018 [size=8]
> I/O ports at 1024 [size=4]
> I/O ports at 1010 [size=8]
> I/O ports at 1020 [size=4]
> I/O ports at 1000 [size=16]
> Memory at 90100000 (32-bit, non-prefetchable) [size=512]
> Capabilities: [48] Power Management version 2
> Capabilities: [50] Message Signalled Interrupts: 64bit- Queue=0/0
> Enable- Capabilities: [e0] Express Legacy Endpoint IRQ 0

Looks like you've got Marvell IDE for your PATA stuff (my board is the
same). Try the latest Marvell driver, it seems to drive my machine ok.
For older kernels, I think you can pass 'all-generic-ide' on the boot
line to get the old IDE layer to drive the device.

Jesse

2007-05-21 23:52:08

by Jonathan Woithe

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

> > 02:00.0 IDE interface: Marvell Technology Group Ltd. Unknown device
> > 6101 (rev b1) (prog-if 8f [Master SecP SecO PriP PriO]) Subsystem:
> > Marvell Technology Group Ltd. Unknown device 6101 Flags: bus master,
> > fast devsel, latency 0, IRQ 10
> :
> Looks like you've got Marvell IDE for your PATA stuff (my board is the
> same). Try the latest Marvell driver, it seems to drive my machine ok.
> For older kernels, I think you can pass 'all-generic-ide' on the boot
> line to get the old IDE layer to drive the device.

Oh dear, would you believe I totally missed this entry in a dozen runs
though the output yesterday? A fresh pair of eyes always helps.

> This would be your PATA port - pata_marvell.

Are we talking CONFIG_PATA_MARVELL here? If so then the kernel I just
booted has this set to "y" (ie: built-in) and yet the drive is still not
detected. Is there a newer version of this driver somewhere? The kernel
was 2.6.22-rc2.

Regards
jonathan
--
"Time is an illusion; lunchtime doubly so"

2007-05-22 00:34:37

by Alan

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

> Are we talking CONFIG_PATA_MARVELL here? If so then the kernel I just
> booted has this set to "y" (ie: built-in) and yet the drive is still not
> detected. Is there a newer version of this driver somewhere? The kernel
> was 2.6.22-rc2.

Should be current. Its known to work fine for that chip so you might need
to do some debugging and provide more detail.

2007-05-22 01:59:49

by Jonathan Woithe

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

> > Are we talking CONFIG_PATA_MARVELL here? If so then the kernel I just
> > booted has this set to "y" (ie: built-in) and yet the drive is still not
> > detected. Is there a newer version of this driver somewhere? The kernel
> > was 2.6.22-rc2.
>
> Should be current. Its known to work fine for that chip so you might need
> to do some debugging and provide more detail.

I got someone to go into the BIOS setup (I am debugging this remotely) and
check the IDE/ATA related options. The two relevant options were set
as follows:

ATA/IDE Mode: <Native> [ Choices: Legacy, Native ]
Configure SATA as: <IDE> [ Choices: IDE, RAID, AHCI ]

I had them change the "Configure SATA as" setting from "IDE" to "AHCI"
and then reboot into 2.6.22-rc2. At this point things appear to be much
happier:

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
Probing IDE interface ide1...
:
ahci 0000:00:1f.2: version 2.1
ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 19 (level, low) -> IRQ 19
ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 6 ports 3 Gbps 0x3f impl SATA mode
ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part
PCI: Setting latency timer of device 0000:00:1f.2 to 64
scsi0 : ahci
:
scsi5 : ahci
ata1: SATA max UDMA/133 cmd 0xf882a100 ctl 0x00000000 bmdma 0x00000000 irq 0
:
ata6: SATA max UDMA/133 cmd 0xf882a380 ctl 0x00000000 bmdma 0x00000000 irq 0
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ata_hpa_resize 1: sectors = 488397168, hpa_sectors = 488397168
ata1.00: ATA-7: WDC WD2500AAJS-00RYA0, 12.01B01, max UDMA/133
ata1.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata1.00: ata_hpa_resize 1: sectors = 488397168, hpa_sectors = 488397168
ata1.00: configured for UDMA/133
ata2: SATA link down (SStatus 0 SControl 300)
:
ata6: SATA link down (SStatus 0 SControl 300)
scsi 0:0:0:0: Direct-Access ATA WDC WD2500AAJS-0 12.0 PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 488397168 512-byte hardware sectors (250059 MB)
sd 0:0:0:0: [sda] Write Protect is off
:
sd 0:0:0:0: [sda] Attached SCSI disk
ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 17 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:02:00.0 to 64
scsi6 : pata_marvell
scsi7 : pata_marvell
ata7: PATA max UDMA/100 cmd 0x00011018 ctl 0x00011026 bmdma 0x00011000 irq 0
ata8: DUMMY
BAR5:00:00 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:01 0D:00 0E:00 0F:00
ata7.00: ATAPI, max UDMA/66
ata7.00: limited to UDMA/33 due to 40-wire cable
ata7.00: configured for UDMA/33
scsi 6:0:0:0: CD-ROM SONY DVD RW DRU-830A SS25 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 40x/40x writer dvd-ram cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 6:0:0:0: Attached scsi CD-ROM sr0
sr 6:0:0:0: Attached scsi generic sg1 type 5

Therefore it seems that for whatever reason, the marvell_pata driver will
only find the Marvell PATA IDE controller if the *SATA* mode in the BIOS is
set to "AHCI". It's somewhat counter-intuitive, but since AHCI is the
"correct" setting for SATA performance reasons it's probably not such a bad
thing.

So, thanks for all the suggestions; the problem appears solved.

Regards
jonathan

2007-05-25 12:50:19

by Holger Eitzenberger

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Robert Hancock <[email protected]> writes:

> Also, it's unrelated to this problem, but you should check the BIOS
> settings for the SATA controller - you really want to get the
> controller into AHCI mode for best performance.

Hi,

just curious, what makes you think that AHCI is better wrt performance?

/holger

2007-05-25 13:37:26

by Jeff Garzik

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Holger Eitzenberger wrote:
> just curious, what makes you think that AHCI is better wrt performance?

NCQ support, CPU cycle savings, no silly DMA limits (supports larger
clustered chunks of data, less bouncing), supports 64-bit (no bouncing
on 64-bit), eliminates use of PIO, the list goes on.

Jeff


2007-05-26 16:23:58

by Bill Davidsen

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Jonathan Woithe wrote:
> A collegue of mine has an Intel mainboard with the i865 chipset onboard
> (DQ965). All kernels up to and including 2.6.22-rc2 do not detect the IDE
> CDROM/DVDROM when booting. The SATA hard drive is found without any
> problems.
>
Let me belatedly ask if the device shows up in POST at cold boot. It may
need some BIOS setting to be visible.


--
Bill Davidsen <[email protected]>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot

2007-05-27 23:07:36

by Jonathan Woithe

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Hi Bill

> > A collegue of mine has an Intel mainboard with the i865 chipset onboard
> > (DQ965). All kernels up to and including 2.6.22-rc2 do not detect the IDE
> > CDROM/DVDROM when booting. The SATA hard drive is found without any
> > problems.
> >
> Let me belatedly ask if the device shows up in POST at cold boot. It may
> need some BIOS setting to be visible.

The CDROM was showing up in the POST in all cases.

It turns out the problem (as I outlined in a followup post) resulted from a
combination of issues.

1) This board uses a Marvell PATA controller, so the relevant driver must
be configured.

2) Unless the "Configure SATA as" setting in the BIOS is set to "AHCI" the
PATA controller won't be found. Sounds a bit odd and counter-intuitive,
but that's what's happening. Originally this item was set to IDE; the
other option is RAID but I haven't tested that.

Regards
jonathan
--
"Time is an illusion; lunchtime doubly so"

2007-05-28 14:31:24

by Lennart Sorensen

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

On Mon, May 28, 2007 at 08:37:21AM +0930, Jonathan Woithe wrote:
> The CDROM was showing up in the POST in all cases.
>
> It turns out the problem (as I outlined in a followup post) resulted from a
> combination of issues.
>
> 1) This board uses a Marvell PATA controller, so the relevant driver must
> be configured.
>
> 2) Unless the "Configure SATA as" setting in the BIOS is set to "AHCI" the
> PATA controller won't be found. Sounds a bit odd and counter-intuitive,
> but that's what's happening. Originally this item was set to IDE; the
> other option is RAID but I haven't tested that.

Maybe the SATA pretending to be PATA took up the ports that the marvell
PATA needed to provide PATA, so in effect hidding the marvell.

--
Len Sorensen

2007-05-31 00:52:19

by Jonathan Woithe

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Len Sorensen wrote:
> On Mon, May 28, 2007 at 08:37:21AM +0930, Jonathan Woithe wrote:
> > The CDROM was showing up in the POST in all cases.
> >
> > It turns out the problem (as I outlined in a followup post) resulted from a
> > combination of issues.
> >
> > 1) This board uses a Marvell PATA controller, so the relevant driver must
> > be configured.
> >
> > 2) Unless the "Configure SATA as" setting in the BIOS is set to "AHCI" the
> > PATA controller won't be found. Sounds a bit odd and counter-intuitive,
> > but that's what's happening. Originally this item was set to IDE; the
> > other option is RAID but I haven't tested that.
>
> Maybe the SATA pretending to be PATA took up the ports that the marvell
> PATA needed to provide PATA, so in effect hidding the marvell.

I don't think so but I could be wrong. When "Configure SATA as" was set to
"IDE" the HDD was being detected as a SATA drive and showed up as /dev/sda.
The only visible difference the change to "AHCI" made was that instead of
the drive being handled by the ata_piix it now utilises the ahci driver
(which is a much better driver). The other interesting thing is that the
probe for the Marvell PATA device occured before the initialisation of the
ata_piix driver (or ahci for that matter), so as far as I can tell ata_piix
had no chance to grab any ports before the marvell driver initialised.

Regards
jonathan
--
"Time is an illusion; lunchtime doubly so"

2007-05-31 13:40:16

by Lennart Sorensen

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

On Thu, May 31, 2007 at 10:21:57AM +0930, Jonathan Woithe wrote:
> I don't think so but I could be wrong. When "Configure SATA as" was set to
> "IDE" the HDD was being detected as a SATA drive and showed up as /dev/sda.
> The only visible difference the change to "AHCI" made was that instead of
> the drive being handled by the ata_piix it now utilises the ahci driver
> (which is a much better driver). The other interesting thing is that the
> probe for the Marvell PATA device occured before the initialisation of the
> ata_piix driver (or ahci for that matter), so as far as I can tell ata_piix
> had no chance to grab any ports before the marvell driver initialised.

Linux can still detect the chip and drive it natively even if the bios
is emulating IDE/PATA on the chip. And libata will make both PATA and
SATA show up as /dev/sda now if you use libata for both. On the other
hand if the bios has configured the intel chip to use the standard ide
registers, then it can't have configured the marvell to do so I would
guess, which could make it difficult to talk to.

--
Len Sorensen

2007-05-31 13:53:30

by Jeff Garzik

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Lennart Sorensen wrote:
> On Thu, May 31, 2007 at 10:21:57AM +0930, Jonathan Woithe wrote:
>> I don't think so but I could be wrong. When "Configure SATA as" was set to
>> "IDE" the HDD was being detected as a SATA drive and showed up as /dev/sda.
>> The only visible difference the change to "AHCI" made was that instead of
>> the drive being handled by the ata_piix it now utilises the ahci driver
>> (which is a much better driver). The other interesting thing is that the
>> probe for the Marvell PATA device occured before the initialisation of the
>> ata_piix driver (or ahci for that matter), so as far as I can tell ata_piix
>> had no chance to grab any ports before the marvell driver initialised.
>
> Linux can still detect the chip and drive it natively even if the bios
> is emulating IDE/PATA on the chip. And libata will make both PATA and
> SATA show up as /dev/sda now if you use libata for both. On the other
> hand if the bios has configured the intel chip to use the standard ide
> registers, then it can't have configured the marvell to do so I would
> guess, which could make it difficult to talk to.

Mostly true... "standard IDE" can be configured in two modes, legacy
mode and native mode. Legacy mode has fixed addresses originating from
the ISA days (0x170, 0x1f0, irqs 14 & 15), and (as you implied) you
cannot bind two IDE controllers to the same ISA addresses.

OTOH, an unlimited number of IDE controllers can be configured into
native mode, where all addresses and irq are allocated using standard
means accorded all PCI devices.

Jeff



2007-06-01 07:06:22

by Jonathan Woithe

[permalink] [raw]
Subject: Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

Jeff Garzik wrote:
> Lennart Sorensen wrote:
> > On Thu, May 31, 2007 at 10:21:57AM +0930, Jonathan Woithe wrote:
> >> I don't think so but I could be wrong. When "Configure SATA as" was set to
> >> "IDE" the HDD was being detected as a SATA drive and showed up as /dev/sda.
> >> The only visible difference the change to "AHCI" made was that instead of
> >> the drive being handled by the ata_piix it now utilises the ahci driver
> >> (which is a much better driver). The other interesting thing is that the
> >> probe for the Marvell PATA device occured before the initialisation of the
> >> ata_piix driver (or ahci for that matter), so as far as I can tell ata_piix
> >> had no chance to grab any ports before the marvell driver initialised.
> >
> > Linux can still detect the chip and drive it natively even if the bios
> > is emulating IDE/PATA on the chip. And libata will make both PATA and
> > SATA show up as /dev/sda now if you use libata for both. On the other
> > hand if the bios has configured the intel chip to use the standard ide
> > registers, then it can't have configured the marvell to do so I would
> > guess, which could make it difficult to talk to.
>
> Mostly true... "standard IDE" can be configured in two modes, legacy
> mode and native mode. Legacy mode has fixed addresses originating from
> the ISA days (0x170, 0x1f0, irqs 14 & 15), and (as you implied) you
> cannot bind two IDE controllers to the same ISA addresses.
>
> OTOH, an unlimited number of IDE controllers can be configured into
> native mode, where all addresses and irq are allocated using standard
> means accorded all PCI devices.

In the situation being discussed, "ATA/IDE Mode" was set to "Native" in the
BIOS (the other option for this item was "Legacy"). The BIOS had a separate
"Configure SATA as" item with the options RAID, IDE and AHCI and it is this
one which, when set to IDE, prevented Linux from finding the Marvell PATA
chip - even though "ATA/IDE Mode" was set to "native".

The legacy/native issue Jeff discusses sounds like it relates to the
"ATA/IDE Mode" BIOS setting. Since this was always "Native" during the
tests and given what Jeff wrote, I would have thought the BIOS would not be
using the legacy ISA-era settings and therefore they were not the reason for
Linux not finding the Marvell PATA controller.

Regards
jonathan