Hi guys!
I've unlocked bios advanced menu, added uefi support and undervolted GPU in vBios yet so now I'm trying to mod my EC firmware (Acer 5750G), but with no luck. By reading my laptop service manual, I found out that fan spins at different speed when a specific temp is reached. Nothing strange with this but... Fan spins to its max speed only when the CPU reaches 100 °C. I don't why Acer did such a dumb move, but actually 100 degrees are the TJ max for my cpu, so I probably will never see my fan to its full speed (except when I perform a bios flashing, in this case the fan spins like a turbine). So I've started to find a way for getting the fan spinning at this max at only 85 °C. The only way to achieve this is by EC. Using this thread as guideline I've started to investigate.Here it's what I've found.
First of all I've tried to use RW Everything for reading EC values:
![]()
Then I've tried to run a stress test for increasing the fan spinning and... nothing. No value changed at all, except for the one in 0xB3, which changed sometimes (apparently regardless fan speed) to 41-42. Under Windows I couldn't figure out what is the byte that control the fan speed so I've decided to switch to Fedora.
Using a perl script found on web ( acer_ec.pl) I've managed to read EC values with more result, in fact I've found the value responsible of fan spinning which is 0xB4. Changing this value to FF make my fan to spin at full speed. The problem is that I think my EC doesn't use fixed speed at fixed temp as service manual reports, because EC dumps show a progressive increase of fan speed value.
Here a zip folder with EC dumps from acer_ec script (values are in decimal):
https://mega.co.nz/#!p04wnBwL!IQhS0zyT4ZgWZFurZ71L4nS8VDJJZbWlQd2eFAsk2eU
Note: Files name is progressive (1 = lower fan speed, 18 = high fan speed, don't mind missing numbers).
As you can see fan speed value in EC floats and has no fixed values (in some dumps it's even 70-71). Value in 0xB3 has a strange behavior too. And values in 0xAE and 0xAF change (apparently when fan is full spinning) to 01 (sometimes to 84) and 04. Since EC firmware can't be disassembled by IDA, I've tried to hex edit it, using these values I've found to find out some kind of fan tables, but I couldn't find anything. The only thing I've found is what I think to be the temp table at which the fan change his speed
0F 18 1F 28 30 3C 46 50 5A 64 (two matches, this values coincide with the one reported on service manual)
but actually I'm not even sure of this. There seem to be a lot of another string very similar to this (maybe different cpu thresholds?). And I don't know if changing these values can possibly modify the fan spinning.
Note: Maybe is a useless info, but if under Fedora I disable by bios the discrete gpu (GT630M with Optimus technology) switching to the integrated only (Intel HD 3000), fan values at 0xB4 is not even read by perl script. I've to set Graphic Mode back to "Switchable" into the bios.
Any advice?![]()
Here it's the untouched EC firmware image:
https://mega.co.nz/#!QpwxxDhQ!IawFT2DgKpBTJvHABXhS5WSkMf1pa3bWWherHX79SpQ
Thanks for any help!
-
The ACFanControl utility in "Bios" mode (the 5750g .ini file from the dedicated thread)does change the fan speed at higher rpms regardless of the CPU temp. Maybe studying the .ini file it will help you break through.
Best regards! -
-
Any news/updates?
-
-
[Support Request] Acer 5750G Fan Settings
Maybe you two could work together, and make smth out of it.
btw I created the first acfancontrol ini for 5750/5Gellric likes this. -
-
Acer Aspire 5750G-5755G bios 1.21. My findings:
GPU temperature sensor: 180
CPU temperature sensor: missing (179?)
Fan profile: 175
Fan speed: 174
Bios control: probably 171 (it's constant 8, and writing 0 here makes the fan stop but not let you to speed it up)
Bios value to enable manual fan controll: missing
I also couldn't see any differenc in the values until I write a big number to the 180 offset which as you said speed up the fan. In this case I saw the 175 to swtich to 1 from 0, and the 174 to 132 from 0. As soon as the fan went down after some second they went back to 0. That's why I think those are the fan profile and speed. And for example you can't write 132 to 174 until you write 1 to 175...
It's not spin up the fan, because you have to disable the bios controll which offset and value is missing for me...
Any news here? -
Very interested on this topic.... any news??
-
Dear Everyone
Acer prepared a working program for full fan speed
ENJOY and share!
source:
Fan Control Problems With 5750G And similar machin... - Page 25 - Acer Community
https://www.dropbox.com/s/hkvusgejibejt0v/FanController.rar -
This thread can be closed! -
I know my reply comes a little late to this topic, but in my quest to have the fan spin fast on GNU/Linux, I have reverse-engineered the FanController application that was provided by Acer. It turns out it does NOT use usual ports 0x62 and 0x66 to write to EC. Instead, it uses ports 0x68 and 0x6C. It writes values 0x77 and 0x76 for full and normal fan speeds.
I have created a script based on acer_ec.pl that spins the fan at full speed. NOTE: I only tested it on my Acer 5750G.
I have setup a small github repo in case somebody is interested in having a look.
https://github.com/neduard/acer_5750G_fan_maximiser
Who knows, maybe there are other goodies that can be changed via those ports?
Cheers everybody!
EC Firmware mod on Acer laptop
Discussion in 'Acer' started by ellric, Aug 25, 2013.