Skip to contentSkip to conversation

PCI quirk for SMBus bridge on Asus P4 boards

PATCH In review Dominik Brodowski 2 participants 11 messages Mar 19, 2003 – May 19, 2005 PCI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 PCI quirk for SMBus bridge on Asus P4 boards

Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the SMBus PCI bridge for P4B533 and P4PE mainboards.

Dominik

drivers/pci/quirks.c +54 -0
diff -ru linux-original/drivers/pci/quirks.c linux/drivers/pci/quirks.c
@@ -647,6 +647,53 @@
 }
 
 /*
+ * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge
+ * is not activated. The myth is that Asus said that they do not want the
+ * users to be irritated by just another PCI Device in the Win98 device
+ * manager. (see the file prog/hotplug/README.p4b in the lm_sensors 
+ * package 2.7.0 for details)
+ *
+ * The SMBus PCI Device can be activated by setting a bit in the ICH LPC 
+ * bridge. Unfortunately, this device has no subvendor/subdevice ID. So it 
+ * becomes necessary to do this tweak in two steps -- I've chosen the Host
+ * bridge as trigger.
+ */
+
+static int __initdata asus_hides_smbus = 0;
+
+static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev)
+{
+	if (likely(dev->subsystem_vendor != PCI_VENDOR_ID_ASUSTEK))
+		return;
+
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82845_HB) && 
+	    (dev->subsystem_device == 0x8088)) /* P4B533 */
+		asus_hides_smbus = 1;
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82845G_HB) &&
+	    (dev->subsystem_device == 0x80b2)) /* P4PE */
+		asus_hides_smbus = 1;
+	return;
+}
+
+static void __init asus_hides_smbus_lpc(struct pci_dev *dev)
+{
+	u16 val;
+	
+	if (likely(!asus_hides_smbus))
+		return;
+
+	pci_read_config_word(dev, 0xF2, &val);
+	if (val & 0x8) {
+		pci_write_config_word(dev, 0xF2, val & (~0x8));
+		pci_read_config_word(dev, 0xF2, &val);
+		if(val & 0x8)
+			printk(KERN_INFO "PCI: i801 SMBus device continues to play 'hide and seek'! 0x%x\n", val);
+		else
+			printk(KERN_INFO "PCI: Enabled i801 SMBus device\n");
+	}
+}
+
+/*
  *  The main table of quirks.
  */
 
@@ -724,6 +771,13 @@
 	
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82375,	quirk_eisa_bridge },
 
+	/*
+	 * on Asus P4B boards, the i801SMBus device is disabled at startup.
+	 */
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845G_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801DB_0,	asus_hides_smbus_lpc },
+
 	{ 0 }
 };
 
#1 lore raw
Quoted 4 lines · Dominik Brodowski

Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the SMBus PCI bridge for P4B533 and P4PE mainboards.

The ASUS P4T533-C J(850E Chipset) does that as well .... think you might tweak the patch for this board ? I can test if you can ....

Regards,

Signature · 1 line
Martin Schlemmer
#2 lore raw
Quoted 8 lines · Martin Schlemmer
Quoted 4 lines · Dominik Brodowski

Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the SMBus PCI bridge for P4B533 and P4PE mainboards.

The ASUS P4T533-C J(850E Chipset) does that as well .... think you might tweak the patch for this board ? I can test if you can ....

Sure: please send me the output of "pcitweak -l" or "lspci -vv".

Dominik

#3 lore raw
Quoted 6 lines · Dominik Brodowski
Quoted 2 lines

The ASUS P4T533-C J(850E Chipset) does that as well .... think you might tweak the patch for this board ? I can test if you can ....

Sure: please send me the output of "pcitweak -l" or "lspci -vv".

Dominik

Right, will do tonight when I get home.

Signature · 1 line
Martin Schlemmer
#4 lore raw
In reply to Dominik Brodowski
Quoted 8 lines · On Thu, 20 Mar 2003 09:41:48 +0100 Dominik Brodowski <[email protected]> wrote:
Quoted 7 lines · Martin Schlemmer
Quoted 5 lines · Dominik Brodowski

Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the SMBus PCI bridge for P4B533 and P4PE mainboards.

Quoted 5 lines
Quoted 2 lines

The ASUS P4T533-C J(850E Chipset) does that as well .... think you might tweak the patch for this board ? I can test if you can ....

Sure: please send me the output of "pcitweak -l" or "lspci -vv".

Here you go

Thanks,

Signature · 1 line
Martin Schlemmer

00:00.0 Host bridge: Intel Corp. 82850 850 (Tehama) Chipset Host Bridge (MCH) (rev 04)
Subsystem: Asustek Computer, Inc.: Unknown device 8030
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 f0000000 (32-bit, prefetchable) [size=128M]
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. 82850 850 (Tehama) Chipset AGP Bridge (rev 04) (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=01, subordinate=01, sec-latency=32
Memory behind bridge: ea000000-eb4fffff
Prefetchable memory behind bridge: eb700000-efffffff
BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-

00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 04) (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: 0000b000-0000dfff
Memory behind bridge: e8800000-e9ffffff
Prefetchable memory behind bridge: eb500000-eb6fffff
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 04)
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. 82801BA IDE U100 (rev 04) (prog-if 80 [Master])
Subsystem: Asustek Computer, Inc.: Unknown device 8028
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
Region 4: I/O ports at a800 [size=16]

00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 04) (prog-if 00 [UHCI])
Subsystem: Asustek Computer, Inc.: Unknown device 8028
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 19
Region 4: I/O ports at a400 [size=32]

00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev 04) (prog-if 00 [UHCI])
Subsystem: Asustek Computer, Inc.: Unknown device 8028
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 23
Region 4: I/O ports at a000 [size=32]

00:1f.5 Multimedia audio controller: Intel Corp. 82801BA/BAM AC'97 Audio (rev 04)
Subsystem: Asustek Computer, Inc.: Unknown device 8095
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 17
Region 0: I/O ports at 9800 [size=256]
Region 1: I/O ports at 9400 [size=64]

01:00.0 VGA compatible controller: nVidia Corporation NV20 [GeForce3 Ti500] (rev a3) (prog-if 00 [VGA])

	Subsystem: Asustek Computer, Inc. V8200 T5
	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 16
	Region 0: Memory at ea000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at ec000000 (32-bit, prefetchable) [size=64M]
	Region 2: Memory at eb800000 (32-bit, prefetchable) [size=512K]
	Expansion ROM at eb7f0000 [disabled] [size=64K]
	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:0a.0 Unknown mass storage controller: Promise Technology, Inc. 20268 (rev 02) (prog-if 85)

	Subsystem: Promise Technology, Inc. Ultra100TX2
	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 22
	Region 0: I/O ports at d800 [size=8]
	Region 1: I/O ports at d400 [size=4]
	Region 2: I/O ports at d000 [size=8]
	Region 3: I/O ports at b800 [size=4]
	Region 4: I/O ports at b400 [size=16]
	Region 5: Memory at e9800000 (32-bit, non-prefetchable) [size=16K]
	Expansion ROM at <unassigned> [disabled] [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-

02:0c.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
Subsystem: Intel Corp. EtherExpress PRO/100+ Management Adapter
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 20
Region 0: Memory at e9000000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at b000 [size=64]
Region 2: Memory at e8800000 (32-bit, non-prefetchable) [size=1M]
Expansion ROM at <unassigned> [disabled] [size=1M]
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-

PCI: Probing config type using method 1
PCI: Config type is 1
PCI: PCI scan (all values are in hex)
PCI: 00:00:0: chip 8086,2530 card 1043,8030 rev 04 class 06,00,00 hdr 00
PCI: 00:01:0: chip 8086,2532 card 0000,0000 rev 04 class 06,04,00 hdr 01
PCI: 00:1e:0: chip 8086,244e card 0000,0000 rev 04 class 06,04,00 hdr 01
PCI: 00:1f:0: chip 8086,2440 card 0000,0000 rev 04 class 06,01,00 hdr 80
PCI: 00:1f:1: chip 8086,244b card 1043,8028 rev 04 class 01,01,80 hdr 00
PCI: 00:1f:2: chip 8086,2442 card 1043,8028 rev 04 class 0c,03,00 hdr 00
PCI: 00:1f:4: chip 8086,2444 card 1043,8028 rev 04 class 0c,03,00 hdr 00
PCI: 00:1f:5: chip 8086,2445 card 1043,8095 rev 04 class 04,01,00 hdr 00
PCI: 01:00:0: chip 10de,0202 card 1043,405b rev a3 class 03,00,00 hdr 00
PCI: 02:0a:0: chip 105a,4d68 card 105a,4d68 rev 02 class 01,80,85 hdr 00
PCI: 02:0c:0: chip 8086,1229 card 8086,000c rev 08 class 02,00,00 hdr 00
PCI: End of PCI scan

#5 lore raw
Quoted 11 lines · Martin Schlemmer
Quoted 8 lines · On Thu, 20 Mar 2003 09:41:48 +0100 Dominik Brodowski <[email protected]> wrote:
Quoted 7 lines · Martin Schlemmer
Quoted 5 lines · Dominik Brodowski

Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge on Asus P4B/P4PE mainboards. The attached patch adds a quirk to re-enable the SMBus PCI bridge for P4B533 and P4PE mainboards.

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

The ASUS P4T533-C J(850E Chipset) does that as well .... think you might tweak the patch for this board ? I can test if you can ....

Sure: please send me the output of "pcitweak -l" or "lspci -vv".

Here you go

And here's the patch (for 2.5.65). Please tell me whether it works on your P4T533 mainboard; if so, I'll re-diff it for -ac and send it to Alan (he included the first patch already)

Dominik

drivers/pci/quirks.c +59 -0
diff -ru linux-original/drivers/pci/quirks.c linux/drivers/pci/quirks.c
@@ -647,6 +647,56 @@
 }
 
 /*
+ * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge
+ * is not activated. The myth is that Asus said that they do not want the
+ * users to be irritated by just another PCI Device in the Win98 device
+ * manager. (see the file prog/hotplug/README.p4b in the lm_sensors 
+ * package 2.7.0 for details)
+ *
+ * The SMBus PCI Device can be activated by setting a bit in the ICH LPC 
+ * bridge. Unfortunately, this device has no subvendor/subdevice ID. So it 
+ * becomes necessary to do this tweak in two steps -- I've chosen the Host
+ * bridge as trigger.
+ */
+
+static int __initdata asus_hides_smbus = 0;
+
+static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev)
+{
+	if (likely(dev->subsystem_vendor != PCI_VENDOR_ID_ASUSTEK))
+		return;
+
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82845_HB) && 
+	    (dev->subsystem_device == 0x8088)) /* P4B533 */
+		asus_hides_smbus = 1;
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82845G_HB) &&
+	    (dev->subsystem_device == 0x80b2)) /* P4PE */
+		asus_hides_smbus = 1;
+	if ((dev->device == PCI_DEVICE_ID_INTEL_82850_HB) &&
+	    (dev->subsystem_device == 0x8030)) /* P4T533 */
+		asus_hides_smbus = 1;
+	return;
+}
+
+static void __init asus_hides_smbus_lpc(struct pci_dev *dev)
+{
+	u16 val;
+	
+	if (likely(!asus_hides_smbus))
+		return;
+
+	pci_read_config_word(dev, 0xF2, &val);
+	if (val & 0x8) {
+		pci_write_config_word(dev, 0xF2, val & (~0x8));
+		pci_read_config_word(dev, 0xF2, &val);
+		if(val & 0x8)
+			printk(KERN_INFO "PCI: i801 SMBus device continues to play 'hide and seek'! 0x%x\n", val);
+		else
+			printk(KERN_INFO "PCI: Enabled i801 SMBus device\n");
+	}
+}
+
+/*
  *  The main table of quirks.
  */
 
@@ -724,6 +774,15 @@
 	
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82375,	quirk_eisa_bridge },
 
+	/*
+	 * on Asus P4B boards, the i801SMBus device is disabled at startup.
+	 */
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82845G_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82850_HB,	asus_hides_smbus_hostbridge },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801DB_0,	asus_hides_smbus_lpc },
+	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801BA_0,	asus_hides_smbus_lpc },
+
 	{ 0 }
 };
 
#7 lore raw

PATCH 1/1 Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI

Hi

After I had this P4T533-C's SMBus enabled again on 2.5 kernel with Dominik's patch, I thought it will be a good time to try and get lm_sensors to work again.

I did not have much luck with a CVS snapshot of lm_sensors2 though, so I hacked 2.5.64bk12 to include the w83781d module. Yes, it is rather hackish, but it seems to work just fine.

This is with the standard i2c that comes with 2.5.64bk12:

----------------------------------------------------
i2c-i801.o version 2.7.0 (20021208)
i2c-dev.o: Registered 'SMBus I801 adapter at e800' as minor 0 w83781d.o version 2.7.0 (20021208)
----------------------------------------------------

----------------------------------------------------

# sensors
w83782d-i2c-0-2d
Adapter: SMBus I801 adapter at e800
Algorithm: Non-I2C SMBus adapter
VCore 1:   +1.45 V  (min =  +1.21 V, max =  +1.48 V)              (beep)
VCore 2:   +1.74 V  (min =  +1.21 V, max =  +1.48 V)              (beep)
+3.3V:     +3.28 V  (min =  +2.97 V, max =  +3.63 V)              (beep)
+5V:       +5.11 V  (min =  +4.50 V, max =  +5.48 V)              (beep)
+12V:     +11.86 V  (min = +10.79 V, max = +13.11 V)              
-12V:     -12.03 V  (min = -13.21 V, max = -10.90 V)              
-5V:       -5.10 V  (min =  -5.51 V, max =  -4.51 V)              
V5SB:      +0.13 V  (min =  +0.13 V, max =  +0.13 V)              
VBat:      +0.08 V  (min =  +0.08 V, max =  +0.08 V)              
CPU Fan:  4440 RPM  (min = 3000 RPM, div = 2)                     (beep)
M/B Temp:    +28?C  (limit =  +60?C) sensor = thermistor          (beep)
CPU Temp:  +46.0?C  (limit = +60?C, hysteresis =  +50?C) sensor thermistor           (beep)
VC Spec: +1.350 V
----------------------------------------------------

It should apply cleanly against 2.5.65, but on 56k, so will be a while before its finished downloading.

Comments welcome.

Regards,

Signature · 10 lines
Martin Schlemmer


-------------- next part --------------
A non-text attachment was scrubbed...
Name: i2c-chip-w83781d.patch
Type: application/octet-stream
Size: 79082 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20030322/af3457d8/i2c-chip-w83781d.obj
#8 lore raw

Re: [PATCH] Sensors chip w83781d for linux-2.5.6[45] (follow up on PCI quirk for SMBus bridge on Asus P4 boards)

Quoted 9 lines · Martin Schlemmer

Hi

After I had this P4T533-C's SMBus enabled again on 2.5 kernel with Dominik's patch, I thought it will be a good time to try and get lm_sensors to work again.

I did not have much luck with a CVS snapshot of lm_sensors2 though, so I hacked 2.5.64bk12 to include the w83781d module. Yes, it is rather hackish, but it seems to work just fine.

works fine over here, AFAICT. thanks!

Dominik

#9 lore raw

Failed to register cdrom with ide.c

Hi

I am sure somebody else had this issue, but I cannot find it now by browsing the online lists (subscribed at work only).

Up to and with 2.5.65, the kernel boots fine, but with the new ide stuff merged, my Toshiba DVD do not register with ide.c, and I get a kernel panic. This is with bk3, and -ac3. If I unplug the drive, the kernel boots fine.

Attached is relevant part of ide initialization from kernel logs. It is however from 2.5.64. If you need from 2.5.65-ac3, let me know ... its just going to be difficult as I only have this box and a screen less gateway.

Regards,

Signature · 1 line
Martin Schlemmer
kernel: Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
kernel: ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
kernel: ICH2: IDE controller at PCI slot 00:1f.1
kernel: ICH2: chipset revision 4
kernel: ICH2: not 100%% native mode: will probe irqs later
kernel:     ide0: BM-DMA at 0xa800-0xa807, BIOS settings: hda:DMA, hdb:pio
kernel:     ide1: BM-DMA at 0xa808-0xa80f, BIOS settings: hdc:DMA, hdd:pio
kernel: hda: ST320011A, ATA DISK drive
kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
kernel: hdc: TOSHIBA DVD-ROM SD-M1612, ATAPI CD/DVD-ROM drive
kernel: ide1 at 0x170-0x177,0x376 on irq 15
kernel: PDC20268: IDE controller at PCI slot 02:0a.0
kernel: PDC20268: chipset revision 2
kernel: PDC20268: not 100%% native mode: will probe irqs later
kernel:     ide2: BM-DMA at 0xb400-0xb407, BIOS settings: hde:pio, hdf:pio
kernel:     ide3: BM-DMA at 0xb408-0xb40f, BIOS settings: hdg:pio, hdh:pio
kernel: hde: ASUS CRW-2410A, ATAPI CD/DVD-ROM drive
kernel: ide2 at 0xd800-0xd807,0xd402 on irq 22
kernel: hdg: MAXTOR 6L040J2, ATA DISK drive
kernel: ide3 at 0xd000-0xd007,0xb802 on irq 22
kernel: hda: host protected area => 1
kernel: hda: 39102336 sectors (20020 MB) w/2048KiB Cache, CHS=38792/16/63, UDMA(100)
kernel:  /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4
kernel: hdg: host protected area => 1
kernel: hdg: 78177792 sectors (40027 MB) w/1819KiB Cache, CHS=77557/16/63, UDMA(100)
kernel:  /dev/ide/host2/bus1/target0/lun0: p1
kernel: end_request: I/O error, dev hdc, sector 0
kernel: hdc: ATAPI 48X DVD-ROM drive, 512kB Cache, UDMA(33)
kernel: Uniform CD-ROM driver Revision: 3.12
kernel: end_request: I/O error, dev hdc, sector 0
kernel: scsi0 : SCSI host adapter emulation for IDE ATAPI devices
kernel:   Vendor: ASUS      Model: CRW-2410A         Rev: 1.0
kernel:   Type:   CD-ROM                             ANSI SCSI revision: 02
kernel: sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
kernel: Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
#10 lore raw

Re: Failed to register cdrom with ide.c

Quoted 10 lines · Martin Schlemmer

Hi

I am sure somebody else had this issue, but I cannot find it now by browsing the online lists (subscribed at work only).

Up to and with 2.5.65, the kernel boots fine, but with the new ide stuff merged, my Toshiba DVD do not register with ide.c, and I get a kernel panic. This is with bk3, and -ac3. If I unplug the drive, the kernel boots fine.

Quoted 5 lines

Attached is relevant part of ide initialization from kernel logs. It is however from 2.5.64. If you need from 2.5.65-ac3, let me know ... its just going to be difficult as I only have this box and a screen less gateway.

Dominik's patch fixed it for me as well, thanks!

Regards,

Signature · 1 line
Martin Schlemmer