-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GF76 11-UC #138
Comments
Hi.
Works as intended because fans are power hungry and drain the battery faster. Fans turns on near 50 degrees on CPU.
Shift - UPD: shift mode should change CPU power limit, but this not always work as intended The RPM calculation uses a slightly different constant CPU/GPU fan speed should be in the range of 0-150%, but currently the code applies normalization for CPU %RPM. Custom fan curve is not supported yet, you can only enable it by changing the fan mode. If necessary, use MControl Center to edit the fan curve. For me, on a non-MSI laptop with Nvidia GPU, Windows does not always show the temperature. On Linux, the behavior is probably the same, because the GPU is just turned off for better battery life and can't report its temperature. You can copy any WMI2 named config and change it for your device. Don't use How many coolers you have in the laptop? |
In theory it is, but in fact my computer may be 75 degrees with slow fans. The behaviour with setted up advanced fans in auto mode is really differ from one with no advanced settings (auto mode too). Right now I tried to setup this curve and my fans stopped (but fan_mode is auto).
Good news! Do you know about pwmconfig and fancontrol support?
2 fans
I think I can mark Shift and Fan as ready. No issues with it so far. Works as expected. Also I have prepared a PR that fixes reversed cpu fan speed. (0x4d on max speed and 0xb0 on min speed (0x00 = no speed)) |
Technically, it's not reverted fan speed, but some time per rotation I'll check your dump for fan curve settings |
Sounds logic but what about other versions that are supported? Is it speed there?
If you really interested in curve:
With curve:
Also in integers which is better for understand of thermal data. Without curve:
With curve:
As you can see on dump without curve my fan was running and after curve write it has stopped (0xc9) but temperature after write was even larger (I heated it with stress). And fan mode keeps the same (0x0d). I didn't change fan mode at all so in fact fan speed should be the same. |
Is it latest ec/bios update? Because it sounds too terrible. Thanks for dumps |
Yes, I updated bios about few weeks ago exactly for this reason |
Really sad. Is on Windows you have same behaviour? |
As I remember on windows everything was ok. But i haven't used windows for about a half of year, on new bios too. I can try to install it and play with MSI center but is it possible to get these dumps there? |
|
According to dumps, you have not enabled fan curve mode But for some reason you have changed temperatures of fan curve, and not RPM percents To activate custom fan curve, you need to set |
Yes and thats the problem. Fan curve is not enabled but fans speed changed (more scary them are stopped). I tried to specify the curve in vim manually to exclude mistakes in my script and behavior is the same. Also I installed windows (spent an entire day trying to install it without usb :)) and there are only 6 curve sliders. Starting addresses are ok. May be the 7th is reserved away from user. Also there are no temperature indicators per sliders. Just a heatmap with fixed sliders on it. I made a lot of dumps and will explore them now. UPD: |
Try to reset the EC and BIOS by guide from the user manual, then save clean variant of fan curves. 7th slider is probably like last resort before burning CPU/GPU and emergency shutdown Temperatures may not be intended to change WDYM as vim test? Literally dumping all memory, patching and writing back? Or changing certain values sequentially? |
Yes, I do.
dumping, patching and writing back. xxd filters in vim are OP. But if you forgot to apply it before :w say hi to EC reset :) So after observing windows logs it turns out that MSI Control simple remembers my thermal settings and replaces it with default curve when I go from advanced to balanced mode. |
You can check is curve applied by making EC dumps under load and comparing temperature and RPM % values with the curve. MControlCenter set cooler mode to Or you can set idle RPM % (first slider) to more than 0 value and disable fan curve mode Hmm, my device really not care about fan mode (custom/auto) when first slider is changed Silent mode seems to be fake, nice |
@Waujito can you compare fan curves for auto and silent mode on Windows? You can make comparison easier by saving dump in RWe and loading it in comparison mode. Second click on compare button to switch view from dump to realtime values, and will highlight different values If you need map of EC values to WMI, with it you can just ignore many addresses And if you know ImHex you can check this pattern https://github.com/glpnk/hexpats/blob/main/msi-wmi2-dsdt.hexpat |
I compare sound from my coolers -_-
Do you mean that 0x72 controls something more than just least possible fan speed?
For me it works great (I just tried eco mode in linux) It caps my cpu on 1.1GHz and takes fans control out of curve. 0x71 seems frozen when this mode is enabled. |
No. Basically, you can set Few models have Basic fan mode, but it's hard to tell how it should work.
Re tested, and on Eco shift:
Sounds different. So, Silent works, but still use fan curve
True Different shifts changes CPU power limit on some AMD devices |
Re-re tested and silent works on other shifts too |
Oh eco and silent are not the same thing. Eco seems like a super battery. Silent is a fan mode...
The only thing that changes is 0x0d -> 0x1d in 0xd4. Just like the driver does. And yes I think it sounds different too |
Which app you laptop use? MSI has at least 4 apps + 1 deprecated.
|
MSI Center from MS Store as it was written on the drivers page. |
Got AMD STAPM (CPU power limit) values by combo of shift and fan: eco 10-12 |
But anyway I cannot understand whats going on in auto mode when I set 0x72 to 00. My cpu fan just full stops independently of temperature. But I also cant say it is a static value. In auto mode fan increases the speed. Whats the black magic behind that default But in advanced mode everything works as it should |
|
Maybe custom fan curve just breaks |
Yes, its just broken. 0x72 may act as some kind of fraction. Also temperature may be shifted. I think only we can do is to backup custom curve somewhere (when it will be implemented) and override it with default curve and backwards on every fan mode switch right like it is implemented in MSI Software. |
Fan curve is not implemented yet, another question - is backups of fan curve is task for driver or userspace app |
Hm, If so, Isn't a good option is just to delete the custom fan curve, lock its file (return error on read-write in fan mode auto) and force the user to write it when they want to enable the custom curve? |
No, because other device might have properly implemented fan modes |
So we can reset and lock it for only specific devices and instruct userspace app to check it out after advanced mode enabled. Btw it seems like my laptop works well now with msi-ec. @glpnk Thank you so much for your time. It was amazing to work with you! This project is really cool, thank you! |
Running |
@TGODiamond wow, thanks, where you find this? |
I found out the signal isn't attached automatically, so i attached the signal manually to the led. Found it out by myself :) From |
I don't know where to write a bug report of this, so help is appreciated! |
Merged! #139 |
Laptop model
MSI Katana GF76 11UC
EC firmware version
17L2EMS1.108
EC memory dump
GPU
Nvidia
Is your keyboard RGB?
No (single color)
Additional context
I will try to provide support for it with myself but I will probably need in your help.
So far I have found:
✔️ Cooler boost
✔️ Webcam toggle
✔️ Webcam block
✔️ Fn <-> Win
✔️ Mic mute LED
✔️ Sound mute LED
✔️ Keyboard backlight intensity
❓ Shift mode
❓ Fan mode
What about shift mode and fan mode is I can't see real difference between it. But when I turn on eco mode my fans were silenced and that seems good.
Also I can approve that fan mode somehow affects my fans. When I have written advanced fans settings to EC like it is done in MControlCenter:
My fans seemed like completly broken: No fans in auto mode and something in advanced mode. But when I had run stress on my cpu fans started to increase rpm.
✔️ CPU Temperature
⭕ GPU Temperature
When I run nvidia-smi gpu temperature starts to show for not a long time. Seems like not msi-ec problem, just limitation from MSI.
❓CPU Fan speed
cat: /sys/devices/platform/msi-ec/cpu/realtime_fan_speed: Invalid argument
Turns out to be 50 in boost mode.
⭕ GPU Fan speed
It works but what about format? It is not percent nor rpm.
0 when off, 190 when silent, 78 in boost. It is just a raw data from (0xCD).
For cpu it seems like the problem is in rt_fan_speed_base_min_max fractions.
The formula from MControlCenter seems like a workaround:
It provides fan speed right in rpm, seems ok (2400 in normal mode, 6000 in boost) but I have no idea about correctness.
I will test battery later. Working with EC config and battery on (=> no EC clears) is a dead way :)
The text was updated successfully, but these errors were encountered: