]> git.sur5r.net Git - groeck-it87/blobdiff - README
Add driver removal notice
[groeck-it87] / README
diff --git a/README b/README
index 4d97bffaf6fdd7c095dab35d80775d88056c6cad..fb8ba0bdaaaa70ba046f5fdcd770310a63b12cc2 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,41 @@
+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
 ==================
 
 Supported chips:
+  * IT8603E/IT8623E
+    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)
@@ -30,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)
@@ -50,6 +88,14 @@ Supported chips:
     Prefix: 'it8783'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Datasheet: Not publicly available
+  * IT8786E
+    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)
@@ -57,7 +103,41 @@ Supported chips:
 
 Authors:
     Christophe Gauthron
-    Jean Delvare <khali@linux-fr.org>
+    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
@@ -79,11 +159,31 @@ 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
 -------------------
 
-All the chips suported by this driver are LPC Super-I/O chips, accessed
+All the chips supported by this driver are LPC Super-I/O chips, accessed
 through the LPC bus (ISA-like I/O ports). The IT8712F additionally has an
 SMBus interface to the hardware monitoring functions. This driver no
 longer supports this interface though, as it is slower and less reliable
@@ -94,9 +194,10 @@ motherboard models.
 Description
 -----------
 
-This driver implements support for the IT8705F, IT8712F, IT8716F,
-IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8387E/F,
-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
@@ -116,22 +217,34 @@ the driver won't notice and report changes in the VID value. The two
 upper VID bits share their pins with voltage inputs (in5 and in6) so you
 can't have both on a given board.
 
-The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E, IT8783E/F, and later IT8712F
-revisions have support for 2 additional fans. The additional fans are supported
-by the driver.
+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 and IT8721F/IT8758E, 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 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
 for AMD power sequencing. Therefore the chip will appear as IT8716F
 to userspace applications.
 
-The IT8728F is considered compatible with the IT8721F, until a datasheet
-becomes available (hopefully.)
+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 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.
@@ -147,14 +260,20 @@ 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 IT8721F/IT8758E and IT8728F: 0.012 volt.) The battery
-voltage in8 does not have limit registers.
-
-On the IT8721F/IT8758E/IT8783E/F, some voltage inputs are internal and scaled
-inside the chip (in7, in8 and optionally in3). The driver handles this
-transparently so user-space doesn't have to care.
+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)
+* in9 (relevant for IT8603E only)
+The driver handles this transparently so user-space doesn't have to care.
 
 The VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value:
 the voltage level your processor should work with. This is hardcoded by
@@ -220,3 +339,76 @@ doesn't use CPU cycles.
 Trip points must be set properly before switching to automatic fan speed
 control mode. The driver will perform basic integrity checks before
 actually switching to automatic control mode.
+
+
+Temperature offset attributes
+-----------------------------
+
+The driver supports temp[1-3]_offset sysfs attributes to adjust the reported
+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.