Kernel driver abituguru

Supported chips:

  • Abit uGuru revision 1 & 2 (Hardware Monitor part only)

    Prefix: ‘abituguru’

    Addresses scanned: ISA 0x0E0

    Datasheet: Not available, this driver is based on reverse engineering.A “Datasheet” has been written based on the reverse engineering itshould be available in the same dir as this file under the nameabituguru-datasheet.

    Note:

    The uGuru is a microcontroller with onboard firmware which programsit to behave as a hwmon IC. There are many different revisions of thefirmware and thus effectively many different revisions of the uGuru.Below is an incomplete list with which revisions are used for whichMotherboards:

    • uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7)[1]

    • uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)

    • uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)

    • uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)

    • uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)

    • uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,AW9D-MAX)[2]

[1]

For revisions 2 and 3 uGuru’s the driver can autodetect thesensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru’sthis does not always work. For these uGuru’s the autodetection canbe overridden with the bank1_types module param. For all 3 knownrevision 1 motherboards the correct use of this param is:bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1You may also need to specify the fan_sensors option for these boardsfan_sensors=5

[2]

There is a separate abituguru3 driver for these motherboards,the abituguru (without the 3 !) driver will not work on thesemotherboards (and vice versa)!

Authors:

Module Parameters

  • force: bool

    Force detection. Note this parameter only causes thedetection to be skipped, and thus the insmod tosucceed. If the uGuru can’t be read the actual hwmondriver will not load and thus no hwmon device will getregistered.

  • bank1_types: int[]

    Bank1 sensortype autodetection override:

    • -1 autodetect (default)

    • 0 volt sensor

    • 1 temp sensor

    • 2 not connected

  • fan_sensors: int

    Tell the driver how many fan speed sensors there areon your motherboard. Default: 0 (autodetect).

  • pwms: int

    Tell the driver how many fan speed controls (fanpwms) your motherboard has. Default: 0 (autodetect).

  • verbose: int

    How verbose should the driver be? (0-3):

    • 0 normal output

    • 1 + verbose error reporting

    • 2 + sensors type probing info (default)

    • 3 + retryable error reporting

    Default: 2 (the driver is still in the testing phase)

Notice: if you need any of the first three options above please insmod thedriver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of:dmesg | grep abituguru

Description

This driver supports the hardware monitoring features of the first andsecond revision of the Abit uGuru chip found on Abit uGuru featuringmotherboards (most modern Abit motherboards).

The first and second revision of the uGuru chip in reality is a WinbondW83L950D in disguise (despite Abit claiming it is “a new microprocessordesigned by the ABIT Engineers”). Unfortunately this doesn’t help since theW83L950D is a generic microcontroller with a custom Abit application runningon it.

Despite Abit not releasing any information regarding the uGuru, OlleSandberg <ollebull@gmail.com> has managed to reverse engineer the sensor partof the uGuru. Without his work this driver would not have been possible.

Known Issues

The voltage and frequency control parts of the Abit uGuru are not supported.