[FAN ISSUE] Fan always on

Just to update i tried two ways to install nbfc on Ubuntu Mate 19.10 BETA and it failed. Docker hasn’t got a build available for 19.10 (to be expected when running a beta OS) and the executing the build.sh after installing Mono Runtime fails out. (I didn’t spend much time after that looking at the various errors I got but I imagine it’s related to me running a beta OS)

I am working with a native solution for Linux. Basically is the same script we can call manually and that works already, it reads the temperature and then with ifs decides which fan value to set. I am trying to make the script be called every 10 seconds as a cron job (this is not working yet for me, I need to debug and this is the first time I am doing this).

I will make a github repo with the script and instructions.

2 Likes

@casainho - I was going to write a simple Rust app as well, but was waiting on confirmation that the values were consistent. I am curious if the utility would work on Windows as well (using MinGW or MSVC as a platform target).

For Linux, mono is a waaay too heavy for what it’s doing.

1 Like

Here and is almost working: https://github.com/casainho/GPD_P2_Max-fan

Seems that the script run by crontab can´t read temp… maybe is something with Perl no being on PATH??

1 Like

@casainho Milly and I determined that the values (bytes you write to achieve different fan speends) depend on

  • BIOS version
  • Fan and CPU settings in BIOS (so if you have Quiet profile set in BIOS the values are different than on Standard profile)

What BIOS (0.24 most likely) and what fan profile are you using right now? It’s important to mention in your script, otherwise it will be glitching for people with a different BIOS/Fan profile.

1 Like

@MutableLambda - I’m using 0.24.

Fan automatic control is now working on Linux and is very easy to setup, see here: https://github.com/casainho/GPD_P2_Max-Linux_tweaks/wiki

I will also put there info about tlp where we can configure low power settings’

3 Likes

NOTE: This was tested on GPD P2 Max on Linux Ubuntu 19.04, running BIOS v0.24 and with fan profile setup on BIOS as silent (other BIOS version and fan profile on BIOS will probably make this not working).

A-ha, so now I know why your values were different. I guess for NBFC profiles it makes sense to put both BIOS and Fan setting in the profile name.

10 seconds is quite a delay for a fan control though, I think it’s better to put your script as a service in systemd or runit (for non-systemd distros) and run it every 3 seconds or so. Or even to have an option to just run it from the console + ideally it should set the fan to auto (0) on exit (Ctrl + C).

If you know how to do it or you can do it, please say.

@casainho - I’m not quite sure what you’re trying to do with your crontab, but it’s pretty unsafe. Here are some suggestions to improve your solution:

Solution 1: Use a systemd timer

Add /etc/systemd/system/fand.service

[Unit]
Description=fand

[Service]
Type=oneshot
ExecStart=/ec_control.pl gpd_p2_max

[Install]
WantedBy=multi-user.target

Add /etc/systemd/system/fand.timer

[Unit]
Description=Run fand

[Timer]
OnUnitActiveSec=30s

[Install]
WantedBy=timers.target

Enable + Start the Timer

$ sudo systemctl enable --now fand.timer

Solution 2: Daemonize using a bash script

# runs every thirty seconds
while sleep 30; do
  /ec_control.pl gpd_p2_max
done

Solution 3: Fix Your crontab Entry

# runs every thirty seconds
*/30 * * * * /ec_control.pl gpd_p2_max
4 Likes

Thanks for everyone. I just update the page: https://github.com/casainho/GPD_P2_Max-Linux_tweaks/wiki

I also found that if I am using the P2 Max on bed, without any space between the bottom and the sheets, the temperature goes higher way faster, so, leaving space for air flow seems to make a big difference.

I also updated the temperature read register from 0x70 to 0x71. At least 0x70 seems to have high peaks sometimes, maybe more erratic measures I would say.

4 Likes

I tested Solution 1: Use a systemd timer which I liked but it didn’t work for me so I got back to crontab. Crontab works very well and please see the notes I put there in the case it didn’t worked for you – no spaces at the begin of each line: https://github.com/casainho/GPD_P2_Max-Linux_tweaks/wiki

2 Likes

Just bought myself the 8gb version with the lowered powered 3965Y processor.

Bought it from jd.com as I’m in china for $550 and I’m going to use it for word emails and presenting from with a projector, so the lower powered one is fine and I seem to be getting over 6 hours battery life.

Question. It came with bios 23 installed. I upgraded to version 24, but it seems to make not much difference. It’s a great computer but the fan is noisy. Do we know if the bios will we upgraded further?

Thanks from a new owner

1 Like

Hi guys, long time.
After messing around a bit I made NoteBook FanControl profile for Fan policy: “Quiet mode” (the previous one was for Fan policy: “Standard mode”). I tested it and it’s rock solid. The fan doesn’t fluctuate on higher speeds, VRM temps do not go through the roof (mainly because in Quiet mode TDP is limited to 6W), it uses 6 fan speeds. Frankly, I think my previous profiles should be deleted, because this one is the safest one and solves all the issues I mentioned in my previous posts.
GPD P2 MAX 0.24 BIOS Fan Policy Quiet Mode.xml (3.5 KB)
If you aren’t happy with performance (because using Quiet mode in BIOS means using 6W TDP instead of 8W) you can always change the limit in Intel XTU, just be careful with VRM temps. Otherwise I’d say that using this profile is safe for general public; and, especially with 0.085 undervolting, makes P2 MAX a very pleasant device to use in a quiet environment.
If @petem approves I can make a post in “how-to” category.

2 Likes

Great stuff, thanks. I have now switched back to Quiet Mode using this profile, 6W is enough for me. The fan profile works perfectly.

2 Likes

Made a guide on GitHub GPD-P2-MAX-Fan-Control
Same style as @casainho did.

2 Likes

Thanks @MutableLambda - There is no need to ask me for permission. This is as much your space as mine. Thanks very much for this work.

I wonder if there is an easy way to use your new profile on Ubuntu without the mono overkill thing Josh mentioned. - I’d appreciate any feedback on this as I’d love to stop my fan screaming all the time for no reason in Ubuntu MATE.

1 Like

Wow … thank you… just followed your instructions and installed. It was easy even for a none IT person, so thanks … and wow…

Fan turned off… totally silent…

When I open the lid it’s whirs for a moment then switches off. I will keep an eye on it, but thank you. I think you might have transformed the p2 max

2 Likes

If anyone has a way to have @MutableLambda xml config working on Ubuntu (MATE) 19.10 - Please let me know. Thanks.