Most recent kernel where this bug did not occur: NA Distribution: Debian Sarge 3.1 - running Deb Testing Kernel 2.6.15 compliled from deb.source. The changelogs in the kernel do not reference any further changes in this area since this kernel release. Hardware Environment: Mobo ASUS PU-DLS (S for SCSI, should also apply to PU-DL) latest Bios 1008 Xeon 2.4 512M, running PCI-X. Has SMBus connector for other devices, which is "obvously" on the I2C bus. Main chip is an Intel E7501 (Plumas 533) MCH which I believe is the adapter; Intel 82801CA/CAM (ICH3). Software Environment: sensors version 2.10.0 with libsensors version 2.10.0 I2C is compiled in as a module, in the kernel .config file, as per the 2.6 settings at lmsensors site. Problem Description: In a nutshell, need to turn on the SMBus PCI device for an ASUS mobo. How to hack quirks.c and where to start for a beginner. There was reference to this mobo, back in May 03, with the following thread; http://lists.lm-sensors.org/pipermail/lm-sensors/2003-May/002471.html and then again in Aug 03 http://lists.lm-sensors.org/pipermail/lm-sensors/2003-August/004177.html Have done sensors-detect, and found only the i2c-isa bus driver, and pc87360 driver, which is not returning any sensor information. I'm prepared to get this working, but I don't know where to start. I have as much information as I can at this stage to get things started, and am prepared for the long haul. I have read the README.p4b, and about driver `i2c-i801.o' and the 2.6 kernel calling the quirks.c code. I have looked at the quirks code, and not found anything relating specifically to this system or chip in this code. lspci 0000:00:00.0 Host bridge: Intel Corp. E7501 Memory Controller Hub (rev 01) 0000:00:00.1 ff00: Intel Corp. E7500/E7501 Host RASUM Controller (rev 01) 0000:00:02.0 PCI bridge: Intel Corp. E7500/E7501 Hub Interface B PCI-to-PCI Bridge (rev 01) 0000:00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev 02) 0000:00:1d.1 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #2) (rev 02) 0000:00:1d.2 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #3) (rev 02) 0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 42) 0000:00:1f.0 ISA bridge: Intel Corp. 82801CA LPC Interface Controller (rev 02) 0000:00:1f.1 IDE interface: Intel Corp. 82801CA Ultra ATA Storage Controller (rev 02) 0000:01:1c.0 PIC: Intel Corp. 82870P2 P64H2 I/OxAPIC (rev 04) 0000:01:1d.0 PCI bridge: Intel Corp. 82870P2 P64H2 Hub PCI Bridge (rev 04) 0000:01:1e.0 PIC: Intel Corp. 82870P2 P64H2 I/OxAPIC (rev 04) 0000:01:1f.0 PCI bridge: Intel Corp. 82870P2 P64H2 Hub PCI Bridge (rev 04) 0000:03:03.0 Ethernet controller: Intel Corp. 82544GC Gigabit Ethernet Controller (LOM) (rev 02) 0000:03:05.0 RAID bus controller: 3ware Inc 3ware ATA-RAID 0000:04:01.0 Ethernet controller: Intel Corp. 82540EM Gigabit Ethernet Controller (rev 02) 0000:04:02.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) lspci -n 0000:00:00.0 0600: 8086:254c (rev 01) 0000:00:00.1 ff00: 8086:2541 (rev 01) 0000:00:02.0 0604: 8086:2543 (rev 01) 0000:00:1d.0 0c03: 8086:2482 (rev 02) 0000:00:1d.1 0c03: 8086:2484 (rev 02) 0000:00:1d.2 0c03: 8086:2487 (rev 02) 0000:00:1e.0 0604: 8086:244e (rev 42) 0000:00:1f.0 0601: 8086:2480 (rev 02) 0000:00:1f.1 0101: 8086:248b (rev 02) 0000:01:1c.0 0800: 8086:1461 (rev 04) 0000:01:1d.0 0604: 8086:1460 (rev 04) 0000:01:1e.0 0800: 8086:1461 (rev 04) 0000:01:1f.0 0604: 8086:1460 (rev 04) 0000:03:03.0 0200: 8086:100d (rev 02) 0000:03:05.0 0104: 13c1:1002 0000:04:01.0 0200: 8086:100e (rev 02) 0000:04:02.0 0300: 1002:4752 (rev 27) lsmod # reduced set of modules. Module Size Used by dm_mod 53624 6 pc87360 20784 0 hwmon_vid 2528 1 pc87360 i2c_isa 4832 1 pc87360 i2c_core 19952 2 pc87360,i2c_isa shpchp 42592 0 pci_hotplug 26132 1 shpchp piix 9700 0 [permanent] thermal 13640 0 processor 23680 1 thermal fan 4612 0 # sensors-detect revision 1.413 (2006/01/19 20:28:00) Do you want to scan the ISA bus? (YES/no): Probing for `National Semiconductor LM78' Trying address 0x0290... Failed! Probing for `National Semiconductor LM78-J' Trying address 0x0290... Failed! Probing for `National Semiconductor LM79' Trying address 0x0290... Failed! Probing for `Winbond W83781D' Trying address 0x0290... Failed! Probing for `Winbond W83782D' Trying address 0x0290... Failed! Probing for `Winbond W83627HF' Trying address 0x0290... Failed! Probing for `Winbond W83627EHF' Trying address 0x0290... Failed! Probing for `Silicon Integrated Systems SIS5595' Trying general detect... Failed! Probing for `VIA Technologies VT82C686 Integrated Sensors' Trying general detect... Failed! Probing for `VIA Technologies VT8231 Integrated Sensors' Trying general detect... Failed! Probing for `ITE IT8712F' Trying address 0x0290... Failed! Probing for `ITE IT8705F / SiS 950' Trying address 0x0290... Failed! Probing for `IPMI BMC KCS' Trying address 0x0ca0... Failed! Probing for `IPMI BMC SMIC' Trying address 0x0ca8... Failed! Do you want to scan for Super I/O sensors? (YES/no): Probing for `ITE 8702F Super IO Sensors' Failed! (0xe115) Probing for `ITE 8705F Super IO Sensors' Failed! (0xe115) Probing for `ITE 8712F Super IO Sensors' Failed! (0xe115) Probing for `Nat. Semi. PC87351 Super IO Fan Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87360 Super IO Fan Sensors' Success... found at address 0xecc0 Probing for `Nat. Semi. PC87363 Super IO Fan Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87364 Super IO Fan Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87365 Super IO Fan Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87365 Super IO Voltage Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87365 Super IO Thermal Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87366 Super IO Fan Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87366 Super IO Voltage Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87366 Super IO Thermal Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87372 Super IO Fan Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87373 Super IO Fan Sensors' Failed! (0xe1) Probing for `Nat. Semi. PC87591 Super IO' Failed! (0xe1) Probing for `Nat. Semi. PC87371 Super IO' Failed! (0xe1) Probing for `Nat. Semi. PC97371 Super IO' Failed! (0xe1) Probing for `Nat. Semi. PC8739x Super IO' Failed! (0xe1) Probing for `Nat. Semi. PC8741x Super IO' Failed! (0xe1) Probing for `Nat. Semi. PCPC87427 Super IO' Failed! (0xe1) Probing for `SMSC 47B27x Super IO Fan Sensors' Failed! (0xe1) Probing for `SMSC 47M10x/13x Super IO Fan Sensors' Failed! (0xe1) Probing for `SMSC 47M14x Super IO Fan Sensors' Failed! (0xe1) Probing for `SMSC 47M15x/192/997 Super IO Fan Sensors' Failed! (0xe1) Probing for `SMSC 47S42x Super IO Fan Sensors' Failed! (0xe1) Probing for `SMSC 47S45x Super IO Fan Sensors' Failed! (0xe1) Probing for `SMSC 47M172 Super IO' Failed! (0xe1) Probing for `SMSC LPC47B397-NC Super IO' Failed! (0xe1) Probing for `SMSC SCH5307-NS Super IO' Failed! (0xe1) Probing for `VT1211 Super IO Sensors' Failed! (0xe1) Probing for `Winbond W83627HF Super IO Sensors' Failed! (0xe1) Probing for `Winbond W83627THF Super IO Sensors' Failed! (0xe1) Probing for `Winbond W83637HF Super IO Sensors' Failed! (0xe1) Probing for `Winbond W83687THF Super IO Sensors' Failed! (0xe1) Probing for `Winbond W83697HF Super IO Sensors' Failed! (0xe1) Probing for `Winbond W83697SF/UF Super IO PWM' Failed! (0xe1) Probing for `Winbond W83L517D Super IO' Failed! (0xe1) Probing for `Fintek F71805F/FG Super IO Sensors' Failed! (0xe115) Probing for `Winbond W83627EHF/EHG Super IO Sensors' Failed! (0xe115) Do you want to scan for secondary Super I/O sensors? (YES/no): Probing for `ITE8702F Super IO Sensors' Failed! (skipping family) Probing for `Nat. Semi. PC87351 Super IO Fan Sensors' Failed! (skipping family) Probing for `SMSC 47B27x Super IO Fan Sensors' Failed! (skipping family) Probing for `VT1211 Super IO Sensors' Failed! (skipping family) Probing for `Winbond W83627EHF/EHG Super IO Sensors' Failed! (skipping family) Now follows a summary of the probes I have just done. Just press ENTER to continue: Driver `pc87360' (should be inserted): Detects correctly: * ISA bus address 0xecc0 (Busdriver `i2c-isa') Chip `Nat. Semi. PC87360 Super IO Fan Sensors' (confidence: 9) I will now generate the commands needed to load the I2C modules. To make the sensors modules behave correctly, add these lines to /etc/modules: #----cut here---- # I2C adapter drivers i2c-isa # I2C chip drivers pc87360 #----cut here---- Output from sensors; pc87360-isa-ecc0 Adapter: ISA adapter In the log/messages file; following may be of note; PCI quirk: region e400-e47f claimed by ICH4 ACPI/GPIO/TCO PCI quirk: region ec00-ec3f claimed by ICH4 GPIO PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1 PCI: Transparent bridge - 0000:00:1e.0 PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report ## What does the above mean, does it relate to hidden PCI device? ls /sys/bus/i2c/devices/ 9191-ecc0 ls /sys/bus/i2c/devices/9191-ecc0 bus driver hwmon:hwmon0 name power uevent Steps to reproduce: Follow the standard lm-sensors install directions.
> In the log/messages file; following may be of note; > PCI quirk: region e400-e47f claimed by ICH4 ACPI/GPIO/TCO > PCI quirk: region ec00-ec3f claimed by ICH4 GPIO > PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1 > PCI: Transparent bridge - 0000:00:1e.0 > PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report > ## What does the above mean, does it relate to hidden PCI device? No, it doesn't. Please provide the output of "lspci -vn". Beware that unhiding the SMBus may cause conflicts with ACPI on some systems. Do you have anything under /proc/acpi/fan, /proc/acpi/embedded_controller or /proc/acpi/thermal_zone?
Output from lspci -vn 0000:00:00.0 0600: 8086:254c (rev 01) Subsystem: 1043:80c9 Flags: bus master, fast devsel, latency 0 Capabilities: [40] #09 [1105] 0000:00:00.1 ff00: 8086:2541 (rev 01) Subsystem: 1043:80c9 Flags: fast devsel 0000:00:02.0 0604: 8086:2543 (rev 01) Flags: bus master, 66MHz, fast devsel, latency 64 Bus: primary=00, secondary=01, subordinate=03, sec-latency=0 I/O behind bridge: 0000c000-0000dfff Memory behind bridge: fb000000-fddfffff Prefetchable memory behind bridge: fdf00000-febfffff 0000:00:1d.0 0c03: 8086:2482 (rev 02) Subsystem: 1043:80c8 Flags: bus master, medium devsel, latency 0, IRQ 169 I/O ports at b800 [size=32] 0000:00:1d.1 0c03: 8086:2484 (rev 02) Subsystem: 1043:80c8 Flags: bus master, medium devsel, latency 0, IRQ 177 I/O ports at b400 [size=32] 0000:00:1d.2 0c03: 8086:2487 (rev 02) Subsystem: 1043:80c8 Flags: bus master, medium devsel, latency 0, IRQ 185 I/O ports at b000 [size=32] 0000:00:1e.0 0604: 8086:244e (rev 42) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=04, subordinate=04, sec-latency=32 I/O behind bridge: 0000a000-0000afff Memory behind bridge: f8800000-fa7fffff Prefetchable memory behind bridge: fde00000-fdefffff 0000:00:1f.0 0601: 8086:2480 (rev 02) Flags: bus master, medium devsel, latency 0 0000:00:1f.1 0101: 8086:248b (rev 02) (prog-if 8a [Master SecP PriP]) Subsystem: 1043:80c8 Flags: bus master, medium devsel, latency 0, IRQ 185 I/O ports at <ignored> I/O ports at <ignored> I/O ports at <ignored> I/O ports at <ignored> I/O ports at 8400 [size=16] Memory at 30000000 (32-bit, non-prefetchable) [size=1K] 0000:01:1c.0 0800: 8086:1461 (rev 04) (prog-if 20) Subsystem: 1043:80cb Flags: bus master, 66MHz, fast devsel, latency 0 Memory at fd000000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] PCI-X non-bridge device. 0000:01:1d.0 0604: 8086:1460 (rev 04) Flags: bus master, 66MHz, fast devsel, latency 64 Bus: primary=01, secondary=02, subordinate=02, sec-latency=64 Capabilities: [50] PCI-X bridge device. 0000:01:1e.0 0800: 8086:1461 (rev 04) (prog-if 20) Subsystem: 1043:80cb Flags: bus master, 66MHz, fast devsel, latency 0 Memory at fc800000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] PCI-X non-bridge device. 0000:01:1f.0 0604: 8086:1460 (rev 04) Flags: bus master, 66MHz, fast devsel, latency 64 Bus: primary=01, secondary=03, subordinate=03, sec-latency=0 I/O behind bridge: 0000d000-0000dfff Memory behind bridge: fb000000-fc7fffff Prefetchable memory behind bridge: 00000000fdf00000-00000000feb00000 Capabilities: [50] PCI-X bridge device. 0000:03:03.0 0200: 8086:100d (rev 02) Subsystem: 8086:110d Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 193 Memory at fc000000 (32-bit, non-prefetchable) [size=128K] Memory at fb800000 (32-bit, non-prefetchable) [size=128K] I/O ports at d800 [size=32] Expansion ROM at febe0000 [disabled] [size=128K] Capabilities: [dc] Power Management version 2 Capabilities: [e4] PCI-X non-bridge device. Capabilities: [f0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable - 0000:03:05.0 0104: 13c1:1002 Subsystem: 13c1:1002 Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 209 I/O ports at d400 [size=256] Memory at fb000000 (64-bit, non-prefetchable) [size=256] Memory at fe000000 (64-bit, prefetchable) [size=8M] Expansion ROM at fdf00000 [disabled] [size=64K] Capabilities: [40] PCI-X non-bridge device. Capabilities: [48] Power Management version 2 0000:04:01.0 0200: 8086:100e (rev 02) Subsystem: 8086:100e Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 201 Memory at fa000000 (32-bit, non-prefetchable) [size=128K] I/O ports at a800 [size=64] Capabilities: [dc] Power Management version 2 Capabilities: [e4] PCI-X non-bridge device. Capabilities: [f0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable - 0000:04:02.0 0300: 1002:4752 (rev 27) Subsystem: 1002:8008 Flags: bus master, stepping, medium devsel, latency 32, IRQ 9 Memory at f9000000 (32-bit, non-prefetchable) [size=16M] I/O ports at a400 [size=256] Memory at f8800000 (32-bit, non-prefetchable) [size=4K] Expansion ROM at fdee0000 [disabled] [size=128K] Capabilities: [5c] Power Management version 2 /proc/acpi/fan, /proc/acpi/embedded_controller or /proc/acpi/thermal_zone are empty directories. ls -lR /proc/acpi/ /proc/acpi/: total 0 -rw-r--r-- 1 root root 0 2006-06-30 09:23 alarm -r-------- 1 root root 0 2006-06-30 09:23 dsdt dr-xr-xr-x 2 root root 0 2006-06-30 09:23 embedded_controller -r-------- 1 root root 0 2006-06-30 09:23 event -r-------- 1 root root 0 2006-06-30 09:23 fadt dr-xr-xr-x 2 root root 0 2006-06-30 09:23 fan -r--r--r-- 1 root root 0 2006-06-30 09:23 info dr-xr-xr-x 2 root root 0 2006-06-30 09:23 power_resource dr-xr-xr-x 3 root root 0 2006-06-30 09:23 processor dr-xr-xr-x 2 root root 0 2006-06-30 09:23 thermal_zone -rw-r--r-- 1 root root 0 2006-06-30 09:23 wakeup /proc/acpi/embedded_controller: total 0 /proc/acpi/fan: total 0 /proc/acpi/power_resource: total 0 /proc/acpi/processor: total 0 dr-xr-xr-x 2 root root 0 2006-06-30 09:23 CPU0 /proc/acpi/processor/CPU0: total 0 -r--r--r-- 1 root root 0 2006-06-30 09:23 info -rw-r--r-- 1 root root 0 2006-06-30 09:23 limit -r--r--r-- 1 root root 0 2006-06-30 09:23 power -rw-r--r-- 1 root root 0 2006-06-30 09:23 throttling /proc/acpi/thermal_zone: total 0 Of note, this is a dual procesor mobo, but I am only running 1 processor.
Please also provide a copy of /proc/acpi/dsdt.
Created attachment 8460 [details] Unhide the SMBus controller on the Asus PU-DLS board Please test this patch and report. It was generated against 2.6.16.22 but should work fine with newer kernels as well.
Created attachment 8469 [details] dsdt file 2.6.15-8.deb for ASUS PU-DLS mobo
Thankyou. It works. Have attached dsdt fyi From dmesg: PCI: Enabled i801 SMBus device command# sensors pc87360-isa-ecc0 Adapter: ISA adapter as99127f-i2c-0-2d Adapter: SMBus I801 adapter at e800 VCore 1: +1.49 V (min = +1.14 V, max = +1.55 V) VCore 2: +1.52 V (min = +1.14 V, max = +1.55 V) +3.3V: +3.30 V (min = +2.96 V, max = +3.63 V) +5V: +4.65 V (min = +4.49 V, max = +5.51 V) +12V: +11.98 V (min = +9.55 V, max = +14.41 V) -12V: -2.16 V (min = -4.07 V, max = -0.32 V) -5V: -1.28 V (min = -1.76 V, max = -0.82 V) fan1: 4720 RPM (min = 2721 RPM, div = 2) fan2: 0 RPM (min = 3970 RPM, div = 2) fan3: 0 RPM (min = 1454 RPM, div = 8) M/B Temp: +29
From the dsdt data and the lack of hardware monitoring information in /proc/acpi, I think that the unhiding quirk should be safe for this machine. Let's wait a few weeks to make sure it has no undesired side effects, then I will push it upstream. If anything bad happens, please report.
Conrad, no problem so far?
No side effects on patch applied. sensorsd has worked "continuously" without fault. Just need to tune lmsensors still... Thanks
Patch committed (321311af25cbb65d3cc177e3777fedd526814ecc).