Skip to content
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

Thinkpad P16 Gen 1 compatibility #60

Open
jakubczajczynski opened this issue Dec 18, 2023 · 7 comments
Open

Thinkpad P16 Gen 1 compatibility #60

jakubczajczynski opened this issue Dec 18, 2023 · 7 comments
Labels
bug Something isn't working

Comments

@jakubczajczynski
Copy link

jakubczajczynski commented Dec 18, 2023

Has anyone managed to use this tool with Thinkpad P16 Gen 1?
I can't get past errors like these:

[18.12.2023 14:24:42] failed to read FanSpeedHighByte 1 from EC
[18.12.2023 14:24:46] failed to read FanSpeedLowByte 2 from EC
[18.12.2023 14:24:46] failed to read FanSpeedHighByte 2 from EC
[18.12.2023 14:24:46] failed to read FanSpeedLowByte 1 from EC
[18.12.2023 14:24:46] failed to read FanSpeedHighByte 1 from EC

I have TVicPort installed, but maybe the wrong one. Download link from this site do not work anymore.
https://www.entechtaiwan.com/dev/port/index.shtm

@jakubczajczynski jakubczajczynski added the bug Something isn't working label Dec 18, 2023
@Shuzhengz
Copy link
Owner

Hi, it seems like TVicPort is correctly installed, if it isn't then the program wouldn't start at all. It seems like the fan readout address is in a different addess on your model. Normally we would use a tool called RW-Everything to try and find the address, but unfortunately it has stopped working on my device after a Windows update. You can try and see if it works, and maybe find the address using instruction I posed here on another similar issue, and I can build a version for your model if I can have the EC address.

@jakubczajczynski
Copy link
Author

jakubczajczynski commented Dec 19, 2023

Hi. I managed to open the RW-Everything. It appears to me that on my laptop the fan values can be read from the same row and column as you described in another thread. 80x0504

image

It's probably worth mentioning that unfortunately, I don't even have the temperatures. Not using TPFC 2.1.5 nor 0.62.

image

@Shuzhengz
Copy link
Owner

Hi, sorry about the late reply, just got back from a trip. It seems like that the EC address is correct, and the issue is with conflicting commands from the program and the system. We have encountered the issue before, and the semi-solution was to read from the EC many times until it finally goes through (see this commit). Can you try to increase the max read error count from 10 to 100 and leave it on for a while to see if it eventually is able to read the speed?

@jakubczajczynski
Copy link
Author

No problem. Unfortunately, even setting the max read error count to 100 didn't give me any results. BTW. clicking on "all" under temperatures is crashing the program, I don't know if it's a known issue.

@Shuzhengz
Copy link
Owner

It should not be crashing the program, I think what happened is clicking all tries to read the value for fan speed via a pointer, and since there is error reading the fan speed, the program crashes. Maybe the wrong TVicPort is the issue after all because the program does not seem to be able to read from any address, try uninstalling it and use this installer that I used before.
tvicport.zip

Another guess is that there is some other collison with the system or other software on your device that is constantly controlling the fans. Some other people have also noticed that BIOS updates can also break the software, for example here

@Paruccone
Copy link

Paruccone commented Mar 10, 2024

I have a P16 Gen 1 (i7 12850HX+A3000) with latest (as per today) BIOS and F.C. works out of the box for me. Let me know if I can run any test to help out.

Main "problem" but not related to the P16 itself is that threshold levels can't be set separately for CPU/GPU : CPU runs in a range between 40-100 while GPU between 54 and 86. That prevents from saying "push fans to 7 when CPU >90 or GPU >80". And of course if we put run at 7 when temp >80 that would create useless high RPMs on fan when CPU is at 80 (while a 5 would be more than enough).

That said the ultimate feature would be to additionally be able to set fan speeds separately (at least relatively) in order to push higher speeds on corresponding fan whether it is the GPU or CPU being at high temperatures.

@azulazul123
Copy link

azulazul123 commented Aug 8, 2024

Hello,
I also have Czaja91's exact issues (EC read failure for both fans, crashing when switching to "all"). I don't know if this is a BIOS compatibility problem that cannot be solved or whether it could be, so I give my details here.

1/ I have the P16v Gen 1 AMD (one person says tpfc2.1.5. works for him on the Intel variant of this model, but not for me)
2.1/ 2.1.5. doesn't recognize any fan, cp. Czaja91's problem description.
2.2/ I tried all original and dual fan versions. This here
http://thinkwiki.de/tpfancontrol/tpfc_v062Lx2.zip
actually allows control over the CPU-fan, but not the GPU's.
2.3/ Changing the 2.1.5 to 100 iterations also has no EC read success.
2.4/ In the RW-Everything program, the CPU appears to be in 80 x 0504 as in all of your setups. There were 3 other visibly changing cells and using a hex converter only 1 gave a number that could be the GPU fan rpm & that was in 40 x 0908. Idk if that helps to understand why 2.2/ works for the CPU and not the GPU.

It would be more than great if this could somehow be solved & I'd gladly donate or sth. if this is a possibility.
Atb to everybody

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants