acer_5750G_fan_maximiser
acer_5750G_fan_maximiser copied to clipboard
Investigate on what other models does this might work
It would be really good to compile a list of devices on which this whole direct-port-writing-to-control-fan business works on or MIGHT work.
Currently users have reported working on a few other models apart from the original Acer 5750G (see README).
A few pointers if anybody is interested in working on this (@LeonardKoenig? @dehein?)
- Start from the existing models which others have confirmed and look for schematics. We're basically looking for matching chipsets.
- One way would be search for schematics (for example "Acer 5750G schematics pdf" in Google yelds this) and take note of the components.
- The relevant components IMO are the EC and the PCH: For example, the schematic above shows the EC is a KB930 which is connected to the Intel Cougar Point PCH via an LPC bus.
- Find out what are the common features of the laptops that this works (hopefully it will be the EC or PCH)
IIRC I once read something about this being related to the InsydeH2O BIOS/firmware, so this could be a point too. Maybe looking at those BIOS-modder forums.
I agree, this would be an excellent opportunity for somebody looking to learn a bit more about hardware and what is in the machines we're using :)
Definitely. I will see how much I can contribute but I'm not at home the next weeks, so my possibilities are limited.
The PDF you linked looks promising and even has a page dedicated to fan control :)
Couldn't find a schematics for KB930 yet (though you seem to be right (acer forums), but for kb9012 which seems to be a successor (schematics) as it says
Compared with ENE KB930, KB9012 is added with AWFCS application for PECI 3.0 implement for latest Intel feature.
in the PDF. The observations about fixed/automatic fan speed seem to be confirmed there too:
The fan controller can be configured to control PWM known as FANPWM. FANPWM could operate as automatic-FAN mode or Fixed-FAN mode.
Especially p. 128 (PDF-Page: 138) seems to be interesting: "LPC I/O 0x68/0x6C Configuration"
It really seems to fit into the picture, as now much of the code makes more sense:
- Writing to port 0x6c is for sending commands (control the fan)
- Writing to port 0x68 is for sending data (parameters: MAX/NORMAL)
- Checking for
inb(0x68) & 0x80 == 0
is checking whether I/O interface is busy - Checking for
inb(0x68) & 0x02 == 0
is checking whether the Input Buffer Flag is unset (waiting for input) - Writing 0xff clears the I/O busy flag
- The values 0x59, 0x77, 0x76 are specific to the controller -- I've not found any documentation on that (yet). These are the actual commands/parameters that control the fan.
I just want to say that this method also works well on my notebook - Acer Aspire E5-572G with Intel Lynx Point PCH and ENE KB9012QF EC (connected to PCH via an LPC bus).
Also confirmed to work on Acer Aspire V3-551-8479 (Q5Wx8 with VA50_CM motherboard). Allows me to finally be able to control the fan.
I have found a schematics for KB930. There are some informations about fan control in this document. KB3930.pdf