The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    EC Firmware mod on Acer laptop

    Discussion in 'Acer' started by ellric, Aug 25, 2013.

  1. ellric

    ellric Notebook Guru

    Reputations:
    69
    Messages:
    52
    Likes Received:
    9
    Trophy Points:
    16
    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:

    [​IMG]

    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!
     
  2. King Julien

    King Julien Notebook Enthusiast

    Reputations:
    0
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    5
    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!
     
  3. ellric

    ellric Notebook Guru

    Reputations:
    69
    Messages:
    52
    Likes Received:
    9
    Trophy Points:
    16
    Hi! Nice advice man! However the .ini file for 5750G is basically wrong, and I was wrong too. After other researches I've found out that the byte at 0xB4 (180) is not the fan control offset, but it is the GPU temp offset. Setting it to an higher value tricks the system which thinks to have an higher gpu temp, and it spins the fan to the max speed. Unfortunately when EC refreshes its values the correct temp is read, and the fan come back to its normal speed. Obviously the program force the byte to an higher value everytime it changes, but there is a noticeable delay (a"The fan speed is not consistent its stopping in every 3-10 seconds for a milisecond and starts to spin again." http://forum.notebookreview.com/acer/536084-fan-control-utility-15.html#post9250627). This let me think that must be some kind of fan algorithm, and not fixed spin values for fixed temps like the service manual reports. Also, Bios control byte is wrong. I'll check fan speed thresholds to see if there is any match in EC firmware.
     
  4. King Julien

    King Julien Notebook Enthusiast

    Reputations:
    0
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    5
    Any news/updates?
     
  5. tral

    tral Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    You have ENE KB930 EC, so it's probably a 8051 microprocessor code.
     
  6. JoHnNiEE91

    JoHnNiEE91 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    1
    Trophy Points:
    6
    I've seen so many people investigating this issue, on many different forums, there is another guy,
    [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/5G :D
     
    ellric likes this.
  7. ellric

    ellric Notebook Guru

    Reputations:
    69
    Messages:
    52
    Likes Received:
    9
    Trophy Points:
    16
    It's just impossibile, we are the same person xD I asked in different forums to gather more info as possible. Currently I give up with this, too much problems and too little free time.
     
  8. Gaboros

    Gaboros Newbie

    Reputations:
    2
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    5
    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?
     
  9. xerman

    xerman Notebook Enthusiast

    Reputations:
    0
    Messages:
    19
    Likes Received:
    0
    Trophy Points:
    5
    Very interested on this topic.... any news??
     
  10. JoHnNiEE91

    JoHnNiEE91 Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    1
    Trophy Points:
    6
  11. ellric

    ellric Notebook Guru

    Reputations:
    69
    Messages:
    52
    Likes Received:
    9
    Trophy Points:
    16
  12. neduard

    neduard Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Hello ellric and all Acer 5750 users looking to speed up their fan!

    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!