LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Laptop and Netbook (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/)
-   -   Fan not working; Acer Aspire 5710 (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/fan-not-working%3B-acer-aspire-5710-a-710747/)

gbloon 03-11-2009 09:17 AM

Fan not working; Acer Aspire 5710
 
I have installed Slackware 12.2 on a Acer Aspire 5710 laptop.
The cooling fan never runs. The laptop came with MS Vista installed, which I used (or tried to) for a while; during that time the fan was working. Now when the machine gets warm enough to have started the fan under Vista, nothing happens. The directory /proc/acpi/fan is empty so it looks like a ACPI problem.

I have read about the fan problem with the 5720 model when using 64-bit Linux. see http://ubuntuforums.org/showpost.php...&postcount=117
I am using 32-bit on a different model, however I did try the script supplied there. It appears to work, and gives the expected output without any errors. However, the fan still does nothing. Perhaps the memory address is wrong for my machine? If so, I have no clue how to find the correct address. I have to do something before my laptop fries. Any ideas, please?

H_TeXMeX_H 03-13-2009 05:03 AM

First, make sure '/etc/rc.d/rc.acpid' is executable.

Next, make sure to 'modprobe' the following modules:
thermal
processor
fan

if that works, put the modprobe commands in '/etc/rc.d/rc.local' to make them occur on every boot.

gbloon 03-14-2009 05:39 AM

Thank you very much for the reply.

I have checked that acpid is running. I should perhaps have mentioned in my original post that all other ACPI events are working normally.

The modules "processor" and "thermal" are loaded automatically. I did notice some time ago however that the module "fan" was not being loaded. I modprobed it, but it made no difference. I believe that ACPI is simply not able to "see" the fan. I have downloaded and decompiled (using aisl) the DSDT from /proc/acpi/dsdt, and cannot find any method for operating the fan in the source code. However, temperature is being probed and updated, as I get a valid reading from /proc/acpi/thermal_zone/TZ01/temperature when I cat it.

Yesterday I flashed the BIOS to the latest version available, hoping that might help. It didn't. I have also tried all kernel boot options that might possibly help, but nothing does. Also I have tried booting a different kernel. That did not help either. I am beginning to think that ACPI is simply broken as far as Linux is concerned on this computer. But I cannot begin to re-write the DSDT myself as I do not know enough about it. Perhaps there are alternatives online somewhere?

This is getting serious. My laptop will be useful only as a paperweight if I cannot get this stupid fan working. I am completely out of ideas.

H_TeXMeX_H 03-14-2009 05:44 AM

Does it have an option in the BIOS to use APM instead of ACPI ? If so, try turning it on and use the 'acpi=off' kernel parameter (append it in lilo.conf).

gbloon 03-14-2009 07:28 PM

Ah, no. I wish...
There is very little configurable in the BIOS. Nothing relevant to ACPI at all. APM seems to be completely unsupported.

H_TeXMeX_H 03-15-2009 07:26 AM

I dunno maybe try updating the kernel ?

jmms 03-15-2009 06:37 PM

I just wrote a kernel module to control fan speeds based on the Wistron LED control module for Acer laptops. It might work with your system.
Just build it with make and insmod wistron_fan.ko force=1
If it works your dmesg should say something like
wistron_fan: 8 sensors and 2 fans detected

gbloon 03-16-2009 03:33 AM

Thanks for the kernel module.

I tried it.

"insmod: error inserting 'wistron_fan.ko': -1 No such device"

from dmesg:

"wistron_fan: unknown BIOS detected: Acer - V1.50"

Sorry, but many thanks!

Getting desperate here. Does anyone have experience of those "laptop coolers" that plug in to USB for the power and have one or more fans to remove heat from the bottom of the machine? I'm thinking of buying one, in the hope it could keep it cool enough, perhaps, to stay below shutdown temperature.

H_TeXMeX_H 03-16-2009 11:58 AM

Maybe update your BIOS, it looks like that may be a factor.

I have a cooling plate, but its usefulness is mediocre, if you do got one make sure it has some serious fans.

jmms 03-16-2009 01:16 PM

Did you load the module with force=1 ? I've coded it to only recognize my system at the moment so it will fail if you don't set force=1.
The only other time it should return an ENODEV error should be if it says "BIOS entry point not found" in dmesg

gbloon 03-16-2009 01:28 PM

Re BIOS: I have already updated it to the latest available -- which is more than a year old, but still the only one on the Acer site (version 1.5). It has not made any difference.

So, I have the latest BIOS, have tried several different kernels, have tried 2 alternative distributions of Linux, have tried every kernel boot option which might possibly help -- and nothing has made that crazy fan want to run. ACPI simply does not believe there is a fan device, and therefore assumes there is nothing to control. There is no /proc/acpi/fan, until I manually insert the fan module; then, the directory exists, but is empty. This tells me there is no fan device at all, as ACPI sees it. So it can never control a fan it does not believe to exist!

I need a way to force it to run. ACPI has always been a huge pain in the butt. Life was so simple back in the good old APM days, and then Micro$oft had to come up with something "better" so they could break things under any other OS...

jmms 03-16-2009 01:31 PM

Laptops generally don't have fans controlled through normal ACPI functions. They are all custom interfaces, such as i8k on Dell, etc. So even if your laptop was working correctly, Linux wouldn't normally be controlling anything, the motherboard EC would.

gbloon 03-17-2009 04:11 AM

JMMS,
Sorry -- I somehow missed the part about using force=1 to insert your module. I just tried it; here is the result from dmesg --

wistron_fan: unknown BIOS detected: Acer - V1.50
wistron_fan: BIOS signature found at c00fdc60, entry point 000FDC6D
wistron_fan: invalid sensor count: -156041216

So I am afraid it does not work on my machine.
Is there any possibility of modifying it to make it do so?
It could be a life-saver if it could be done...

jmms 03-17-2009 03:09 PM

Sorry but I don't think I can make it work

Have you tried booting with acpi=off or acpi_os_name="Microsoft Windows XP"

gbloon 03-17-2009 03:38 PM

Quote:

Have you tried booting with acpi=off or acpi_os_name="Microsoft Windows XP"
Yes, I have. Without ACPI too many things are broken; even wireless doesn't work. I have tried every one of the possible OS_names - but it does not make any difference to the fan, and anyway these options are not honored, and the memory location where this selection is stored still contains the value for Windows Vista, whatever OS name is in kernel options. I guess Acer is really serious about this being a "Vista only" machine!

gbloon 03-19-2009 05:06 AM

Update: I now have the external cooler (fan tray), and have tried it out. In an ambient temperature of about 25°C, and while compiling a kernel, CPU core temperature was steady at about 55°C. So, under heavy load, the machine runs about 30° over ambient. I think the highest temperature in which I will need to work will be about 30°, so the machine should not get much hotter than 60°. I think this will be OK. I am guessing it be around 50° most of the time, going up to 60 occasionally. It should survive this, I believe. Would anyone like to comment?

(The kernel I compiled was the latest stable version. I booted the system with it, but fan cooling was still broken, unfortunately)

johnkeates 04-11-2009 07:14 AM

Quote:

Originally Posted by gbloon (Post 3478630)
Yes, I have. Without ACPI too many things are broken; even wireless doesn't work. I have tried every one of the possible OS_names - but it does not make any difference to the fan, and anyway these options are not honored, and the memory location where this selection is stored still contains the value for Windows Vista, whatever OS name is in kernel options. I guess Acer is really serious about this being a "Vista only" machine!

If you can't solve it software wise, I think it's time for you to consider just hardware modding the fan, just connect it to some internal power line to have it running. Maybe add a potentiometer to make it go slower, or a small temperature controlled fan speed manager.

Sometimes it's just plain broken, and software won't fix it in time for usage. Powering the fan yourself might actually be your solution this time :)


All times are GMT -5. The time now is 10:49 PM.