mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-10-25 15:25:58 +00:00
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2973 7894878c-1315-0410-8ee3-d5d059ff63e0
89 lines
2.6 KiB
Plaintext
89 lines
2.6 KiB
Plaintext
What is it?
|
|
-----------
|
|
|
|
NOTE:
|
|
This module is for 2.4 kernels only. For 2.6 kernels,
|
|
activation is handled by the code in drivers/pci/quirks.c
|
|
in the kernel source. If you have the latest 2.6 kernel and
|
|
the quirks code does not activate your SMBus, try adding support
|
|
in quirks.c, recompile and test your new kernel, and then
|
|
submit a patch to us. Contact us if you need assistance.
|
|
|
|
This is just a quick and dirty hack to get the hardware monitoring working
|
|
on the ASUS P4B board under Linux.
|
|
It works by turning on the SMBus PCI device.
|
|
It is implemented as a module, p4b_smbus.o.
|
|
It only works with the ICH2 (82801BA) and ICH4 (82801DB).
|
|
|
|
ASUS switches off the SMBus PCI Device
|
|
in the i801 ICH2/4 chip. I spoke two times
|
|
with the German support and learned that: "We do not want the users to be
|
|
irritated by just another PCI Device in the Win98 device manager."
|
|
Really funny :-).
|
|
|
|
NOTE: We have a report that as of kernel 2.4.23, the kernel activates
|
|
the SMBus PCI device, so that this module is not required.
|
|
|
|
|
|
What does the module do?
|
|
------------------------
|
|
(Note: the following instructions assume the ICH2. For the ICH4,
|
|
the PCI IDs are 24C0 and 24C3)
|
|
|
|
It turnes off (!) the bits number 8 and 3 in the LPC register of the ICH2.
|
|
This you can also try as root with setpci and pcitweak.
|
|
First do a:
|
|
|
|
setpci -d 8086:2440 f2.w
|
|
|
|
You will get an hex number VAL - in my case 148 (Hex)-, where you have to
|
|
erase the two bits - in my case you get 40 (Hex).
|
|
Then do a:
|
|
|
|
setpci -d 8086:2440 f2.w=VAL
|
|
|
|
Running "lspci -n" you will not see any new device, but with "pcitweak -l" you
|
|
should get a line similar to this in the output:
|
|
|
|
PCI: 00:1f:3: chip 8086,2443 card 1043,8028 rev 12 class 0c,05,00 hdr 00
|
|
|
|
The important thing is the "8086,2443" here.
|
|
The device is activated, but not included in /proc/pci and
|
|
/proc/bus/pci/devices. This is the reason for running the module.
|
|
|
|
What are the system requirements?
|
|
---------------------------------
|
|
|
|
- Obviously a board with Intel i801BA/DB ICH2/4 with broken bios.
|
|
- A linux working with a 2.4 kernel AND hotplug support in it!
|
|
- A installed kernel tree and gcc.
|
|
- i2c and sensor modules installed.
|
|
|
|
How to install?
|
|
---------------
|
|
|
|
Simply do a:
|
|
|
|
make -f Makefile.p4b
|
|
insmod p4b_smbus.o
|
|
modprobe i2c-core
|
|
modprobe i2c-i801
|
|
modprobe i2c-dev
|
|
modprobe i2c-proc
|
|
|
|
Then run your sensor:
|
|
|
|
modprobe w83781d
|
|
|
|
What should i never do?
|
|
-----------------------
|
|
|
|
Do not try to do a "rmmod p4b_smbus" before a "rmmod i2c-i801".
|
|
The other way around should be okay. Otherwise you remove the PCI device
|
|
without notifying the i2c driver.
|
|
|
|
|
|
-------------------------------
|
|
Ilja Rauhut <IljaRauhut@web.de>
|
|
|