root/lm-sensors/trunk/prog/hotplug/README.p4b

Revision 4294, 3.3 kB (checked in by khali, 1 year ago)

Warn the user that using the unhide_ICH_SMBus script breaks system
suspend/resume.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 What is it?
2 -----------
3
4 It unhides the SMBus of Intel ICH southbridges hidden
5 on ASUS P4B series. It is implemented as a module (p4b_smbus.o),
6 or a shell script for the 2.6 kernel (unhide_ICH_SMBus).
7
8 It works with the following chips:
9  * ICH2   (82801BA)
10  * ICH2-M (82801BAM)
11  * ICH4   (82801DB)
12  * ICH4-M (82801DBM)
13  * ICH5   (82801EB)
14
15 ASUS switches off the SMBus PCI Device in the i801 ICH chip. I spoke twice
16 with the German support and learned that: "We do not want the users to be
17 irritated by just another PCI Device in the Win98 device manager."
18 Really funny :-).
19
20 This module is for 2.4 kernels only. For 2.6 kernels, activation is
21 handled by the code in drivers/pci/quirks.c in the kernel source. If you
22 have the 2.6 kernel and the quirks code does not activate your SMBus,
23 you may:
24
25  * check if you have kernel version from 2.6.17 to 2.6.19
26    If so you, need to disable ACPI sleep support and recompile kernel.
27    If you don't use suspend try below instead of recompilation.
28
29  * run as root the ./unhide_ICH_SMBus script. It will unhide the bus
30    and load the i2c-i801 driver. Beware that you should then no longer
31    use system suspend as bad things might happen on resume.
32
33  * if above script works and you have latest kernel, you may
34    try to fix the quirks.c, recompile and test your new kernel,
35    and then submit a patch to us. Contact us if you need assistance.
36
37 Information for 2.4 users continues below.
38
39 NOTE: As of kernel 2.4.23, the kernel activates the SMBus PCI device
40 on the following boards:
41  * Asus P4B
42  * Asus P4B533
43  * Asus P4PE
44  * Asus P4T533
45  * Asus P4G8X Deluxe
46 So this module is no longer required for these boards. For the other
47 affected boards, it still is.
48
49 What does the module do?
50 ------------------------
51 (Note: the following instructions assume the ICH2. For the ICH4,
52 the PCI IDs are 24C0 and 24C3)
53
54 It turnes off (!) the bits number 8 and 3 in the LPC register of the ICH2.
55 This you can also try as root with setpci and pcitweak.
56 First do a:
57
58 setpci -d 8086:2440 f2.w
59
60 You will get an hex number VAL - in my case 148 (Hex)-, where you have to
61 erase the two bits - in my case you get 40 (Hex).
62 Then do a:
63
64 setpci -d 8086:2440 f2.w=VAL
65
66 Running "lspci -n" you will not see any new device, but with "pcitweak -l" you
67 should get a line similar to this in the output:
68
69 PCI: 00:1f:3: chip 8086,2443 card 1043,8028 rev 12 class 0c,05,00 hdr 00
70
71 The important thing is the "8086,2443" here.
72 The device is activated, but not included in /proc/pci and
73 /proc/bus/pci/devices. This is the reason for running the module.
74
75 What are the system requirements?
76 ---------------------------------
77
78 - Obviously a board with Intel i801BA/DB/EB ICH2/4/5 with broken BIOS.
79 - A linux working with a 2.4 kernel AND hotplug support in it!
80 - A installed kernel tree and gcc.
81 - i2c and sensor modules installed.
82
83 How to install?
84 ---------------
85
86 Simply do a:
87
88 make -f Makefile.p4b
89 insmod p4b_smbus.o
90 modprobe  i2c-core
91 modprobe  i2c-i801
92 modprobe  i2c-dev
93 modprobe  i2c-proc
94
95 Then run your sensor:
96
97 modprobe  w83781d
98
99 What should i never do?
100 -----------------------
101
102 Do not try to do a "rmmod p4b_smbus" before a "rmmod i2c-i801".
103 The other way around should be okay. Otherwise you remove the PCI device
104 without notifying the i2c driver.
105
106
107 -------------------------------
108 Ilja Rauhut <IljaRauhut@web.de>
109  
Note: See TracBrowser for help on using the browser.