cpufrequtils + i8kctl (+ gkrellm?) = cpu temp based throttling?

Sai Emrys sai at saizai.com
Mon Oct 22 20:52:53 BST 2007

On 10/21/07, Mattia Dongili <malattia at linux.it> wrote:
> oooh, I see. Your temperature source is neither acpi nor lm-sensors.

Not as far as I know, yeah. Neither seems to work - dunno if there's
something I'm supposed to custom configure, but I was under the
impression that both work out of the box.

> Creating a new cpufreqd plugin to monitor /proc/i8k should be
> straight forward but I may need some help in testing and I'd need to see
> the exact contents of /proc/i8k to be able to do it.

Happy to help you test, but this area is over my head to code. (I do RoR.)

My own output:
--> while on AC:
$ i8kctl
1.0 (null) C724P71 66 -1 2 27660 127170 1 2
$ cat /proc/i8k
1.0 A17 C724P71 65 -22 2 27660 129420 -1 2
$ i8kctl temp
$ i8kctl fan
-1 2
$ i8kctl speed
27660 111750
$ i8kctl ac
$ i8kctl fn
--> while off AC:
$ i8kctl ac
$ cat /proc/i8k
1.0 A17 C724P71 66 -22 2 27660 129420 -1 2

Note that this has some bugs:
* "left" fan is nonexistent but reports fan speed
* /proc/i8k reports different fan status (-22 vs -1)
* /proc/i8k does not report AC status (-1 vs 1 or 0)
* i8kctl does not report BIOS id

See man page copied below.

- Sai

       I8kctl, i8kfan - Utility to access SMM BIOS on Dell Inspiron laptops

       i8kctl [<command> [<args>]]
       i8kfan [<left> [<right>]]

       The  i8kctl  utility  provides  a  command-line  interface to
the i8k kernel driver for Dell Inspiron laptops. When invoked without
arguments the program reports the same
       information which can be read from the /proc/i8k file:

              1.  i8k format version
              2.  bios version
              3.  machine id
              4.  cpu temperature
              5.  left fan status
              6.  right fan speed
              7.  left fan status
              8.  right fan speed
              9.  ac power status
              10. fn buttons status

       The optional command argument can be used to select only one of
the above items. Command can be: version, bios, id, temp, fan, speed,
ac and fn. Examples:

              $ i8kctl
              1.0 A17 B5W123K 52 2 1 8040 6420 1 2

              $ i8kctl temp

              $ i8kctl fan
              2 1

       The fan command can accept two optional parameters which
specify the new fan state for left and right fans. The state parameter
can be:

              0  turn the fan off
              1  set low speed
              2  set high speed
              -  don't change the state of this fan

       For example the command:

              $ i8kctl fan - 2

       sets the right fan to high speed and leaves the left unchanged.
 It should be noted that if the i8kmon(1) daemon is used to control
the  fans,  setting  the  speed  with
       i8kfan is pointless since the daemon will override the speed
with its own value.

       Invoking i8kctl as i8kfan is the same as invoking the program
with the fan option:

              $ i8kctl fan 1 2
              1 2

              $ i8kfan 1 2
              1 2


       Massimo Dal Zotto <dz at debian.org>

More information about the Ubuntu-motu mailing list