1 |
62 |
marcus.erl |
Kernel driver abituguru
|
2 |
|
|
=======================
|
3 |
|
|
|
4 |
|
|
Supported chips:
|
5 |
|
|
* Abit uGuru revision 1 & 2 (Hardware Monitor part only)
|
6 |
|
|
Prefix: 'abituguru'
|
7 |
|
|
Addresses scanned: ISA 0x0E0
|
8 |
|
|
Datasheet: Not available, this driver is based on reverse engineering.
|
9 |
|
|
A "Datasheet" has been written based on the reverse engineering it
|
10 |
|
|
should be available in the same dir as this file under the name
|
11 |
|
|
abituguru-datasheet.
|
12 |
|
|
Note:
|
13 |
|
|
The uGuru is a microcontroller with onboard firmware which programs
|
14 |
|
|
it to behave as a hwmon IC. There are many different revisions of the
|
15 |
|
|
firmware and thus effectivly many different revisions of the uGuru.
|
16 |
|
|
Below is an incomplete list with which revisions are used for which
|
17 |
|
|
Motherboards:
|
18 |
|
|
uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) (1)
|
19 |
|
|
uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
20 |
|
|
uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
|
21 |
|
|
uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)
|
22 |
|
|
uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
|
23 |
|
|
uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
|
24 |
|
|
AW9D-MAX) (2)
|
25 |
|
|
1) For revisions 2 and 3 uGuru's the driver can autodetect the
|
26 |
|
|
sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
|
27 |
|
|
this doesnot always work. For these uGuru's the autodection can
|
28 |
|
|
be overriden with the bank1_types module param. For all 3 known
|
29 |
|
|
revison 1 motherboards the correct use of this param is:
|
30 |
|
|
bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1
|
31 |
|
|
You may also need to specify the fan_sensors option for these boards
|
32 |
|
|
fan_sensors=5
|
33 |
|
|
2) There is a seperate abituguru3 driver for these motherboards,
|
34 |
|
|
the abituguru (without the 3 !) driver will not work on these
|
35 |
|
|
motherboards (and visa versa)!
|
36 |
|
|
|
37 |
|
|
Authors:
|
38 |
|
|
Hans de Goede ,
|
39 |
|
|
(Initial reverse engineering done by Olle Sandberg
|
40 |
|
|
)
|
41 |
|
|
|
42 |
|
|
|
43 |
|
|
Module Parameters
|
44 |
|
|
-----------------
|
45 |
|
|
|
46 |
|
|
* force: bool Force detection. Note this parameter only causes the
|
47 |
|
|
detection to be skipped, and thus the insmod to
|
48 |
|
|
succeed. If the uGuru can't be read the actual hwmon
|
49 |
|
|
driver will not load and thus no hwmon device will get
|
50 |
|
|
registered.
|
51 |
|
|
* bank1_types: int[] Bank1 sensortype autodetection override:
|
52 |
|
|
-1 autodetect (default)
|
53 |
|
|
|
54 |
|
|
1 temp sensor
|
55 |
|
|
2 not connected
|
56 |
|
|
* fan_sensors: int Tell the driver how many fan speed sensors there are
|
57 |
|
|
on your motherboard. Default: 0 (autodetect).
|
58 |
|
|
* pwms: int Tell the driver how many fan speed controls (fan
|
59 |
|
|
pwms) your motherboard has. Default: 0 (autodetect).
|
60 |
|
|
* verbose: int How verbose should the driver be? (0-3):
|
61 |
|
|
|
62 |
|
|
1 + verbose error reporting
|
63 |
|
|
2 + sensors type probing info (default)
|
64 |
|
|
3 + retryable error reporting
|
65 |
|
|
Default: 2 (the driver is still in the testing phase)
|
66 |
|
|
|
67 |
|
|
Notice if you need any of the first three options above please insmod the
|
68 |
|
|
driver with verbose set to 3 and mail me the output of:
|
69 |
|
|
dmesg | grep abituguru
|
70 |
|
|
|
71 |
|
|
|
72 |
|
|
Description
|
73 |
|
|
-----------
|
74 |
|
|
|
75 |
|
|
This driver supports the hardware monitoring features of the first and
|
76 |
|
|
second revision of the Abit uGuru chip found on Abit uGuru featuring
|
77 |
|
|
motherboards (most modern Abit motherboards).
|
78 |
|
|
|
79 |
|
|
The first and second revision of the uGuru chip in reality is a Winbond
|
80 |
|
|
W83L950D in disguise (despite Abit claiming it is "a new microprocessor
|
81 |
|
|
designed by the ABIT Engineers"). Unfortunatly this doesn't help since the
|
82 |
|
|
W83L950D is a generic microcontroller with a custom Abit application running
|
83 |
|
|
on it.
|
84 |
|
|
|
85 |
|
|
Despite Abit not releasing any information regarding the uGuru, Olle
|
86 |
|
|
Sandberg has managed to reverse engineer the sensor part
|
87 |
|
|
of the uGuru. Without his work this driver would not have been possible.
|
88 |
|
|
|
89 |
|
|
Known Issues
|
90 |
|
|
------------
|
91 |
|
|
|
92 |
|
|
The voltage and frequency control parts of the Abit uGuru are not supported.
|