06-29-2018 03:42 PM - edited 06-29-2018 04:10 PM
**bleep** man, you’re good at this. If you can solve it and it works on my 720, I’ll buy you a game on Steam. Thanks for all the hints. I’ll try to do something myself, but I don’t have high expectations on my skills.
Here’s one photo of my registers if it helps. I guess not. The lines below are fans speeding up and then down at the end. 0x06 and 0xFE were clearly the fans, and 0x56 and 0xB0 the temps of cpu.
Had to make a pdf because they don’t support iPhone picture format(jpeg)
07-04-2018 11:27 AM
As you know, writing to the fan speed registers (0x06 and 0xFE) has no effect.
I had a similar problem with other laptop model. It was solved by enabling manual fan control mode, instead of BIOS. Changing one bit (from "0" to "1") in a particular register, made the read only fan speed register writable.
So I wrote a simple script that flip the bits one by one in every EC register (8 iterations per register). Only one bit at a time has been changed. After each iteration, it writes to the registers (0x06, 0xFE) and checks whether the values were changed. After the checks, original values are restored.
All 256 registers have been tested. Unfortunately, the script did not found how to enable manual fan control on Y720.
I found that writing values 0x80 or 0x40 to the register 0xBD, forces the fans to rotate at maximum speed. Value 0x00 restores the default behaviour.
07-04-2018 03:27 PM
Thank for you for all the tests and the findings, and 0xBD is a particularly interesting discovery indeed.
In general it seems the fan is controlled by writing to \\.\EnergyDrv (an interface under the special device namespace). As to what exactly is being written there, it remains to be investigated but meanwhile I posted some partial findings here: https://github.com/hirschmann/nbfc/issues/419#issuecomment-402506162
07-05-2018 08:20 AM
Found another interesting thing: INIT flag in 0xAB register.
By default all flags in this register are "0" (value 0x00).
If I set INIT flag by writing value 0x08 to this register, the fans are stuck at constant speed. It seems that BIOS stops controlling the fans then this flag is set.
But I still did not found a way to set a custom fan speed.
I set the INIT flag when the fans speed was minimal (CPU temperature <35 degrees).
Then I launched a Prime 95 stress test on two CPU cores.
The CPU temperature reached 50 degrees, but the fans speed remained minimal.
Only when I cleared INIT flag, fans speed increased.
08-26-2018 04:13 AM
Hello everyone. Someone mentioned this thread to me, so I would like to mention my thread too!
I've done quite a bit of investigation and basically got a NBFC (almost) working config for Lenovo Ideapad Y700-15ISK.
See if you can benefit from it + try my (almost) working config: https://github.com/hirschmann/nbfc/issues/526#issuecomment-415233951
08-26-2018 10:43 AM
Thank you for sharing all this, I've answered you on GitHub.
09-01-2018 07:46 AM
Right now I experience the same issue with the new Lenovo y530 laptop, the fans crank up even in the mid 50's on the CPU, all I do right now is browsing the web and writing this reply, and the fans are just annoying, I agree that Lenovo should publish a fix/solution for this.
09-07-2018 09:33 AM - last edited on 09-08-2018 06:56 PM by NateS
Hi guys, I've read the last replies but do not understand very well ... Did someone find any solution, even temporary, about that noisy issue with fans on Legion Laptop ?
Thx so much, I'll carry on my searches !
Moderator comment: Post edited to conform with the Community Rules. Keep it clean.
09-23-2018 01:30 AM
It looks like Lenovo finally addressed this issue with the new BIOS 4GCN38WW. I updated today and my fans are still running at 36° core temp but much more quiet now. Maybe someone else can confirm?