^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Kernel driver abituguru3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Abit uGuru revision 3 (Hardware Monitor part, reading only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Prefix: 'abituguru3'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Addresses scanned: ISA 0x0E0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Datasheet: Not available, this driver is based on reverse engineering.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Note:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) The uGuru is a microcontroller with onboard firmware which programs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) it to behave as a hwmon IC. There are many different revisions of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) firmware and thus effectively many different revisions of the uGuru.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Below is an incomplete list with which revisions are used for which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Motherboards:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) AW9D-MAX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) The abituguru3 driver is only for revision 3.0.x.x motherboards,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) this driver will not work on older motherboards. For older
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) motherboards use the abituguru (without the 3 !) driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Authors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - Hans de Goede <j.w.r.degoede@hhs.nl>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - (Initial reverse engineering done by Louis Kruger)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Module Parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) -----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) * force: bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Force detection. Note this parameter only causes the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) detection to be skipped, and thus the insmod to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) succeed. If the uGuru can't be read the actual hwmon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) driver will not load and thus no hwmon device will get
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) registered.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) * verbose: bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) Should the driver be verbose?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) * 0/off/false normal output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) * 1/on/true + verbose error reporting (default)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Default: 1 (the driver is still in the testing phase)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) This driver supports the hardware monitoring features of the third revision of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) the Abit uGuru chip, found on recent Abit uGuru featuring motherboards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) The 3rd revision of the uGuru chip in reality is a Winbond W83L951G.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Unfortunately this doesn't help since the W83L951G is a generic microcontroller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) with a custom Abit application running on it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) Despite Abit not releasing any information regarding the uGuru revision 3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Louis Kruger has managed to reverse engineer the sensor part of the uGuru.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) Without his work this driver would not have been possible.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) Known Issues
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) The voltage and frequency control parts of the Abit uGuru are not supported,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) neither is writing any of the sensor settings and writing / reading the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) fanspeed control registers (FanEQ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) If you encounter any problems please mail me <j.w.r.degoede@hhs.nl> and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) include the output of: `dmesg | grep abituguru`