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

Fan always starting and stopping #250

Open
CourchesneA opened this issue Sep 29, 2021 · 26 comments
Open

Fan always starting and stopping #250

CourchesneA opened this issue Sep 29, 2021 · 26 comments

Comments

@CourchesneA
Copy link

I believe this has started happening only after the firmware update last week "2021-07-20_93c2809".

According to sensors, the CPU and GPU temp of my oryp7 is oscillating between 54 and 55 °C. Everytime the 55 is reached (once every ~5seconds or so), the fans start and emit a really annoying noise. The noise itself isn't that bad, but the constant restart makes it hard to concentrate on anything.

Is there anyway to start the fans on an average of last temperatures, or just make it such that the fans are always on ?

@Philip-Scott
Copy link

Also seeing this myself on an oryp6. Temperatures are oscillating around 50° (even making it too hot to have on a lap), and then the fans kick off dropping the temperature a few degrees and ramping up again every few seconds under a light load.

Fans off

image

Fans on

image

@im7FFY
Copy link

im7FFY commented Nov 2, 2021

Got the same problem on my lemp9 since a while now, did not monitor temps while it occurred though.

Since the last firmware update (2021-07-20_93c2809) the fan curve seems agressive as hell.
My laptop now from time to time starts to have those crazy moments of spinning on at ~= 7000RMP then stops, then spin again etc...

This is really annoying as it kinda sounds like a biker on a motorcycle trying to impress the chicks around.
Sometimes those acceleration are even less than a second which sounds really weird.

@CourchesneA
Copy link
Author

I did some testing with different options and fan point value, but I was not able to find a good setup, there will always be oscillation between fan on and fan off. I could make it more bearable by adding FAN_POINT(35,25) to keep the fan always on at minimum speed, which is way less annoying.

Would love to see a better solution if there are other ideas

@jamuir
Copy link

jamuir commented Aug 16, 2022

I am also seeing this (or rather hearing this) on my Oryx Pro 6.

It is very annoying to constantly hear the hum and rattle of the CPU and GPU fans switching on and off.

I use watch sensors to observe the fans switch on and off -- here is what I see:

# fans off
system76_acpi-acpi-0
Adapter: ACPI interface
CPU fan:        0 RPM
GPU fan:        0 RPM
CPU temp:     +52.0°C
GPU temp:     +54.0°C
# fans on
system76_acpi-acpi-0
Adapter: ACPI interface
CPU fan:     1501 RPM
GPU fan:     1862 RPM
CPU temp:     +52.0°C
GPU temp:     +54.0°C

I like the idea of keeping the fans running at some minimum speed to stop the on-off noise.

Is there some work-around I can apply now to stop the noise?

@Destreyf
Copy link

I am having a very similar issue, and like @jamuir I can see my fans going from 0 RPM to 2600-2800 RPM.

although my temps jump at ~58-60c, which is IMO too hot for a machine that's sitting idle.

@bartlebee13
Copy link

I am also experiencing this issue on an Oryx Pro 6 Pop!_OS 22.04. Nvidia Graphics Mode w/ 2 external monitors and only vscode, chrome, discord, and slack running.

I noticed when I switch the power profile to Balanced from High Performance the fans aren't as loud but this problem has been around for a while it seems.

@jorgegonzalez
Copy link

jorgegonzalez commented Dec 21, 2022

Bumping for the same issue

edit: I ended up building a new desktop and getting rid of my System76. I will never use their hardware again

@markwylde
Copy link

markwylde commented Jan 24, 2023

I like the idea of keeping the fans running at some minimum speed to stop the on-off noise.

Is there a way to do this without building my own firmware? Or is it easy to build? I know we can keep the fans running at max by pressing Ctrl + Fn + 1. But would there be a way to. have tiers, so you press Ctrl + Fn + 1 once, at it starts the fans at 100, then 500, 1000, 2000, 3000, 5000?

Is there a /sys/class/... file we can use to set the minimum fan speed?

EDIT: I worked it out:

In the code here:

CFLAGS+=-DBOARD_FAN_POINTS="\
	FAN_POINT(0, 10), \
	FAN_POINT(45, 20), \
	FAN_POINT(55, 25), \
	FAN_POINT(65, 30), \
	FAN_POINT(70, 40), \
	FAN_POINT(75, 60), \
	FAN_POINT(80, 75), \
	FAN_POINT(85, 90), \
	FAN_POINT(90, 100) \

FAN_POINT(0, 10) means, when the CPU temperature reaches 0 degrees, the fans should go to 10%.
FAN_POINT(45, 20) means, when the CPU temperature reaches 45 degrees, the fans should go to 20%.

And so on.

I cloned this repo and followed the README.md and it built and flashed perfectly first time.

@CourchesneA
Copy link
Author

It's a bit anoying having to rebuild when a new firmware is announced, but it's not too long. For me here are the steps:

  • Clone the repo
  • Modify the file to add a new fan curve point
  • Build the firmware
    • cd ec
    • ./scripts/deps.sh
    • source $HOME/.cargo/env
    • make BOARD=system76/<model>
  • flash
    • make BOARD=<vendor>/<model> flash_internal

@ddetton
Copy link

ddetton commented Aug 10, 2023

I just tried this with my new oryp11 and the flash step failed. Any ideas how to fix this?

make BOARD=system76/oryp11 flash_internal

dean@oryx-pro:~/repos/system76/firmware-open/ec$ make BOARD=system76/oryp11 flash_internal
warning: unused manifest key: registries
warning: use of deprecated unit variant `hidapi::HidError::OpenHidDeviceError`
   --> src/main.rs:431:43
    |
431 |                     Err(hidapi::HidError::OpenHidDeviceError.into())
    |                                           ^^^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default

warning: `system76_ectool` (bin "system76_ectool") generated 1 warning
    Finished release [optimized] target(s) in 0.00s
file board: Ok("system76/oryp11")
file version: Ok("2023-08-02_13dd6a1-dirty")
ec board: Ok("system76/oryp11")
ec version: Ok("2023-06-22_e5c3632")
Waiting 5 seconds for all keys to be released
Sync
Result: Err(Protocol(1))
Sync
System will shut off in 5 seconds
Sync
failed to flash 'build/system76/oryp11/2023-08-02_13dd6a1-dirty/ec.rom': Protocol(1)
make: *** [src/board/system76/common/common.mk:117: flash_internal] Error 1

@jacobgkau
Copy link
Member

I just assisted @ddetton in Mattermost. It's now necessary to run these commands from the ec directory before EC can be flashed:

./scripts/ectool.sh security unlock
sudo systemctl reboot # Or reboot your preferred way.

See #159. After that, the flash_internal command will work again.

@proffalken
Copy link

proffalken commented Oct 26, 2023

EDIT OF THE EDIT: I can confirm that using the commands in the reddit link below work. My fans are now floating somewhere around 10-15% most of the time, and ramping up almost immediately inline with temperature spikes.

As a result, they are quieter for longer, but when they do start, they run for the right speed for a lower amount of time and appear to react a lot quicker.

FWIW, my settings are as follows:

# Custom fan curve
CFLAGS+=-DBOARD_HEATUP=0
CFLAGS+=-DBOARD_COOLDOWN=5
CFLAGS+=-DBOARD_FAN_POINTS="\
	FAN_POINT(30, 10), \
	FAN_POINT(55, 25), \
	FAN_POINT(60, 30), \
	FAN_POINT(65, 30), \
	FAN_POINT(70, 40), \
	FAN_POINT(75, 50), \
	FAN_POINT(80, 60), \
	FAN_POINT(85, 70), \
	FAN_POINT(90, 80), \
	FAN_POINT(95, 90) \
"

EDIT: I've just found that this is no longer the correct command at https://www.reddit.com/r/System76/comments/16sg78r/comment/k29x2n5/ - I'm trying the advice there. Leaving the below comment for posterity.

======================================================

FWIW, I'm still seeing the protocol error on my oryp11 after running the command from @jacobgkau above to unlock the security mode.

After running security unlock and rebooting, I get prompted to type in a passcode for flashing the firmware, but then it just reboots into Pop!_OS and when I re-run the make flash_internal command I get the following output:

warning: unused manifest key: registries
warning: use of deprecated unit variant `hidapi::HidError::OpenHidDeviceError`
   --> src/main.rs:431:43
    |
431 |                     Err(hidapi::HidError::OpenHidDeviceError.into())
    |                                           ^^^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default

warning: `system76_ectool` (bin "system76_ectool") generated 1 warning
    Finished release [optimized] target(s) in 0.00s
file board: Ok("system76/oryp11")
file version: Ok("2023-09-07_181d4c5-dirty")
ec board: Ok("system76/oryp11")
ec version: Ok("2023-09-08_42bf7a6")
Waiting 5 seconds for all keys to be released
Sync
Result: Err(Protocol(1))
Sync
System will shut off in 5 seconds
Sync
failed to flash 'build/system76/oryp11/2023-09-07_181d4c5-dirty/ec.rom': Protocol(1)
make: *** [src/board/system76/common/common.mk:117: flash_internal] Error 1

My fans are still causing a significant amount of noise, and I'm now getting complaints from my co-workers!

@Logic-Beach

This comment was marked as duplicate.

@tcollinsworth
Copy link

tcollinsworth commented Mar 2, 2024

This needs a PID controller implementation that finds the right fan speed for the current load, or at least adjusts it in tiny increments that will be far less distracting. There is no possible way to configure it for stability with simple thresholds.

@chrisbirster

This comment was marked as duplicate.

@proffalken
Copy link

FWIW, I've found that selecting "Optimise Battery" (or words to that effect - I don't have that laptop to hand at the moment!) from the power menu seems to calm the fans nicely.

@brainthinks
Copy link

brainthinks commented Mar 31, 2024

The docs are linked in the README, but I didn't see anything in the form of a "Getting Started" section, so here is what I had to do to tame the obnoxious fan on my bonw15. I am doing this on my bonw15 machine running Linux Mint, NOT PopOS or Ubuntu.

  • clone this repo
  • install the dependencies - ./scripts/install-deps.sh
    • because i'm using Linux Mint 22 (Ubuntu 24.04), I had to manually update the script to use python3-distutils-extra rather than python3-distutils
    • note that this will take a while, and for me it failed initially, because I didn't have the necessary git config global values set in the /coreboot subproject (I don't set my global config values because I use different profiles for different projects)
      cd coreboot
      git config user.name "Your Name"
      git config user.email "your@email.com"
      cd ..
    • after setting my name and email in the subproject, I ran the script a second time, and it worked
  • exit my terminal and open a new one - this is necessary to load some PATH values or something from the install-deps.sh script
  • OPTIONAL (note that I didn't actually have to do this, but I was prepeared to, based on the other comments in this thread) - check the ec lock status:
    • cd ec
      ./scripts/ectool.sh security
    • mine reported "Lock", so if I had actually needed to unlock it, I could have done it like this:
    • ./scripts/ectool.sh security unlock
      sudo reboot # Or reboot your preferred way.
  • edit the necessary board.mk file. For me, that was the file at ec/src/board/system76/bonw15/board.mk
    • # Custom fan curve
      CFLAGS+=-DBOARD_HEATUP=0
      CFLAGS+=-DBOARD_COOLDOWN=10
      CFLAGS+=-DBOARD_FAN_POINTS="\
      	FAN_POINT(30, 10), \
      	FAN_POINT(35, 12), \
      	FAN_POINT(40, 15), \
      	FAN_POINT(45, 18), \
      	FAN_POINT(50, 20), \
      	FAN_POINT(55, 25), \
      	FAN_POINT(60, 30), \
      	FAN_POINT(65, 35), \
      	FAN_POINT(70, 40), \
      	FAN_POINT(75, 50), \
      	FAN_POINT(80, 60), \
      	FAN_POINT(85, 70), \
      	FAN_POINT(90, 80), \
      	FAN_POINT(95, 90), \
      	FAN_POINT(99, 100) \
      "
      
  • ensure you are in the firmware-open directory (project root)
  • run the build script
  • plug in the AC power adapter
  • run the flash script
  • it will prompt you to reboot, e.g. sudo reboot
  • follow all of the upcoming prompts, which is basically to hit enter at various times and to type in a security code
  • reminder that when you restart for the first time with the new firmware, your screen will stay black for about 30 seconds - this is normal

Those steps worked for me on my bonw15 running Linux Mint. I hope this helps someone.

I'll come back to edit this post with updated fan values if I find these unsatisfactory.

@brainthinks
Copy link

brainthinks commented Apr 2, 2024

After a few days with my unedited configuration above, the fan noise is now better, but still obnoxious. I had originally dismissed some of the comments here saying the configuring the power settings helps, because I don't want my performance being throttled. However, I have been using the laptop without being plugged in for about the last 30 min, and the fan has been completely silent this whole time, though my sensor reading indicates 2k rpm. I'm currently not doing development, but even at idle when plugged in, the fan will turn on.

My guess is that if you're using something like a bonobo, you bought it specifically for the CPU (and GPU) horsepower. However, if you don't have crazy CPU expectations or requirements, maybe this is a viable strategy. I work remote most of the time, so the obnoxious fan only bothers me. When I'm near my coworkers, however, this seems to be worth testing.

To try to get a casual idea of what I find tolerable, I installed the "Sensors Monitor" applet - I'm sure there's something comparable in your distro. It took a bit of time to get configured, but it's been invaluable. For instance, I now know that these are the current sensor readings, as i sit here in blissful silence:

image

notably absent from the applet right now is the GPU temp - apparently when on battery, the profile disables the discrete GPU in favor of the integrated one (either that or it's because I don't have any external monitors plugged in).

A fan reading of >2k rpm doesn't seem that much lower than idle and plugged in, and I can't even hear it. This makes me wonder if the GPU fan specifically is the culprit.


Edit 1 - so it turns out I didn't read the rest of the board file. Under the CPU fan curve is indeed the GPU fan curve, which I left stock. I'll update my firmware later this week and report back. Here are the default values for bonw15:

# Enable DGPU support
CFLAGS+=-DHAVE_DGPU=1
CFLAGS+=-DBOARD_DGPU_HEATUP=5
CFLAGS+=-DBOARD_DGPU_COOLDOWN=20
CFLAGS+=-DBOARD_DGPU_FAN_POINTS="\
	FAN_POINT(60, 40), \
	FAN_POINT(65, 60), \
	FAN_POINT(70, 75), \
	FAN_POINT(75, 90), \
	FAN_POINT(80, 100) \
"

@crawfxrd
Copy link
Member

Temperature hysteresis for fan-off would likely be sufficient for this. Have it cool like 2°C lower than first point before turning off. (Older ITE EC chips apparently had this functionality when "smart fan mode" was an option.)

@jbaribeault
Copy link

After a few days with my unedited configuration above, the fan noise is now better, but still obnoxious. I had originally dismissed some of the comments here saying the configuring the power settings helps, because I don't want my performance being throttled. However, I have been using the laptop without being plugged in for about the last 30 min, and the fan has been completely silent this whole time, though my sensor reading indicates 2k rpm. I'm currently not doing development, but even at idle when plugged in, the fan will turn on.

My guess is that if you're using something like a bonobo, you bought it specifically for the CPU (and GPU) horsepower. However, if you don't have crazy CPU expectations or requirements, maybe this is a viable strategy. I work remote most of the time, so the obnoxious fan only bothers me. When I'm near my coworkers, however, this seems to be worth testing.

To try to get a casual idea of what I find tolerable, I installed the "Sensors Monitor" applet - I'm sure there's something comparable in your distro. It took a bit of time to get configured, but it's been invaluable. For instance, I now know that these are the current sensor readings, as i sit here in blissful silence:

image

notably absent from the applet right now is the GPU temp - apparently when on battery, the profile disables the discrete GPU in favor of the integrated one (either that or it's because I don't have any external monitors plugged in).

A fan reading of >2k rpm doesn't seem that much lower than idle and plugged in, and I can't even hear it. This makes me wonder if the GPU fan specifically is the culprit.

Edit 1 - so it turns out I didn't read the rest of the board file. Under the CPU fan curve is indeed the GPU fan curve, which I left stock. I'll update my firmware later this week and report back. Here are the default values for bonw15:

# Enable DGPU support
CFLAGS+=-DHAVE_DGPU=1
CFLAGS+=-DBOARD_DGPU_HEATUP=5
CFLAGS+=-DBOARD_DGPU_COOLDOWN=20
CFLAGS+=-DBOARD_DGPU_FAN_POINTS="\
	FAN_POINT(60, 40), \
	FAN_POINT(65, 60), \
	FAN_POINT(70, 75), \
	FAN_POINT(75, 90), \
	FAN_POINT(80, 100) \
"

Hey how did you manage to get the RPMs for the fan? I can't find a sensor that shows that data at all on my BONW15

@tcollinsworth
Copy link

tcollinsworth commented Jun 1, 2024 via email

@alejandrofierro
Copy link

After a few days with my unedited configuration above, the fan noise is now better, but still obnoxious. I had originally dismissed some of the comments here saying the configuring the power settings helps, because I don't want my performance being throttled. However, I have been using the laptop without being plugged in for about the last 30 min, and the fan has been completely silent this whole time, though my sensor reading indicates 2k rpm. I'm currently not doing development, but even at idle when plugged in, the fan will turn on.

My guess is that if you're using something like a bonobo, you bought it specifically for the CPU (and GPU) horsepower. However, if you don't have crazy CPU expectations or requirements, maybe this is a viable strategy. I work remote most of the time, so the obnoxious fan only bothers me. When I'm near my coworkers, however, this seems to be worth testing.

To try to get a casual idea of what I find tolerable, I installed the "Sensors Monitor" applet - I'm sure there's something comparable in your distro. It took a bit of time to get configured, but it's been invaluable. For instance, I now know that these are the current sensor readings, as i sit here in blissful silence:

image

notably absent from the applet right now is the GPU temp - apparently when on battery, the profile disables the discrete GPU in favor of the integrated one (either that or it's because I don't have any external monitors plugged in).

A fan reading of >2k rpm doesn't seem that much lower than idle and plugged in, and I can't even hear it. This makes me wonder if the GPU fan specifically is the culprit.

Edit 1 - so it turns out I didn't read the rest of the board file. Under the CPU fan curve is indeed the GPU fan curve, which I left stock. I'll update my firmware later this week and report back. Here are the default values for bonw15:

# Enable DGPU support
CFLAGS+=-DHAVE_DGPU=1
CFLAGS+=-DBOARD_DGPU_HEATUP=5
CFLAGS+=-DBOARD_DGPU_COOLDOWN=20
CFLAGS+=-DBOARD_DGPU_FAN_POINTS="\
	FAN_POINT(60, 40), \
	FAN_POINT(65, 60), \
	FAN_POINT(70, 75), \
	FAN_POINT(75, 90), \
	FAN_POINT(80, 100) \
"

Hi @brainthinks were you able to change the GPU fan curve? Is it better now? Based on which commit did you compile the firmware``? I just received my bonw15 a week ago and this fan noise is making me want to throw it out the window, my firmware is at 2023-10-20_2e4e34b

@brainthinks
Copy link

ok, well, I really tried to give this thing a chance, but this fan is driving me insane. I'll be trading in my bonobo soon. I think this is only partly the fault of System 76 - surely they could have used a quieter fan.... But I suspect that the rest of the blame goes to Intel for these 13th and 14th gen chips.

The final verdict is that I cannot get the fan to gently ramp to higher speeds. The chip takes in a ton of juice to get the advertised performance, and as a result, the temp will jump 40 degrees C in less than a second. I don't think there is a configuration that can account for this.

@alejandrofierro here is the commit I am using for ec:

commit 38d4666a9007b6d36e344bbc36109876e519028e (HEAD, origin/master, origin/HEAD, master)
Author: Tim Crawford <tcrawford@system76.com>
Date:   Thu Mar 21 10:47:29 2024 -0600

    oryp12: Use OZ26786 charger
    
    Ref: Schematics sheet 58 ("AC In Charger")
    Signed-off-by: Tim Crawford <tcrawford@system76.com>

and here is the commit i'm using for firmware-open:

commit 2c6913bc0abb7906cfd134122a077134a82fba74 (HEAD -> master, origin/master, origin/HEAD)
Author: Jeremy Soller <jackpot51@gmail.com>
Date:   Mon Mar 25 14:30:56 2024 -0600

    lemp13: Update coreboot to fix power LED flicker

I did also update my GPU fan settings, but as I stated, it isn't enough to tame the fan. Here they are if you're interested:

# Enable DGPU support
CFLAGS+=-DHAVE_DGPU=1
CFLAGS+=-DBOARD_DGPU_HEATUP=5
CFLAGS+=-DBOARD_DGPU_COOLDOWN=20
CFLAGS+=-DBOARD_DGPU_FAN_POINTS="\
	FAN_POINT(30, 10), \
	FAN_POINT(35, 12), \
	FAN_POINT(40, 15), \
	FAN_POINT(45, 18), \
	FAN_POINT(50, 20), \
	FAN_POINT(55, 25), \
	FAN_POINT(60, 30), \
	FAN_POINT(65, 35), \
	FAN_POINT(70, 40), \
	FAN_POINT(75, 50), \
	FAN_POINT(80, 60), \
	FAN_POINT(85, 70), \
	FAN_POINT(90, 80), \
	FAN_POINT(95, 90), \
	FAN_POINT(99, 100) \
"

I wish I had a working solution for this, since this laptop has so much power... The only way I could get the fans to stop being obnoxious was to disconnect from the AC power. I'm sure there's some power management settings you could adjust to simulate this while plugged in, but to me that defeats the purpose, since you have to starve the cpu of power to get it to not shoot up 40 deg.

@brainthinks
Copy link

brainthinks commented Aug 5, 2024

in case there is any confusion about what my actual updated firmware is, here are the full contents of firmware-open/ec/src/board/system76/bonw15/board.mk

# SPDX-License-Identifier: GPL-3.0-only

board-y += board.c
board-y += gpio.c

EC=ite
CONFIG_EC_ITE_IT5570E=y
CONFIG_EC_FLASH_SIZE_128K = y

# Enable eSPI
CONFIG_BUS_ESPI=y

# Enable firmware security
CONFIG_SECURITY=y

# Include keyboard
KEYBOARD=15in_102

# Set keyboard LED mechanism
CONFIG_HAVE_KBLED = y
KBLED=bonw14

# Set discrete GPU I2C bus
CFLAGS+=-DI2C_DGPU=I2C_1

# Set battery I2C bus
CFLAGS+=-DI2C_SMBUS=I2C_4

# Set touchpad PS2 bus
CFLAGS+=-DPS2_TOUCHPAD=PS2_3

# Set USB-PD I2C bus
CFLAGS+=-DI2C_USBPD=I2C_1

# Set smart charger parameters
# XXX: PRS1 and PRS2 are in parallel for adapter Rsense?
CHARGER=oz26786
CFLAGS+=\
	-DCHARGER_ADAPTER_RSENSE=5 \
	-DCHARGER_BATTERY_RSENSE=5 \
	-DCHARGER_CHARGE_CURRENT=3072 \
	-DCHARGER_CHARGE_VOLTAGE=17400 \
	-DCHARGER_INPUT_CURRENT=16920

# Set USB-PD parameters
USBPD=tps65987

# Set CPU power limits in watts
CFLAGS+=\
	-DPOWER_LIMIT_AC=330 \
	-DPOWER_LIMIT_DC=55

# Custom fan curve
CFLAGS+=-DBOARD_HEATUP=0
CFLAGS+=-DBOARD_COOLDOWN=10
CFLAGS+=-DBOARD_FAN_POINTS="\
	FAN_POINT(30, 10), \
	FAN_POINT(35, 12), \
	FAN_POINT(40, 15), \
	FAN_POINT(45, 18), \
	FAN_POINT(50, 20), \
	FAN_POINT(55, 25), \
	FAN_POINT(60, 30), \
	FAN_POINT(65, 35), \
	FAN_POINT(70, 40), \
	FAN_POINT(75, 50), \
	FAN_POINT(80, 60), \
	FAN_POINT(85, 70), \
	FAN_POINT(90, 80), \
	FAN_POINT(95, 90), \
	FAN_POINT(99, 100) \
"

# Enable DGPU support
CFLAGS+=-DHAVE_DGPU=1
CFLAGS+=-DBOARD_DGPU_HEATUP=5
CFLAGS+=-DBOARD_DGPU_COOLDOWN=20
CFLAGS+=-DBOARD_DGPU_FAN_POINTS="\
	FAN_POINT(30, 10), \
	FAN_POINT(35, 12), \
	FAN_POINT(40, 15), \
	FAN_POINT(45, 18), \
	FAN_POINT(50, 20), \
	FAN_POINT(55, 25), \
	FAN_POINT(60, 30), \
	FAN_POINT(65, 35), \
	FAN_POINT(70, 40), \
	FAN_POINT(75, 50), \
	FAN_POINT(80, 60), \
	FAN_POINT(85, 70), \
	FAN_POINT(90, 80), \
	FAN_POINT(95, 90), \
	FAN_POINT(99, 100) \
"

# Add system76 common code
include src/board/system76/common/common.mk

Warning though, my file is from a months-old commit at this point, so I suggest you only use it for reference and only use the CPU and GPU fan configuration. If you copy and paste the contents of the entire file directly, you may be missing some configuration that is more up to date.

@ddetton
Copy link

ddetton commented Aug 5, 2024

I found any fan speed above 75% to be unbearable so this is what I did on my oryp11. Been running pretty much 24x7 for almost a year with this config. Fan is always running at low speeds until it gets to super high temps then I slowly raise it, maxing out at 75%. No idea if this will have any adverse effect over the long term. Seems fine so far.

Just wish that s76 would make fan control a built in utility so that we don't have to reflash firmware to change it.

FLAGS+=-DBOARD_FAN_POINTS="\
	FAN_POINT(45, 25), \
	FAN_POINT(50, 25), \
	FAN_POINT(55, 25), \
	FAN_POINT(60, 25), \
	FAN_POINT(65, 25), \
	FAN_POINT(70, 30), \
	FAN_POINT(75, 35), \
	FAN_POINT(80, 40), \
	FAN_POINT(85, 45), \
	FAN_POINT(90, 50), \
	FAN_POINT(95, 75)  \
	```

@crawfxrd
Copy link
Member

crawfxrd commented Aug 6, 2024

Working on it. Current progress in system76/ec#495.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests