-
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
Add MSI Katana GF66 11UE and GF66 11UG support #129
Conversation
Nice work! Please mention #38 in docs.
Actually, original meaning of this value seems to be %RPM of the CPU cooler, but it's badly documented and misunderstood by other contributors. It also has limits, for some reason. Probably, all coolers might use %RPM in range of 0-150% if other not stated in MSI app for custom fan curve. And the right address for your device should be
It's known issue, because it's assumes that keyboard layout is |
Yeah, on silent is some different fan curve is used. In LM sensors driver realtime RPM calculated like this
GPU is similar, but with next pair. Also, seems like exist laptops with 3 and 4 coolers |
Also, turning on cooler boost doesn't directly change |
It only changes since the temperature changes, thus changing the fan curve's wanted fan speed percent. |
I tried to write into CPU %rpm address, it starts cooler, then stops it |
I think that address is supposed to be read-only. Maybe the EC reacts when trying to change it? |
Ok, I see the GF66 11UG has the same EC version as the GF66 11UE. I'll rename the PR to include that. |
Added GF66 11UG to docs and comments |
Is this one also ready to be merged? |
Only rt fan speed monitoring is not working properly, otherwise it's ready to be merged. |
CPU realtime speed |
From what I understood from this discussion, 0x71 is the speed preferred by the auto mode. So what is 0xc9? |
Does RT fan speed have anything to do with the custom fan curves? Because if not, then it's |
This values now used by
|
Also, I found out that it should be 480000, not 48000. Found it out from here: Tested that, and works much better. |
I just remembered it incorrectly Thanks for the link, check does your kernel have this module with |
Yes, it outputs this:
|
Your kernel probably don't have this module UPD: It might be built-in from 6.10 kernel lm-sensors/lm-sensors#475 (comment) |
Oh I see, I'm only running kernel 6.9.3 |
My fan uses 0xcd, with 0xc9 displaying numbers without any effect So, considering the overflow thing, can c8:c9, ca:cb, cc:cd and ce:cf correspond to different fan "slots"? |
Yes, also, But it's ignoring overflow values, which reduce accuracy on low RPM |
For me, it's c8:c9 for the cpu fan and ca:cb for the gpu fan. So yea, that must be the case. |
We've got the addresses right, so this PR is ready. The fan speed formulas need to be reworked and we need to implement the auto mode (0x71 can be used to display the current temp threshold), but that's for a different PR. Merging this one |
@teackot as you mentioned in #98, you have Intel gen 10 device. Your and my device use older WMI-ACPI layout, but it have fan curve + cooler RPM registers on same addresses, but use different WMI name. In generation 1 WMI layout RPM section called For some reason, my device sometimes stores garbage in random registers + randomize real cooler position |
@glpnk how many coolers do you actually have?
Like the cooler address changes? I haven't noticed this on my device |
Do we need to recreate functions which other module handles now? IDK how originally this method worked, because some devices mention
1 cooler. On previous screenshot was old dump. On newer, I've highlighted garbage values + real cooler is 3rd: UPD: In MControlCenter cooler 1 can use 0xC9 or 0xCD address |
Remember to mark #38 as completed. |
Right, we don't, only the curve. Should we just remove the fan_speed_show functions?
My EC also spits garbage at 0xc9. Maybe the EC tries to read the values on all the "slots" and the garbage ones are just not wired to actual sensors, so it reads random noise? |
I think we don't need to remove it completely, just fix realtime addresses for all devices and remove normalization Lines 2497 to 2499 in 02f08cf
Plus we need to figure out what is basic fan speed, and why some devices refers GPU %RPM value for it
I think this values are timers and they returning value after cooler sends pulse. So they might catch some noise |
Fn <-> Windows works, but the files report the opposite.
Real-time fan monitoring is not accurate: GPU rt fan file can report over 100%, and CPU rt fan file is very weird. It is like address
0xc9
isn't even linearly representing the CPU fan speed.Everything else works.
EC Dump