Please CC me at edward.kuns at rockwellfirstpoint.com in your responses.
I have a Gigabyte GA-8PE667 Ultra motherboard (aka P4 Titan 667 Ultra) with
the i845PE chipset plus a Promise RAID controller (PDC20276). Earlier I
sent a message about the sound problems I've been having. (Thanks, Alan,
I'll try enabling APIC, etc, tonight. Since I was working with the Red Hat
kernels, I didn't deeply investigate the default settings there.) The
other problem I'm having is trying to build my own kernel with 2.4.20-ac2
-- where I have APIC et al enabled. It builds fine but does not finish
booting. The failure appears related to the Promise RAID controller. I
didn't have this problem with earlier 2.4.20-pre*-ac* kernels on an i845G
Intel motherboard which has only the IDE controller of the chipset.
Booting with the new kernel, it gets to the PDC20276 IDE controller, gives
the three lines of 1) controller "not 100% native mode" line and 2,3) two
lines for ide2 and ide3, and that is it. At that point the machine is hung
solid. CTL-ALT-DEL does nothing, Magic SysRq does nothing. I cannot
scroll back. Only the hardware reset button causes a response. In case it
matters, the BIOS for the Promise controller is "MBUltra133 (PDC20276) BIOS
2.20.1020.13". This motherboard allows you to set the Promise controller
in RAID mode or in ATA mode. I have it set in ATA mode. I tried putting
it in RAID mode and after setting up a "striped" RAID array of one disk
(grin) grub complained of a disk error and refused to even load. Feh.
Grub is very, very picky about that sort of thing I guess. So I set it
back to ATA mode where it at least works with the RH8.0 kernels and grub.
I've tried building with IDE-RAID in or not in. I've tried building it
with each Promise driver separately (pdc202xx_new.c and pdc202xx_old.c if I
recall correctly) and with both Promise drivers compiled in at the same
time. With and without IDE-RAID. They all acted exactly the same. So
then I added a bunch of printk's to see if I could localize where it was
hanging and it died immediately after displaying info about the PIIX
driver. Hmm. I guess there are places one cannot or should not put a
printk? I modified files like ide-disk.c and both pdc202xx_*.c files. I
might have added printk's to other files in that same tree.
I searched for other complaints about the Promise controller and someone
said they had success with pure 2.4.20, so I'll try that tonight. (My
understanding is that 2.4.21-pre1 will have essentially the same IDE code
as earlier *-ac kernels, so it probably wouldn't add much for me to try
that.) The RedHat 8.0 kernels boot perfectly. The dmesg related to IDE
drives from the Red Hat kernels is below. Note that I am missing the
beginning part. The RAID code generates so many messages that I think my
early boot messages have scrolled out of the circular message buffer before
klogd starts. (Is the size of that buffer adjustable by #define?)
Dec 15 22:35:24 kilroy kernel: ide0: BM-DMA at 0xcc00-0xcc07, BIOS
settings: hda:DMA, hdb:pio
Dec 15 22:35:24 kilroy kernel: ide1: BM-DMA at 0xcc08-0xcc0f, BIOS
settings: hdc:pio, hdd:DMA
Dec 15 22:35:24 kilroy kernel: PDC20276: IDE controller on PCI bus 02 dev
60
Dec 15 22:35:24 kilroy kernel: PCI: Found IRQ 11 for device 02:0c.0
Dec 15 22:35:24 kilroy kernel: PCI: Sharing IRQ 11 with 02:00.0
Dec 15 22:35:24 kilroy kernel: PCI: Sharing IRQ 11 with 02:07.1
Dec 15 22:35:24 kilroy kernel: PDC20276: chipset revision 1
Dec 15 22:35:24 kilroy kernel: ide: Found promise 20265 in RAID mode.
Dec 15 22:35:24 kilroy kernel: PDC20276: not 100%% native mode: will probe
irqs later
Dec 15 22:35:24 kilroy kernel: ide2: BM-DMA at 0xa400-0xa407, BIOS
settings: hde:pio, hdf:pio
Dec 15 22:35:24 kilroy kernel: ide3: BM-DMA at 0xa408-0xa40f, BIOS
settings: hdg:pio, hdh:pio
Dec 15 22:35:24 kilroy kernel: hda: IC35L060AVER07-0, ATA DISK drive
Dec 15 22:35:24 kilroy kernel: hdd: HL-DT-ST RW/DVD GCC-4320B, ATAPI
CD/DVD-ROM drive
Dec 15 22:35:24 kilroy kernel: hde: IC35L060AVER07-0, ATA DISK drive
Dec 15 22:35:24 kilroy kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Dec 15 22:35:24 kilroy kernel: ide1 at 0x170-0x177,0x376 on irq 15
Dec 15 22:35:24 kilroy kernel: ide2 at 0x9400-0x9407,0x9802 on irq 11
Dec 15 22:35:24 kilroy kernel: blk: queue c03afd84, I/O limit 4095Mb (mask
0xffffffff)
Dec 15 22:35:24 kilroy kernel: blk: queue c03afd84, I/O limit 4095Mb (mask
0xffffffff)
Dec 15 22:35:24 kilroy kernel: hda: 120103200 sectors (61493 MB) w/1916KiB
Cache, CHS=7476/255/63, UDMA(33)
Dec 15 22:35:24 kilroy kernel: blk: queue c03b040c, I/O limit 4095Mb (mask
0xffffffff)
Dec 15 22:35:24 kilroy kernel: blk: queue c03b040c, I/O limit 4095Mb (mask
0xffffffff)
Dec 15 22:35:24 kilroy kernel: hde: 120103200 sectors (61493 MB) w/1916KiB
Cache, CHS=119150/16/63, UDMA(100)
Dec 15 22:35:24 kilroy kernel: ide-floppy driver 0.99.newide
Dec 15 22:35:24 kilroy kernel: Partition check:
Dec 15 22:35:24 kilroy kernel: hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 >
Dec 15 22:35:24 kilroy kernel: hde: hde1 hde2 hde3 hde4 < hde5 hde6 >
When I boot with 2.4.20-ac2, it halts after the "ide3: BM-DMA at
0xa408-0xa40f, BIOS settings: hdg:pio, hdh:pio" line. In addition, I do
not see the previous lines about finding or sharing IRQ for that
controller. Nor do I see "ide: Found promise 20265 in RAID mode."
Another interesting fact is that hda and hde are identical models, but the
i845PE IDE controller only enabled the drive as UDMA33. Hmm. Curious. But
I have not investigated this much yet except to see if the PIIX driver has
a "quirk" drive list. I didn't find one.
My config file for 2.4.20-ac2 is attached to this message. Given below is
output of "lspci -vv":
00:00.0 Host bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset Host
Bridge (rev 02)
Subsystem: Giga-byte Technology: Unknown device 2560
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
Latency: 0
Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
Capabilities: [e4] #09 [6105]
Capabilities: [a0] AGP version 2.0
Status: RQ=31 SBA+ 64bit- FW+ Rate=x1,x2,x4
Command: RQ=0 SBA- AGP+ 64bit- FW- Rate=x4
00:01.0 PCI bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset AGP Bridge
(rev 02) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
Memory behind bridge: e8000000-e9ffffff
Prefetchable memory behind bridge: d8000000-e7ffffff
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 02) (prog-if
00 [UHCI])
Subsystem: Giga-byte Technology: Unknown device 24c2
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 9
Region 4: I/O ports at b800 [size=32]
00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 02) (prog-if
00 [UHCI])
Subsystem: Giga-byte Technology: Unknown device 24c2
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 11
Region 4: I/O ports at b000 [size=32]
00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 02) (prog-if
00 [UHCI])
Subsystem: Giga-byte Technology: Unknown device 24c2
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin C routed to IRQ 11
Region 4: I/O ports at b400 [size=32]
00:1d.7 USB Controller: Intel Corp. 82801DB USB EHCI Controller (rev 02)
(prog-if 20 [EHCI])
Subsystem: Giga-byte Technology: Unknown device 5004
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin D routed to IRQ 9
Region 0: Memory at ec000000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 82) (prog-if
00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR+
Latency: 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
I/O behind bridge: 00008000-0000afff
Memory behind bridge: ea000000-ebffffff
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
00:1f.0 ISA bridge: Intel Corp. 82801DB ISA Bridge (LPC) (rev 02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
00:1f.1 IDE interface: Intel Corp. 82801DB ICH4 IDE (rev 02) (prog-if 8a
[Master SecP PriP])
Subsystem: Giga-byte Technology: Unknown device 24c2
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 9
Region 0: I/O ports at 01f0
Region 1: I/O ports at 03f4
Region 2: I/O ports at 0170
Region 3: I/O ports at 0374
Region 4: I/O ports at cc00 [size=16]
Region 5: Memory at 20000000 (32-bit, non-prefetchable) [size=1K]
00:1f.3 SMBus: Intel Corp. 82801DB SMBus (rev 02)
Subsystem: Giga-byte Technology: Unknown device 24c2
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin B routed to IRQ 5
Region 4: I/O ports at 5000 [size=32]
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX440]
(rev a3) (prog-if 00 [VGA])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 248 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 9
Region 0: Memory at e8000000 (32-bit, non-prefetchable) [size=16M]
Region 1: Memory at d8000000 (32-bit, prefetchable) [size=128M]
Region 2: Memory at e0000000 (32-bit, prefetchable) [size=512K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [44] AGP version 2.0
Status: RQ=31 SBA- 64bit- FW+ Rate=x1,x2,x4
Command: RQ=31 SBA- AGP+ 64bit- FW- Rate=x4
02:00.0 SCSI storage controller: Adaptec AIC-7892B U160/m (rev 02)
Subsystem: Adaptec 19160 Ultra160 SCSI Controller
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (10000ns min, 6250ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
BIST result: 00
Region 0: I/O ports at 8000 [disabled] [size=256]
Region 1: Memory at eb008000 (64-bit, non-prefetchable) [size=4K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
02:02.0 Serial controller: US Robotics/3Com 56K FaxModem Model 5610 (rev
01) (prog-if 02 [16550])
Subsystem: US Robotics/3Com: Unknown device 00d7
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at 8400 [size=8]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0+,D1-,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
02:03.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev
04)
Subsystem: Creative Labs CT4850 SBLive! Value
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (500ns min, 5000ns max)
Interrupt: pin A routed to IRQ 9
Region 0: I/O ports at 8800 [size=32]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
02:03.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev
01)
Subsystem: Creative Labs Gameport Joystick
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Region 0: I/O ports at 8c00 [size=8]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
02:07.0 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI])
Subsystem: NEC Corporation USB
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (250ns min, 10500ns max), cache line size 08
Interrupt: pin A routed to IRQ 9
Region 0: Memory at eb004000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
02:07.1 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI])
Subsystem: NEC Corporation USB
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (250ns min, 10500ns max), cache line size 08
Interrupt: pin B routed to IRQ 11
Region 0: Memory at eb005000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
02:07.2 USB Controller: NEC Corporation USB 2.0 (rev 02) (prog-if 20
[EHCI])
Subsystem: Giga-byte Technology: Unknown device 5004
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (4000ns min, 8500ns max), cache line size 08
Interrupt: pin C routed to IRQ 5
Region 0: Memory at eb006000 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
02:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VE (CNR) Ethernet
Controller (rev 82)
Subsystem: Intel Corp.: Unknown device 3013
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (2000ns min, 14000ns max), cache line size 08
Interrupt: pin A routed to IRQ 5
Region 0: Memory at eb007000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at 9000 [size=64]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
02:0c.0 RAID bus controller: Promise Technology, Inc. PDC20276 IDE (rev 01)
(prog-if 85)
Subsystem: Giga-byte Technology: Unknown device b001
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=slow >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1000ns min, 4500ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at 9400 [size=8]
Region 1: I/O ports at 9800 [size=4]
Region 2: I/O ports at 9c00 [size=8]
Region 3: I/O ports at a000 [size=4]
Region 4: I/O ports at a400 [size=16]
Region 5: Memory at eb000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [60] Power Management version 1
Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Does anyone have any ideas where I can go from here? I'm willing to do
legwork, experiment, recompile, and all that, but I don't know where to
begin. To start with, where should one *not* put printk's? (Specifically
in the IDE subsystem, that is.) Let me know what other information I can
provide that will help.
Thanks
Eddie
(See attached file: config-2.4.20-ac2.txt)
-- Edward Kuns Technical Staff Member Rockwell FirstPoint Contact edward.kuns@rockwellfirstpoint.com www.rockwellfirstpoint.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Dec 23 2002 - 22:00:15 EST