Re: [PATCH 1/1] x86: Added support for Acer Aspire 5755G fan control.

From: Tero Keski-Valkama
Date: Wed Sep 26 2012 - 16:00:10 EST


2012/9/26 Tero Keski-Valkama <tero.keski-valkama@xxxxxxxx>:
> 2012/9/26 Borislav Petkov <bp@xxxxxxxxx>:
>> Adding Peter.
>>
>> On Tue, Sep 25, 2012 at 12:41:11PM +0300, Tero Keski-Valkama wrote:
>>> 2012/9/25 Borislav Petkov <bp@xxxxxxxxx>:
>>> > On Tue, Sep 25, 2012 at 10:34:13AM +0300, Tero Keski-Valkama wrote:
>>> >
>>> > But before we go with this any further: you mentioned some issues still
>>> > with acerhdf - you don't want to turn off your fan but to turn it to
>>> > full?
>>> >
>>> > I think in this case, you want to simply not load the driver and use the
>>> > BIOS settings, no?
>>> >
>>> > --
>>> > Regards/Gruss,
>>> > Boris.
>>>
>>> Technically I think my original issue is about thermal zones, and BIOS
>>> control doesn't solve it as is. However, the patch should be valid,
>>> even if it doesn't solve my original issue.
>>>
>>> The thing is that passive cooling thermal zones throttle all the cores
>>> to stone age, to 800 MHz, before the fan even really starts powering
>>> up from the low default level.
>>
>> I don't understand: you want the thermal zones to not throttle your cpu
>> to 800 Mhz and/or the fan to start sooner?
>>
>>> So, my original problem would be solved
>>> by:
>>> a) Direct control of the fan, to be able to put it on full for example
>>> through userspace control,
>>
>> That's always a bad idea, especially if userspace dies on you.
>>
>>> b) Changing the active cooling thermal zones, so that the fan speeds
>>> up earlier, or
>>
>> Ok, I see, here's what you want.
>
> Yes. I disabled acpi_cpufreq and cpufreq daemon, so throttling to iron
> age didn't happen now, but the fan didn't start increasing cooling
> either. So while it seems during testing different values with the EC
> registers I achieved at one point automatic fan control by BIOS, but
> it's not the default state. The default state is still constant speed,
> as it was in the start, and I can't get it to change anymore.
>
>>
>> Also, you've added yourself to the copyright - this means that you're
>> pretty much going to get all future email about acerhdf. Do you really
>> want that?
>
> For now, that is what I want to the foreseeable future, as long as I
> own such a laptop. I can perhaps contribute to the development a bit.
>
>>
>> --
>> Regards/Gruss,
>> Boris.
>
>
>
> --
> Kind Regards / Ystävällisin terveisin,
>
> Tero Keski-Valkama, MSc(Tech)
>
> +358 (0)46 876 0485
>
> tero.keski-valkama@xxxxxxxx
> http://www.neter.fi

Now I have confirmed that:
a) In default state fan does not speed up even in temperatures above
90 degrees, and
b) Now, fan provably sped up, two times, at temperature of about 77 degrees.

The configuration now:
# ./acer_ec.pl regs

00 01 02 03 04 05 06 07 | 08 09 0A 0B 0C 0D 0E 0F
__ __ __ __ __ __ __ __ | __ __ __ __ __ __ __ __
00 | 2 0 0 0 2 2 0 1 | 0 9 0 0 0 0 0 0
10 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
20 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
30 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
40 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
50 | 0 0 0 0 0 34 0 0 | 0 0 0 0 0 0 0 0
60 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
70 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
80 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
90 | 83 65 78 89 79 0 0 0 | 0 65 83 49 48 68 51 49
A0 | 0 0 0 128 193 0 0 95 | 255 0 0 14 100 31 0 0
B0 | 0 0 0 80 78 0 0 0 | 0 9 0 4 0 2 17 17
C0 | 19 0 201 15 63 171 155 48 | 48 42 48 17 201 15 100 31
D0 | 0 0 0 0 25 124 156 35 | 0 0 2 19 0 0 224 64
E0 | 0 0 0 59 16 50 16 47 | 16 0 0 0 0 0 0 0
F0 | 75 16 0 0 3 63 0 0 | 68 0 0 0 0 0 0 0

Somehow the fan speedup has always coincided with "acer_ec.pl regs"
command, which might be caused by:
a) Processor warms up in that command, or
b) Reading EC has some consequences.

The above register dump differs from the default boot-up state by
obviously registers to read, with volatile values, and:
- Register 0xAB from original value 0x08 to 0x0E.
- Register 0xAD from original value 0x17 to 0x1F.
This means that some of these register changes seem to enable
automatic BIOS fan control:
- FAN2 0 -> 1
- FANT 0 -> 1
- FANU 0x7 -> 0xF

I have been trying to do some web searches for these register names to
determine their meaning, but while many people have found them, they
have only made invalid or no documented guesses about their purpose.

--
Kind Regards / Ystävällisin terveisin,

Tero Keski-Valkama, MSc(Tech)

+358 (0)46 876 0485

tero.keski-valkama@xxxxxxxx
http://www.neter.fi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/