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

firmware flashing for fan speeds has no effect (gaze17-3060-b) #477

Open
John-Bronson opened this issue Sep 14, 2023 · 7 comments
Open

firmware flashing for fan speeds has no effect (gaze17-3060-b) #477

John-Bronson opened this issue Sep 14, 2023 · 7 comments

Comments

@John-Bronson
Copy link

  • Model: gaze17-3060-b
  • BIOS version: 2022-06-07_090f9e0
  • EC version:
  • OS: Pop!_OS 22.04 LTS x86_64
  • Kernel: 6.4.6-76060406-generic

My gaze17-3060-b has super loud fans under even moderate load. They also come on suddenly and oscillate up and down rapidly. I've tried to flash the firmware using the guide found here (which seems to match similar procedures I've seen in forums and here on github): https://devimalplanet.com/guide-how-to-adjust-the-fan-curve-on-system76-laptops

When I flash the firmware and reboot, the fans seem to behave exactly as they did before. And there's no way I know of to actually read the settings to see if they've taken.

I contacted Pop OS technical support and they sent me here. I hope this is enough information for someone to help, as I honestly don't know what else to do about this thing.

(Yes, I know about running on Battery Saver. I run it that way 24/7. Every time I boot this thing up I set it to Battery Saver and then turn up the brightness back up on the screen, even though this thing is always plugged in. This makes it possible to attend video conferences, but it also makes the computer slower)

@John-Bronson John-Bronson changed the title firmware flashing for fan speeds has no effect firmware flashing for fan speeds has no effect (gaze17-3060-b) Sep 14, 2023
@ahoneybun
Copy link
Member

Those steps do not work for systems with the new firmware security. The steps would be like this:

git clone https://github.com/system76/firmware-open
cd firmware-open
git checkout commit

Change the commit to match the released firmware for your model (090f9e0 in this case)

git submodule update --init --recursive
./scripts/deps.sh
source ~/.cargo/env

Then edit the board file for your system and change the fan curve values:

gedit ec/src/board/system76/gaze17-3060-b/board.mk

Once that is done save and close Gedit then run these commands to build and flash the custom firmware:

./scripts/build.sh gaze17-3060-b
./scripts/flash.sh gaze17-3060-b
sudo systemctl reboot

@BTBlueSkies
Copy link

BTBlueSkies commented Feb 24, 2024

_The steps above by ahoneybun are not working on this day, feb 23, 2024. I have a gazel6-3050, and when following those steps the first problem is that the acpica repository links have changed and one has to manually grab the acpica file and drop it into the tarball files for the build tree. The second problem is that after this manual fix to the build tree, the build then fails with some $arch variable not found/set/etc. Then, deciding to grab the latest version of the github repo for the firmware-open and running the ./scripts/install-deps.sh (on a fresh install to 22.04 with all updates on the gazel6).. this command fails with some github error asking me git config --global user.name .... etc.

Just an update on my experience this last few hours. I think the build tree is fragile?_

UPDATE: I was able to try this again from a clean install, an aside from the one acpica-unix2-20220331.tar.gz manual inclusion into the build tree, this worked. I was able to adjust the fan curve and I can report it is much nicer.

I set the curve to be: (for a gaze16-3050)
45,25
55,30
65,40
75,60
80,75
85,90
90,100

While most people may not find the fan curve an important aspect of a laptop, when an art student in a collage studio 3d class keeps getting stares because their laptop's fan decides to interrupt the class, it becomes important least they get another laptop that behaves better in the wild. Nice to be able to adjust the firmware and fix this, but man, recompiling the bios to achieve this is both cool and a horror.

@ahoneybun
Copy link
Member

The steps above by ahoneybun are not working on this day, feb 23, 2024. I have a gazel6-3050, and when following those steps the first problem is that the acpica repository links have changed and one has to manually grab the acpica file and drop it into the tarball files for the build tree. The second problem is that after this manual fix to the build tree, the build then fails with some $arch variable not found/set/etc. Then, deciding to grab the latest version of the github repo for the firmware-open and running the ./scripts/install-deps.sh (on a fresh install to 22.04 with all updates on the gazel6).. this command fails with some github error asking me git config --global user.name .... etc.

Just an update on my experience this last few hours. I think the build tree is fragile?

It is because of the new security process where you need to enter a code to flash firmware.

https://github.com/system76/firmware-open/blob/master/FEATURES.md#firmware-security-system

@Logic-Beach
Copy link

Is there any hope for adjusting the fan curve on this new secure firmware? I tried another method found on reddit but unfortunately this fails when running make_internal. It's discussed in more detail in this other GH issue

I am using a serw13 and when running anything that slightly stresses the CPU it's 5000 RPM fan is very annoying. I feel like it'd be better off kicking on slower at lower temps and never getting to 100% speed.

@Logic-Beach
Copy link

Logic-Beach commented Feb 25, 2024

UDPATE: I just tried the steps provided by @ahoneybun on reddit (in the comments), and it flashes the firmware fine.
Adding steps here for posterity:

git clone https://github.com/system76/firmware-open
cd firmware-open
git checkout f5c4eab
git submodule update --init --recursive
./scripts/deps.sh
source ~/.cargo/env
Then edit the board file for your system and change the fan curve values:
gedit ec/src/board/system76/serw13/board.mk
Once that is done save and close Gedit then run these commands to build and flash the custom firmware:
./scripts/build.sh serw13
./scripts/flash.sh serw13
sudo systemctl reboot 

Thanks for that at least that's working.

But sadly I have to confirm that there is no effect on the actual fan curve after editing the board.mk file. I tested scarily low values to confirm. No matter the values the fans shoot to 6000 RPM like normal.

Can we get any further guidance from the system76 team on this?

@crawfxrd
Copy link
Member

Post your diff.

@Logic-Beach
Copy link

Edited:
image

when I git-pulled master, I saw the same file... not sure what I did, but I must edited there too.. I am newish to git

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

No branches or pull requests

5 participants