Re: [PATCH] Acerhdf: fix fan control for BIOS 3309
From: Borislav Petkov
Date: Mon Jul 06 2009 - 03:49:23 EST
On Sun, Jul 05, 2009 at 09:08:15PM +0200, Andreas Mohr wrote:
> Hi,
>
> On Sun, Jul 05, 2009 at 06:51:13PM +0200, Peter Feuerer wrote:
> > Hi Boris,
> >
> > Borislav Petkov writes:
> >> With BIOS update v3309, the Aspire One has had some changes to how
> >> the fan is being controlled. Reads to the fanreg (0x55) do not simply
> >> return the on/off values of the fan anymore but rather a different
> >> fan stage based on the current temperature. Empirically, I could
> >> observe the fan stage being 0x1 when booting the machine, then the
> >> temperature went up and the BIOS switched the fan to stage 0x2, making
> >> it rotate faster with final stage being fan state 0x3, aka max.
> >
> > I think it was already like that before v3309. But in my opinion it
> > doesn't matter how fast the fan spins. As soon as it's spinning it's
> > making too much noise. That's why I like to use only two states for the
> > fan, "on" (noisy, doesn't matter how fast it's spinning) and "off" (quiet
> > ;))
>
> I really don't think so.
>
> If you're in a meeting (think university environment, where _many_ netbooks
> end up being used due to highly mobile requirements...)
> or a moderately occupied room, then there's some ambient noise
> (say, one guy speaking) which I'm pretty damn sure fully drowns out
> the first level of fan operation but certainly NOT the second or third level
> (extrapolating from my very own experience here...).
>
> Due to these effects I'd think we want to adapt the driver to handle this.
> Though I'm very well aware that going the extra mile of "intelligent"
> temperature handling might cause a ton of extra risks if we aren't
> careful. ;)
>
> Still, I believe it would be very useful to keep fan operation low for
> moderate distances beyond fan trip point.
>
> And ideally add a module parameter for aggressive ("binary" fan
> operation) vs. soft ("intelligent" fan operation) handling, whatever
> a user desires, for noise or power consumption or whatever reasons.
That functionality is already in the BIOS. At least the v3309 I got
here. You simply remove the module and it does the intelligent control
with the different fan levels based on current temperature. But when
you're somewhere really quiet or you're getting annoyed even by the
level 1 fan rotation you'd still like to kill that noise (you know how
those cheap fans are :)) and that's when the module comes in.
--
Regards/Gruss,
Boris.
--
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/