Lines Matching +full:fan +full:- +full:0

1 .. SPDX-License-Identifier: GPL-2.0-or-later
5 Kernel driver dell-smm-hwmon
8 :Copyright: |copy| 2002-2005 Massimo Dal Zotto <dz@debian.org>
12 -----------
18 automatically adjust fan speed (please notice that it currently uses
24 -------------------
35 fan[1-3]_input RO Fan speed in RPM.
36 fan[1-3]_label RO Fan label.
37 fan[1-3]_min RO Minimal Fan speed in RPM
38 fan[1-3]_max RO Maximal Fan speed in RPM
39 fan[1-3]_target RO Expected Fan speed in RPM
40 pwm[1-3] RW Control the fan PWM duty-cycle.
41 pwm1_enable WO Enable or disable automatic BIOS fan
44 temp[1-10]_input RO Temperature reading in milli-degrees
46 temp[1-10]_label RO Temperature sensor label.
50 fan number X.
52 Disabling automatic BIOS fan control
53 ------------------------------------
55 On some laptops the BIOS automatically sets fan speed every few
56 seconds. Therefore the fan speed set by mean of this driver is quickly
59 There is experimental support for disabling automatic BIOS fan
63 more than one fan, all of them are set to either enabled or disabled
64 automatic fan control at the same time and, notwithstanding the name,
68 enabling and disabling automatic BIOS fan control are not whitelisted
74 ``drivers/hwmon/dell-smm-hwmon.c`` in the kernel tree: as a first
75 attempt you can try to add your machine and use an already-known code
77 is present and works (i.e., you can manually control the fan speed),
80 :ref:`Documentation/process/submitting-patches.rst <submittingpatches>`
93 ---------------------------
96 ``type`` set to ``dell-smm-fan[1-3]``. This allows for easy fan control
100 -----------------
104 models. (default: 0)
108 match. (default: 0)
111 Allow fan control only to processes with the
115 to read temperature and fan status but not to
116 control the fan. If your notebook is shared with
122 Report AC status in ``/proc/i8k``. (default: 0,
126 Factor to multiply fan speed with. (default:
130 Maximum configurable fan speed. (default:
134 --------------------------
151 | | | | | | | | | +------- 10. buttons status
152 | | | | | | | | +--------- 9. AC status
153 | | | | | | | +-------------- 8. fan0 RPM
154 | | | | | | +------------------- 7. fan1 RPM
155 | | | | | +--------------------- 6. fan0 status
156 | | | | +----------------------- 5. fan1 status
157 | | | +-------------------------- 4. temp0 reading (Celsius)
158 … | | +---------------------------------- 3. Dell service tag (later known as 'serial number')
159 | +-------------------------------------- 2. BIOS version
160 +------------------------------------------ 1. /proc/i8k format version
162 A negative value, for example -22, indicates that the BIOS doesn't
171 available -1 is printed instead.
174 obtain the same information and to control the fan status. The ioctl
180 -------------
182 .. warning:: The SMM interface was reverse-engineered by trial-and-error
187 This interface is normally used by Dell's 32-bit diagnostic program or
202 ecx Unknown, set to 0.
204 esi Unknown, set to 0.
205 edi Unknown, set to 0.
210 - setting the lower sixteen bits of ``eax`` to ``0xffff``
211 - not modifying ``eax`` at all
212 - setting the carry flag (legacy SMM interface only)
215 --------------------
218 of the command code to the special ioports ``0xb2`` and ``0x84``. This interface is not
222 -----------------
229 [WMI, Provider("Provider_DiagnosticsServices"), Dynamic, Locale("MS\\0x409"),
230 Description("RunDellDiag"), guid("{F1DDEE52-063C-4784-A11E-8A06684B9B01}")]
248 -----------------
253 ``0x0025`` Get Fn key status Returns the Fn key pressed after SMM:
255 - 9th bit in ``eax`` indicates Volume up
256 - 10th bit in ``eax`` indicates Volume down
257 - both bits indicate Volume mute
259 ``0xa069`` Get power status Returns current power status after SMM:
261 - 1st bit in ``eax`` indicates Battery connected
262 - 3th bit in ``eax`` indicates AC connected
264 ``0x00a3`` Get fan state Returns current fan state after SMM:
266 - 1st byte in ``eax`` holds the current
267 fan state (0 - 2 or 3)
269 ``0x01a3`` Set fan state Sets the fan speed:
271 - 1st byte in ``ebx`` holds the fan number
272 - 2nd byte in ``ebx`` holds the desired
273 fan state (0 - 2 or 3)
275 ``0x02a3`` Get fan speed Returns the current fan speed in RPM:
277 - 1st byte in ``ebx`` holds the fan number
278 - 1st word in ``eax`` holds the current
279 fan speed in RPM (after SMM)
281 ``0x03a3`` Get fan type Returns the fan type:
283 - 1st byte in ``ebx`` holds the fan number
284 - 1st byte in ``eax`` holds the
285 fan type (after SMM):
287 - 5th bit indicates docking fan
288 - 1 indicates Processor fan
289 - 2 indicates Motherboard fan
290 - 3 indicates Video fan
291 - 4 indicates Power supply fan
292 - 5 indicates Chipset fan
293 - 6 indicates other fan type
295 ``0x04a3`` Get nominal fan speed Returns the nominal RPM in each fan state:
297 - 1st byte in ``ebx`` holds the fan number
298 - 2nd byte in ``ebx`` holds the fan state
299 in question (0 - 2 or 3)
300 - 1st word in ``eax`` holds the nominal
301 fan speed in RPM (after SMM)
303 ``0x05a3`` Get fan speed tolerance Returns the speed tolerance for each fan state:
305 - 1st byte in ``ebx`` holds the fan number
306 - 2nd byte in ``ebx`` holds the fan state
307 in question (0 - 2 or 3)
308 - 1st byte in ``eax`` returns the speed
311 ``0x10a3`` Get sensor temperature Returns the measured temperature:
313 - 1st byte in ``ebx`` holds the sensor number
314 - 1st byte in ``eax`` holds the measured
317 ``0x11a3`` Get sensor type Returns the sensor type:
319 - 1st byte in ``ebx`` holds the sensor number
320 - 1st byte in ``eax`` holds the
323 - 1 indicates CPU sensor
324 - 2 indicates GPU sensor
325 - 3 indicates SODIMM sensor
326 - 4 indicates other sensor type
327 - 5 indicates Ambient sensor
328 - 6 indicates other sensor type
330 ``0xfea3`` Get SMM signature Returns Dell signature if interface
333 - ``eax`` holds 1145651527
334 (0x44494147 or "DIAG")
335 - ``edx`` holds 1145392204
336 (0x44454c4c or "DELL")
338 ``0xffa3`` Get SMM signature Same as ``0xfea3``, check both.
341 There are additional commands for enabling (``0x31a3`` or ``0x35a3``) and
342 disabling (``0x30a3`` or ``0x34a3``) automatic fan speed control.
348 fan control should be enabled for a specific fan.
349 However there are also some machines who do support a 4th regular fan state too,
354 -------------
361 Reading of fan states return spurious errors. Precision 490
365 Reading of fan types causes erratic fan behaviour. Studio XPS 8000
373 Fan-related SMM calls take too long (about 500ms). Inspiron 7720
386 -----------
390 Also the fan state needs to be restored after suspend, as well as