Open CourchesneA opened 2 years ago
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.
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.
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
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?
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.
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.
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
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.
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:
cd ec
./scripts/deps.sh
source $HOME/.cargo/env
make BOARD=system76/<model>
make BOARD=<vendor>/<model> flash_internal
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
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 https://github.com/system76/firmware-open/pull/159. After that, the flash_internal
command will work again.
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!
Is there any update to this issue? I am trying to adjust the fan curve, but am running into the same issue as @proffalken
root@pop-os:/home/jarm/repos/firmware-open/ec# make BOARD=system76/serw13 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/serw13")
file version: Ok("2023-09-07_181d4c5-dirty")
ec board: Ok("system76/serw13")
ec version: Ok("2023-09-19_16ef69c")
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/serw13/2023-09-07_181d4c5-dirty/ec.rom': Protocol(1)
make: *** [src/board/system76/common/common.mk:117: flash_internal] Error 1
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.
Is there any update to this issue? I am trying to adjust the fan curve, but am running into the same issue as @proffalken
root@pop-os:/home/jarm/repos/firmware-open/ec# make BOARD=system76/serw13 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/serw13") file version: Ok("2023-09-07_181d4c5-dirty") ec board: Ok("system76/serw13") ec version: Ok("2023-09-19_16ef69c") 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/serw13/2023-09-07_181d4c5-dirty/ec.rom': Protocol(1) make: *** [src/board/system76/common/common.mk:117: flash_internal] Error 1
I'm running into the same issue as the others above on a oryp11
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.
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.
./scripts/install-deps.sh
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 ..
install-deps.sh
scriptcd ec
./scripts/ectool.sh security
./scripts/ectool.sh security unlock
sudo reboot # Or reboot your preferred way.
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) \
"
firmware-open
directory (project root)pkg-config
installed: sudo apt install pkg-config
sudo apt-get install libssl-dev
sudo updatedb
./scripts/build.sh bonw15
./scripts/flash.sh bonw15
sudo reboot
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.
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:
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) \
"
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.)
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:
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
This will show all the sensors and CPU and GPU fan speeds.
# https://www.cyberciti.biz/faq/how-to-check-cpu-temperature-on-ubuntu-linux/ gnome-terminal --tab --title="Temp Sensors" -- bash -c "watch -n 0.5 sensors"
On Fri, May 31, 2024 at 6:27 PM jbaribeault @.***> wrote:
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:
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
— Reply to this email directly, view it on GitHub https://github.com/system76/firmware-open/issues/250#issuecomment-2143056099, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFYANKBD5ALMQBW3YOKCJDZFD2OLAVCNFSM5E6YQIR2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMJUGMYDKNRQHE4Q . You are receiving this because you commented.Message ID: @.***>
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:
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`
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.
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.
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) \
Working on it. Current progress in https://github.com/system76/ec/pull/495.
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 ?