X-Git-Url: https://git.sur5r.net/?p=groeck-it87;a=blobdiff_plain;f=README;h=fb8ba0bdaaaa70ba046f5fdcd770310a63b12cc2;hp=19fbe775ae108981ad49e37a1bef26e45a514073;hb=HEAD;hpb=6200e84c624bb1a13f051d3c8d6970d2716edd28 diff --git a/README b/README index 19fbe77..fb8ba0b 100644 --- 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 + Guenter Roeck + + +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 --all`, followed by + `rm -rf /usr/src/it87-`, 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.