]> git.sur5r.net Git - groeck-it87/blobdiff - README
Add driver removal notice
[groeck-it87] / README
diff --git a/README b/README
index 19fbe775ae108981ad49e37a1bef26e45a514073..fb8ba0bdaaaa70ba046f5fdcd770310a63b12cc2 100644 (file)
--- a/README
+++ b/README
@@ -1,3 +1,14 @@
+DRIVER REMOVAL NOTICE
+=====================
+
+I have been unable to meet support demands for this driver, resulting
+in unpleasant experience and frustration for everyone involved.
+
+Consequently, the driver will be removed from github, effective
+August 1, 2018. Interested parties are encouraged to clone the driver
+before that time and to start maintaining it on their own.
+
+
 Kernel driver it87
 ==================
 
@@ -6,6 +17,25 @@ Supported chips:
     Prefix: 'it8603'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Datasheet: Not publicly available
+  * IT8613E
+    Prefix: 'it8613'
+    Addresses scanned: from Super I/O config space (8 I/O ports)
+    Datasheet: Not publicly available
+  * IT8620E
+    Prefix: 'it8620'
+    Addresses scanned: from Super I/O config space (8 I/O ports)
+  * IT8622E
+    Prefix: 'it8622'
+    Addresses scanned: from Super I/O config space (8 I/O ports)
+    Datasheet: Not publicly available
+  * IT8625E
+    Prefix: 'it8625'
+    Addresses scanned: from Super I/O config space (8 I/O ports)
+    Datasheet: Not publicly available
+  * IT8628E
+    Prefix: 'it8628'
+    Addresses scanned: from Super I/O config space (8 I/O ports)
+    Datasheet: Not publicly available
   * IT8705F
     Prefix: 'it87'
     Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -34,6 +64,10 @@ Supported chips:
     Prefix: 'it8728'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Datasheet: Not publicly available
+  * IT8732F
+    Prefix: 'it8732'
+    Addresses scanned: from Super I/O config space (8 I/O ports)
+    Datasheet: Not publicly available
   * IT8771E
     Prefix: 'it8771'
     Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -58,6 +92,10 @@ Supported chips:
     Prefix: 'it8786'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Datasheet: Not publicly available
+  * IT8790E
+    Prefix: 'it8790'
+    Addresses scanned: from Super I/O config space (8 I/O ports)
+    Datasheet: Not publicly available
   * SiS950   [clone of IT8705F]
     Prefix: 'it87'
     Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -66,6 +104,40 @@ Supported chips:
 Authors:
     Christophe Gauthron
     Jean Delvare <jdelvare@suse.de>
+    Guenter Roeck <linux@roeck-us.net>
+
+
+Building & Installing
+---------------------
+
+* make clean
+* make
+* sudo make install
+
+
+Using DKMS
+----------
+
+To install:
+
+* sudo make dkms
+
+To remove:
+
+* sudo make dkms_clean
+
+Notes:
+
+* The module does not provide a real version number, so `git describe --long`
+  is used to create one. This means that anything that changes the git state
+  will change the version. `make dkms_clean` should be run before making a
+  commit or an update with `git pull` as the Makefile is currently unable to
+  track the last installed version to replace it. If this doesn't happen, the
+  old version will need to be manually removed from dkms, before installing
+  the updated module.
+  Something like `dkms remove -m it87 -v <old version> --all`, followed by
+  `rm -rf /usr/src/it87-<old version>`, should do.
+  `dkms status it87` can be used to list the installed versions.
 
 
 Module Parameters
@@ -87,6 +159,26 @@ Module Parameters
   misconfigured by BIOS - PWM values would be inverted. This option tries
   to fix this. Please contact your BIOS manufacturer and ask him for fix.
 
+* force_id
+
+  Force chip ID to specified value. Should only be used for testing.
+
+* ignore_resource_conflict
+
+  Similar to acpi_enforce_resources=lax, but only affects this driver.
+  ACPI resource conflicts are ignored if this parameter is provided and
+  set to 1.
+  Provided since there are reports that system-wide acpi_enfore_resources=lax
+  can result in boot failures on some systems.
+  Note: This is inherently risky since it means that both ACPI and this driver
+  may access the chip at the same time. This can result in race conditions and,
+  worst case, result in unexpected system reboots.
+
+* mmio
+
+  If set to 1, the driver uses MMIO to access the chip if supported. This is
+  faster and less risky (untested!).
+
 
 Hardware Interfaces
 -------------------
@@ -102,9 +194,10 @@ motherboard models.
 Description
 -----------
 
-This driver implements support for the IT8603E, IT8623E, IT8705F, IT8712F,
-IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8771E,
-IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E, and SiS950 chips.
+This driver implements support for the IT8603E, IT8620E, IT8622E, IT8623E,
+IT8628E, IT8705F, IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F,
+IT8732F, IT8758E, IT8771E, IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E,
+IT8790E, and SiS950 chips.
 
 These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
 joysticks and other miscellaneous stuff. For hardware monitoring, they
@@ -128,10 +221,10 @@ The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E and later IT8712F revisions
 have support for 2 additional fans. The additional fans are supported by the
 driver.
 
-The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E, IT8781F, IT8782F, IT8783E/F,
-and late IT8712F and IT8705F also have optional 16-bit tachometer counters
-for fans 1 to 3. This is better (no more fan clock divider mess) but not
-compatible with the older chips and revisions. The 16-bit tachometer mode
+The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E, IT8732F, IT8781F, IT8782F,
+IT8783E/F, and late IT8712F and IT8705F also have optional 16-bit tachometer
+counters for fans 1 to 3. This is better (no more fan clock divider mess) but
+not compatible with the older chips and revisions. The 16-bit tachometer mode
 is enabled by the driver when one of the above chips is detected.
 
 The IT8726F is just bit enhanced IT8716F with additional hardware
@@ -142,8 +235,16 @@ The IT8728F, IT8771E, and IT8772E are considered compatible with the IT8721F,
 until a datasheet becomes available (hopefully.)
 
 The IT8603E/IT8623E is a custom design, hardware monitoring part is similar to
-IT8728F. It only supports 16-bit fan mode, the full speed mode of the
-fan is not supported (value 0 of pwmX_enable).
+IT8728F. It only supports 3 fans, 16-bit fan mode, and the full speed mode
+of the fan is not supported (value 0 of pwmX_enable).
+
+The IT8620E and IT8628E are custom designs, hardware monitoring part is similar
+to IT8728F. It only supports 16-bit fan mode. Both chips support up to 6 fans.
+
+The IT8790E supports up to 3 fans. 16-bit fan mode is always enabled.
+
+The IT8732F supports a closed-loop mode for fan control, but this is not
+currently implemented by the driver.
 
 Temperatures are measured in degrees Celsius. An alarm is triggered once
 when the Overtemperature Shutdown limit is crossed.
@@ -159,13 +260,15 @@ is done.
 Voltage sensors (also known as IN sensors) report their values in volts. An
 alarm is triggered if the voltage has crossed a programmable minimum or
 maximum limit. Note that minimum in this case always means 'closest to
-zero'; this is important for negative voltage measurements. All voltage
-inputs can measure voltages between 0 and 4.08 volts, with a resolution of
-0.016 volt (except IT8603E, IT8721F/IT8758E and IT8728F: 0.012 volt.) The
-battery voltage in8 does not have limit registers.
-
-On the IT8603E, IT8721F/IT8758E, IT8781F, IT8782F, and IT8783E/F, some
-voltage inputs are internal and scaled inside the chip:
+zero'; this is important for negative voltage measurements. On most chips, all
+voltage inputs can measure voltages between 0 and 4.08 volts, with a resolution
+of 0.016 volt.  IT8603E, IT8721F/IT8758E and IT8728F can measure between 0 and
+3.06 volts, with a resolution of 0.012 volt.  IT8732F can measure between 0 and
+2.8 volts with a resolution of 0.0109 volt.  The battery voltage in8 does not
+have limit registers.
+
+On the IT8603E, IT8620E, IT8628E, IT8721F/IT8758E, IT8732F, IT8781F, IT8782F,
+and IT8783E/F, some voltage inputs are internal and scaled inside the chip:
 * in3 (optional)
 * in7 (optional for IT8781F, IT8782F, and IT8783E/F)
 * in8 (always)
@@ -246,3 +349,66 @@ temperature for thermal diodes or diode-connected thermal transistors.
 If a temperature sensor is configured for thermistors, the attribute values
 are ignored. If the thermal sensor type is Intel PECI, the temperature offset
 must be programmed to the critical CPU temperature.
+
+Preliminary support
+-------------------
+
+Support for IT8607E is preliminary. Voltage readings, temperature readings,
+fan control, and fan speed measurements may be wrong and/or missing.
+Fan control and fan speed may be enabled and reported for non-existing
+fans. Please report any problems and inconsistencies.
+
+Reporting information for unsupported chips
+-------------------------------------------
+
+If the chip in your system is not yet supported by the driver, please provide
+the following information.
+
+First, run sensors-detect. It will tell you something like
+
+    Probing for Super-I/O at 0x2e/0x2f
+    ...
+    Trying family `ITE'...                                      Yes
+    Found unknown chip with ID 0x8665
+       (logical device 4 has address 0x290, could be sensors)
+
+With this information, run the following commands.
+
+sudo isadump -k 0x87,0x01,0x55,0x55 0x2e 0x2f 7
+sudo isadump 0x295 0x296
+
+and report the results.
+
+The addresses in the first command are from "Probing for Super-I/O at
+0x2e/0x2f". Use those addresses in the first command.
+    sudo isadump -k 0x87,0x01,0x55,0x55 0x2e 0x2f 7
+
+The addresses in the second command are from "has address 0x290".
+Add 5 and 6 to this address for the next command.
+    sudo isadump 0x295 0x296
+
+Next, force-install the driver by providing one of the already supported chips
+as forced ID. Useful IDs to test are 0x8622, 0x8628, 0x8728, and 0x8732, though
+feel free to test more IDs. For each ID, instantiate the driver as follows
+(this example is instantiating driver with ID 0x8622).
+       sudo modprobe it87 force_id=0x8622
+After entering this command, run the "sensors" command and provide the output.
+Then unload the driver with
+       sudo modprobe -r it87
+Repeat with different chip IDs, and report each result.
+
+Please also report your board type as well as voltages and fan settings from
+the BIOS. If possible, connect fans to different fan headers and let us know
+if all fans are detected and reported.
+
+This information _might_ give us enough information to add experimental support
+for the chip in question. No guarantees, though - unless a datasheet is
+available, something is likely to be wrong.
+
+A note on sensors-detect
+========================
+
+There is a persistent perception that changes in this driver would have impact
+on the output of sensors-detect. This is not the case. sensors-detect is an
+independent application. Changes in this driver do not affect sensors-detect,
+and changes in sensors-detect do not affect this driver.