uraniumdonut / nbfc-revive Goto Github PK
View Code? Open in Web Editor NEWThis project forked from hirschmann/nbfc
NoteBook FanControl
License: Other
This project forked from hirschmann/nbfc
NoteBook FanControl
License: Other
Hi i wanted to control Lenovo g585 fan speed but nothing worked my specs are: E1-1500 Apu with amd hd 7310 I hope it's possible to fix this problem
⬇️You can ignore this it's just a idea for new update
You can add on software overclock settings but for old CPUs too like my E1-1500 Apu there will be Silent, Gaming,Turbo,Custom idk if it's possible to make thanks for reaching my post 😄
It's just a little tweak on top of the x230 config already there but it might be useful for people facing the same issue as I did.
When I set the fan to a non 0 and non 128 value and then close the lid, the fan starts spinning up until I open the lid again. I looked up for which register was responsible for it and amended the config file accordingly.
Here is the xml :
<?xml version="1.0"?>
<FanControlConfigV2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NotebookModel>ThinkPad x270</NotebookModel>
<EcPollInterval>3000</EcPollInterval>
<ReadWriteWords>false</ReadWriteWords>
<CriticalTemperature>85</CriticalTemperature>
<FanConfigurations>
<FanConfiguration>
<ReadRegister>47</ReadRegister>
<WriteRegister>47</WriteRegister>
<MinSpeedValue>0</MinSpeedValue>
<MaxSpeedValue>7</MaxSpeedValue>
<IndependentReadMinMaxValues>false</IndependentReadMinMaxValues>
<MinSpeedValueRead>0</MinSpeedValueRead>
<MaxSpeedValueRead>0</MaxSpeedValueRead>
<ResetRequired>true</ResetRequired>
<FanSpeedResetValue>128</FanSpeedResetValue>
<FanDisplayName>System Fan</FanDisplayName>
<TemperatureThresholds>
<TemperatureThreshold>
<UpThreshold>0</UpThreshold>
<DownThreshold>0</DownThreshold>
<FanSpeed>0</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>60</UpThreshold>
<DownThreshold>46</DownThreshold>
<FanSpeed>14.2857141</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>66</UpThreshold>
<DownThreshold>60</DownThreshold>
<FanSpeed>42.8571434</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>72</UpThreshold>
<DownThreshold>66</DownThreshold>
<FanSpeed>100</FanSpeed>
</TemperatureThreshold>
</TemperatureThresholds>
<FanSpeedPercentageOverrides />
</FanConfiguration>
</FanConfigurations>
<RegisterWriteConfigurations>
<RegisterWriteConfiguration>
<WriteMode>Set</WriteMode>
<WriteOccasion>OnWriteFanSpeed</WriteOccasion>
<Register>203</Register>
<Value>0</Value>
<ResetRequired>false</ResetRequired>
<ResetValue>0</ResetValue>
<ResetWriteMode>Set</ResetWriteMode>
<Description>lid</Description>
</RegisterWriteConfiguration>
</RegisterWriteConfigurations>
</FanControlConfigV2>
I managed to get nbfc working on my laptop but after a few minutes it seems the system takes over and nbfc doesn't have anymore effect. When I disable and enable it again, it works again.
I noticed in the config options "register write configuration" you can select "OnWriteFanSpeed" or "OnInitiation"
maybe a 3rd option like "RepeatEveryTenSeconds" could do the trick.
Describe the bug
nbfc.service
is enabled, but upon boot (3x now), it isn't starting due to this error:
$ sudo systemctl status nbfc
× nbfc.service - NoteBook FanControl service
Loaded: loaded (/etc/systemd/system/nbfc.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2021-09-30 18:23:42 CDT; 38s ago
Process: 1276 ExecStart=/opt/nbfc/nbfcservice.sh start (code=exited, status=0/SUCCES>
Main PID: 1279 (code=exited, status=1/FAILURE)
CPU: 629ms
Sep 30 18:23:42 vera systemd[1]: nbfc.service: Scheduled restart job, restart counter is>
Sep 30 18:23:42 vera systemd[1]: Stopped NoteBook FanControl service.
Sep 30 18:23:42 vera systemd[1]: nbfc.service: Start request repeated too quickly.
Sep 30 18:23:42 vera systemd[1]: nbfc.service: Failed with result 'exit-code'.
Sep 30 18:23:42 vera systemd[1]: Failed to start NoteBook FanControl service.
To Reproduce
# install and configure nbfc
$ sudo systemctl enable nbfc
$ sudo systemctl reboot
# a few moments later
$ sudo systemctl nbfc status
Expected behavior
nbfc should start at boot.
System information
$ uname -at
Linux vera 5.13.13-arch1-1 #1 SMP PREEMPT Thu, 26 Aug 2021 19:14:36 +0000 x86_64 GNU/Linux
# nbfc installed from this AUR package: https://aur.archlinux.org/packages/nbfc-git/
# modified to point to my fork, zbook-fury branch: https://github.com/jwhendy/nbfc-revive/tree/zbook-fury
$ nbfc --version
1.7.0.0
Additional context
This is puzzling indeed from the journalctl output:
-- Boot ed793858d995465ab93967d6f2073557 --
Sep 30 18:23:37 vera systemd[1]: Starting NoteBook FanControl service...
Sep 30 18:23:37 vera systemd[1]: nbfc.service: Can't open PID file /run/nbfc.pid (yet?) after start: Operation not permitted
Sep 30 18:23:37 vera systemd[1]: Started NoteBook FanControl service.
Sep 30 18:23:38 vera mono[945]: NbfcService: Exception has been thrown by the target of an invocation.
Sep 30 18:23:38 vera mono[945]: NbfcService: Could not resolve host '127.0.0.1'
Sep 30 18:23:38 vera systemd[1]: nbfc.service: Main process exited, code=exited, status=1/FAILURE
Sep 30 18:23:38 vera systemd[1]: nbfc.service: Failed with result 'exit-code'.
Sep 30 18:23:38 vera systemd[1]: nbfc.service: Scheduled restart job, restart counter is at 1.
Sep 30 18:23:38 vera systemd[1]: Stopped NoteBook FanControl service.
### this block repeats and the counter continues to increment from 1-5
Sep 30 18:23:41 vera systemd[1]: Starting NoteBook FanControl service...
Sep 30 18:23:41 vera systemd[1]: nbfc.service: Can't open PID file /run/nbfc.pid (yet?) after start: Operation not permitted
Sep 30 18:23:41 vera systemd[1]: Started NoteBook FanControl service.
Sep 30 18:23:41 vera mono[1279]: NbfcService: Exception has been thrown by the target of an invocation.
Sep 30 18:23:41 vera mono[1279]: NbfcService: Could not resolve host '127.0.0.1'
Sep 30 18:23:41 vera systemd[1]: nbfc.service: Main process exited, code=exited, status=1/FAILURE
Sep 30 18:23:41 vera systemd[1]: nbfc.service: Failed with result 'exit-code'.
Sep 30 18:23:42 vera systemd[1]: nbfc.service: Scheduled restart job, restart counter is at 5.
Sep 30 18:23:42 vera systemd[1]: Stopped NoteBook FanControl service.
Sep 30 18:23:42 vera systemd[1]: nbfc.service: Start request repeated too quickly.
Sep 30 18:23:42 vera systemd[1]: nbfc.service: Failed with result 'exit-code'.
Sep 30 18:23:42 vera systemd[1]: Failed to start NoteBook FanControl service.
Due to the host issue, I looked at /etc/hosts
but don't know what would be awry. Other things like this (e.g. python jupyter lab
which I use almost daily) work fine. Timing/systemd dependency issue around hostname vs. when nbfc tries to start?
$ cat /etc/hosts
# Static table lookup for hostnames.
# See hosts(5) for details.
127.0.0.1 localhost
::1 ip6-localhost ip6-loopback
127.0.1.1 vera.localdomain vera
Now that I'm booted, no problem:
$ sudo systemctl start nbfc
$ sudo systemctl status nbfc
● nbfc.service - NoteBook FanControl service
Loaded: loaded (/etc/systemd/system/nbfc.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-09-30 18:36:18 CDT; 11s ago
Process: 2606 ExecStart=/opt/nbfc/nbfcservice.sh start (code=exited, status=0/SUCCESS)
Main PID: 2609 (mono)
Tasks: 11 (limit: 38265)
Memory: 33.2M
CPU: 672ms
CGroup: /system.slice/nbfc.service
└─2609 /usr/bin/mono /usr/lib/mono/4.5/mono-service.exe -l:/run/nbfc.pid -m:NbfcService /opt/nbfc/NbfcService.exe
Sep 30 18:36:18 vera systemd[1]: Starting NoteBook FanControl service...
Sep 30 18:36:18 vera systemd[1]: nbfc.service: Can't open PID file /run/nbfc.pid (yet?) after start: Operation not permitted
Sep 30 18:36:18 vera systemd[1]: Started NoteBook FanControl service.
Sep 30 18:36:18 vera mono[2609]: NbfcService: Service NoteBookFanControlService started
I found this looking around:
$ cat /opt/nbfc/NbfcService.exe.config
# ...
<host>
<baseAddresses>
<add baseAddress="net.tcp://127.0.0.1:8523/StagWare.FanControl.Service/FanControlService"/>
</baseAddresses>
</host>
# ...
Could this be just happening too early before e.g. resolve services are up and running?
I just added ExecStartPre=/bin/sleep 60
to the service file and will report back if this helps.
So recenlty I've managed to stumble upon this great fork of yours :) And since you seem to be wanting to actually work on this project I'd like to ask for 2 things in future versions:
Add support for monitoring or even acting upon values from miscellanous fields decoded from EC. For example in my laptop I was able to decode multitude of fields related to CPU temperatures, GPU temperature, power mode, amperage etc. It would be great if NBFC could at least monitor those fields (with proper math conversions). Of course the better functionality would be to bind those custom fields as an input to a fan curve - but one step at a time.
It would be also great if I could for example switch presets corresponding to different EC register values from the taskbar. I have mainly power mode registers in mind here. Right now I need to either use OEM bloatware to change those or manually switch NBFC configs I've created with proper initalizer sequences to obtain that functionality. It is certainly doable, but it is not very user friendly.
Is your feature request related to a problem? Please describe.
Apologies if this is the wrong template.
This is a sincere question. As far as I can tell, my laptop already ramps up the fans when needed and stays quiet when not, just like every other laptop I've tried, save for the passively cooled ones. Even without the "gaming software" it came with.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context or screenshots about the feature request here.
Describe the bug
I was trying to uninstall the program because the configs weren't showing up and wanted to try and reinstall it, but for some reason I couldn't stop the service that's running in the background, which means I couldn't delete the files. I even tried restarting my laptop and the service automatically started up with my os, even though I did not select the option for the program to open on start.
To Reproduce
I personally first downloaded the old version of nbfc, which didn't work, then tried to install the newer version, opened the program up, saw it didn't work, so I tried closing it but it didn't let me.
Expected behavior
I expected the folder to be completely deleted, but it couldn't finish because the service was still running and I couldn't just forcefully stop it.
System information
Additional context
Add any other context about the problem here.
Tried 15-ec1xxx and 15-ec0xxx, no dice.
Fan noise is terrible, multi roach bounty for a new config. Super I/O Chip SCH5027D.
Describe the bug
The nbfcservice starts and stops every second or two. This happens with 1.6.3 and 1.7.0. I need to deactivate it in services otherwise uninstall is not possible because nbfcservice starts and stops so often.
To Reproduce
Steps to reproduce the behavior.
Expected behavior
the nbfcservice should run without restarting every second.
System information
windows 10 build 19042 german
Additional context
Describe the bug
Unable to run any config-related command.
~/gentoo/nbfc-revive/Linux/bin/Release $ mono nbfc.exe config -r
Could not load file or assembly 'StagWare.FanControl.Configurations, Version=2.5.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
Object reference not set to an instance of an object
To Reproduce
Run build.sh on a gentoo linux machine with Mono.
Expected behavior
Anything to occur except an error about a missing assembly.
System information
Additional context
This failed with HEAD of the original nbfc, too :(.
I'm happy to help troubleshoot/debug, I'm a professional software developer (and have written some C#!) but am completely unfamiliar with the mono ecosystem on Linux.
I wanted to give something back since this program really saved my ass from hours and hours of annoyance with my noisy laptop :)
So here are some registers and tips for controlling HP Victus directly from it's EC:
Here is my config file. It makes sure whenever switching off NBFC controll to restore automatic fan curve. I suggest keeping that behaviour on - OTHERWISE YOU CAN FRY YOUR LAPTOP.
<?xml version="1.0"?>
<FanControlConfigV2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NotebookModel>HP Victus by HP Laptop 16-e0xxx</NotebookModel>
<Author>Bilut</Author>
<EcPollInterval>1000</EcPollInterval>
<ReadWriteWords>false</ReadWriteWords>
<CriticalTemperature>95</CriticalTemperature>
<FanConfigurations>
<FanConfiguration>
<ReadRegister>46</ReadRegister>
<WriteRegister>44</WriteRegister>
<MinSpeedValue>0</MinSpeedValue>
<MaxSpeedValue>100</MaxSpeedValue>
<IndependentReadMinMaxValues>false</IndependentReadMinMaxValues>
<MinSpeedValueRead>0</MinSpeedValueRead>
<MaxSpeedValueRead>0</MaxSpeedValueRead>
<ResetRequired>true</ResetRequired>
<FanSpeedResetValue>255</FanSpeedResetValue>
<FanDisplayName>Left</FanDisplayName>
<TemperatureThresholds>
<TemperatureThreshold>
<UpThreshold>0</UpThreshold>
<DownThreshold>0</DownThreshold>
<FanSpeed>32</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>65</UpThreshold>
<DownThreshold>50</DownThreshold>
<FanSpeed>46</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>76</UpThreshold>
<DownThreshold>58</DownThreshold>
<FanSpeed>50</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>86</UpThreshold>
<DownThreshold>79</DownThreshold>
<FanSpeed>70</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>88</UpThreshold>
<DownThreshold>83</DownThreshold>
<FanSpeed>80</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>90</UpThreshold>
<DownThreshold>87</DownThreshold>
<FanSpeed>100</FanSpeed>
</TemperatureThreshold>
</TemperatureThresholds>
<FanSpeedPercentageOverrides />
</FanConfiguration>
<FanConfiguration>
<ReadRegister>47</ReadRegister>
<WriteRegister>45</WriteRegister>
<MinSpeedValue>0</MinSpeedValue>
<MaxSpeedValue>100</MaxSpeedValue>
<IndependentReadMinMaxValues>false</IndependentReadMinMaxValues>
<MinSpeedValueRead>0</MinSpeedValueRead>
<MaxSpeedValueRead>0</MaxSpeedValueRead>
<ResetRequired>true</ResetRequired>
<FanSpeedResetValue>255</FanSpeedResetValue>
<FanDisplayName>Right</FanDisplayName>
<TemperatureThresholds>
<TemperatureThreshold>
<UpThreshold>0</UpThreshold>
<DownThreshold>0</DownThreshold>
<FanSpeed>32</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>65</UpThreshold>
<DownThreshold>50</DownThreshold>
<FanSpeed>46</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>76</UpThreshold>
<DownThreshold>58</DownThreshold>
<FanSpeed>50</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>86</UpThreshold>
<DownThreshold>79</DownThreshold>
<FanSpeed>70</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>88</UpThreshold>
<DownThreshold>83</DownThreshold>
<FanSpeed>80</FanSpeed>
</TemperatureThreshold>
<TemperatureThreshold>
<UpThreshold>90</UpThreshold>
<DownThreshold>87</DownThreshold>
<FanSpeed>100</FanSpeed>
</TemperatureThreshold>
</TemperatureThresholds>
<FanSpeedPercentageOverrides />
</FanConfiguration>
</FanConfigurations>
<RegisterWriteConfigurations />
</FanControlConfigV2>
Describe the bug
error:
"The service is unavailable. Object reference not set to an instance of an object"
To Reproduce
nbfc.exe config --recommend
System information
Describe the bug
Upon startup of computer, systemd unit initially failed, stating too many requests were made in a short amount of time. I stopped/started the service, re-enabled the target config, stopped/started nbfc, but the fake thermal zone is not being set.
To Reproduce
Boot up computer, attempt to start systemd unit and nbfc. Symptoms:
$ nbfc status
Service enabled : True
Read-only : False
Selected config name : HP ZBook Fury 15 G7
Temperature : 53
Fan display name : Right fan
Auto control enabled : True
Critical mode enabled : False
Current fan speed : 0.00
Target fan speed : 40.00
Fan speed steps : 225
Fan display name : Left Fan
Auto control enabled : True
Critical mode enabled : False
Current fan speed : 0.00
Target fan speed : 40.00
Fan speed steps : 225
$ sensors
### redacted for brevity
acpitz-acpi-0
Adapter: ACPI interface
temp1: +54.0°C (crit = +128.0°C) ### this should be fixed at 28
temp2: +53.0°C (crit = +128.0°C)
temp3: +54.0°C (crit = +128.0°C)
temp4: +48.0°C (crit = +128.0°C)
temp5: +34.0°C (crit = +128.0°C)
temp6: +39.0°C (crit = +128.0°C)
temp7: +40.0°C (crit = +128.0°C)
temp8: +43.0°C (crit = +128.0°C)
temp9: +0.0°C (crit = +128.0°C)
ec-probe dump
shows that this zone is not properly set.$ cat /opt/nbfc/Configs/HP\ ZBook\ Fury\ 15\ G7.xml
<!-- snip -->
<RegisterWriteConfiguration>
<WriteMode>Set</WriteMode>
<WriteOccasion>OnInitialization</WriteOccasion>
<Register>38</Register>
<Value>28</Value>
<ResetRequired>true</ResetRequired>
<ResetValue>0</ResetValue>
<ResetWriteMode>Set</ResetWriteMode>
<Description>Fake thermal zone temperature</Description>
</RegisterWriteConfiguration>
</RegisterWriteConfigurations>
However, register 38 (0x26
) is 54, the real temp of that zone, not the expected value of 28 (0x1C
).
$ sudo ec-probe dump
| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
---|------------------------------------------------
00 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
10 | 00 FF 04 03 FF FF FF 00 02 0B 00 00 FF FF 00 00
20 | 00 00 00 00 00 00 36 01 0F 00 00 00 00 00 FF FF
30 | 00 00 3D 00 00 FF FF 01 00 00 00 00 00 00 00 00
40 | 00 00 01 00 00 00 12 30 04 00 16 68 04 00 FF FF
50 | 00 00 03 00 00 87 05 00 00 01 00 00 02 FF 00 01
60 | FF 00 00 01 01 00 FF FF FF FF FF FF FF FF FF FF
70 | FF FF FF FF FF FF FF FF 83 04 00 40 FF FF FF FF
80 | 03 04 14 19 11 01 00 39 1D DE 17 20 FF 1C 16 FF
90 | FF 01 01 00 41 50 3C F4 10 00 00 FF FF 00 00 00
A0 | 00 1C 16 37 00 D0 43 F4 10 F4 10 F4 10 3A 02 FF
B0 | FF 22 01 00 00 64 11 E0 00 64 E6 00 96 00 0A 00
C0 | 00 00 00 00 07 00 5A 64 64 81 14 57 51 33 33 36
D0 | 4A 4C FF E8 27 FF 2B 06 04 81 7E 04 00 00 00 00
E0 | 00 0C FF 0C 00 A4 6E 00 FA 00 00 00 86 FF FF 00
F0 | 00 00 00 00 00 00 04 04 07 E6 00 2C 4C 12 2E 00
Expected behavior
Fan setpoint vs. actual aside (maybe something else causes that), I would expect nbfc to reliably set this fake thermal zone. It is not clear why it was working on last boot, but failed to do so upon startup.
I'm also unable to set manually (here's three times in succession, which are not changing the value.
$ sudo ec-probe write -v 0x26 0x1C
Writing at 38: 28 (0x1C)
Current value at 38: 55 (0x37)
$ sudo ec-probe write -v 0x26 0x1C
Writing at 38: 28 (0x1C)
Current value at 38: 55 (0x37)
$ sudo ec-probe write -v 0x26 0x1C
Writing at 38: 28 (0x1C)
Current value at 38: 53 (0x35)
System information
$ uname -a
Linux vera 5.14.6-arch1-1 #1 SMP PREEMPT Sat, 18 Sep 2021 16:19:35 +0000 x86_64 GNU/Linux
$ pacman -Q nbfc
nbfc-git 1.7.0.r20.g15cdab9-1
$ nbfc --version
1.7.0.0
$ sudo systemctl status nbfc
● nbfc.service - NoteBook FanControl service
Loaded: loaded (/etc/systemd/system/nbfc.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-09-23 13:17:57 CDT; 33min ago
Process: 7643 ExecStart=/opt/nbfc/nbfcservice.sh start (code=exited, status=0/SUCCESS)
Main PID: 7646 (mono)
Tasks: 13 (limit: 38265)
Memory: 36.6M
CPU: 4.774s
CGroup: /system.slice/nbfc.service
└─7646 /usr/bin/mono /usr/lib/mono/4.5/mono-service.exe -l:/run/nbfc.pid -m:NbfcService /opt/nbfc/NbfcService.exe
Sep 23 13:17:57 vera systemd[1]: Starting NoteBook FanControl service...
Sep 23 13:17:57 vera systemd[1]: nbfc.service: Can't open PID file /run/nbfc.pid (yet?) after start: Operation not permitted
Sep 23 13:17:57 vera systemd[1]: Started NoteBook FanControl service.
Sep 23 13:17:58 vera mono[7646]: NbfcService: Service NoteBookFanControlService started
Output of journalctl attached as well. I noted the issues with resolving 127.0.0.1... not sure what's going on there. My /etc/hosts
is below, and note that I have ipv6.disable_ipv6=1
as a kernel boot option.
$ cat /etc/hosts
127.0.0.1 localhost
::1 ip6-localhost ip6-loopback
127.0.1.1 vera.localdomain vera
192.168.0.137 gendlin
Happy to run experiments/provide additional logs as desired.
journalctl_nbfc.log
I am opening this issue just to inform anyone who is using ASUS UX391U that I have tested the "Asus Zenbook UX310UAK" profile is working with UX391U. If you got an UX391U and cannot find the suitable profile for your laptop, just go with the UX310UAK profile.
It would be nice if anyone can copy the config of the UX310UAK and rename it to UX391U to make it more clear for the UX391U users. Thanks so much for the author's work :)
Describe the bug
Not working
Like in this case: https://www.youtube.com/watch?v=OJXzBzPKm6o
Same problem
To Reproduce
Just install and run
Expected behavior
A clear and concise description of what you expected to happen.
System information
I've tried to add my own configuration for many days, but it never works.
Thank you.
Is your feature request related to a problem? Please describe.
The maximum rate at which the fan speed increases when the target is raised should be adjustable, so that it can spin up more slowly. This should not apply to the critical threshold.
Describe the solution you'd like
Clicking the settings gear icon should provide a slider, dropdown, or number input to specify over how many seconds to ramp up the fan speed, or how many percent to increase per second.
It seems that nbfc does not support Windows 11 very well. After the installation is completed, the background service keeps starting and stopping, which causes the CPU usage to remain high, and the CPU temperature remains high. Can you fix it?
Describe the bug
When exiting from a high fixed speed, NBFC slowly spins down to the speed defined by Auto if the CPU temperature is high enough for the fan should continue spinning to some extent. If the CPU is cold enough for Auto to turn the fans completely off, then the fans shut off instantly when exiting fixed speed instead of slowly spinning down to zero.
To Reproduce
Expected behavior
No matter what the next target speed is defined by the Auto config, the fan speeds should always gradually spin down when exiting manual control. The only exception should be when disabling fan control service entirely.
System information
Additional context
HWiNFO64 7.15_4615 is installed, and although it is listed as incompatible with NoteBook FanControl, there have been no compatibility issues in practice, and all of the few errors with NBFC occur when HWiNFO is closed as well.
I have a ZBook Fury 15 G7 which has two fans. By default my fans do not come on at all in linux. I am trying to work with existing configs but getting mixed results. I can toggle one fan on by using the HP Zbook 15
profile and doing
nbfc set -f 0 -s 100
However, this config suggests that the read/write registers (for one fan, at least) are 0x46 and 0x47. That said, in trying to verify this, I ran the following:
sudo ec-probe monitor -c -i 1 -r ~/Desktop/ec-monitor.txt
I waited a bit, ran the command above to set the fan to 100 (using the HP Zbook 15 config), then waited a bit again and set it back to auto (which turns the fan completely off again):
nbfc set -f 0 -a
Plotting all registers yields the following:
I see no obvious register showing 0 -> 100 (which sounds pretty darn fast) -> 0. 2E is the inverse of what I'd have expected.
Here was a much longer run where I stressed the CPU and my temps went from ~50C to ~70C (which helped identify 2F as the temperature register, I think). If there is any fan being called for at all, I see no register correlated with the temp bump in the middle of the 2F register (edit: forgot to insert plot).
As an aside, I'm confused by the output of ec-probe dump
vs. ec-probe monitor
. Why does dump
yield "systematic registers" (00-F0 in rows, 00-0F in columns) vs. the registers I find via monitor
?
| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
---|------------------------------------------------
00 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
10 | 00 FF 03 00 FF FF FF 00 02 0B 00 00 FF FF 00 00
20 | 00 00 00 00 00 00 1C 01 0F 00 00 00 1C 00 FF FF
30 | 00 00 2B 00 00 FF FF 00 00 00 00 00 00 00 00 00
40 | 00 00 01 80 00 00 17 39 05 00 28 9D 04 00 FF FF
50 | 00 00 29 00 00 87 05 00 00 01 00 00 02 FF 00 01
60 | FF 00 EF 01 01 00 FF FF FF FF FF FF FF FF FF FF
70 | FF FF FF FF FF FF FF FF 83 04 00 00 FF FF FF FF
80 | 03 04 14 09 10 01 00 3A 1D DE 17 20 FF 8B 16 7F
90 | 00 01 01 00 41 50 3C 72 0E 01 00 68 00 E0 02 FB
A0 | 03 0D 06 31 00 D6 39 6B 0E 6D 0E 77 0E 44 02 FF
B0 | FF 22 01 00 00 64 11 C0 00 64 00 00 96 00 0A 70
C0 | 44 00 B5 10 07 00 5A 64 64 81 14 57 51 33 33 36
D0 | 4A 4C FF 22 14 FF 2F 06 04 41 BE 04 00 00 00 00
E0 | EF 0B FF 0C 00 A4 6E 00 FA 00 00 00 86 FF FF 00
F0 | 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 00 00
Describe the bug
I cant install nbfc
To Reproduce
Download https://github.com/UraniumDonut/nbfc-revive/releases/download/1.7.1/NoteBookFanControl.setup.exe and try to install
Expected behavior
nbfc is installed
System information
Additional context
clicled to cancel
Logs: https://pastebin.com/Hp7TPeVP
Seems problem in existing nbfc (installed not revived before) and currently I can't remove WinRing0x64.sys from there
UPD: I deleted all files in C:\Program Files (x86)\NoteBook FanControl
but there still that problem
I do own a this model but I am unable to create my own config.
I can try to give you al linformation you require but for now the ec-probe.exe monitor --clearly is outputing nothing for me.
nothing is shown when i click at "select a config" , its empty and i tried to reinstall it alot of times and still not working
the picture below describes everything
i am using a lite type of windows 10 pro called "atlas os" so maybe something is not enabled cuz before i switch to this windows everything was ok
System information
I like the idea of customizing how loud my laptop runs, but I sometimes forget that my fans are very high when shutting it down, or the fans are too low or off when doing something demanding. A fan curve similar to that of MSI Afterburner and other fan control programs would fix this. I could have my laptop run passively up to 50C, but kick the fan on when doing something demanding that goes above 50C.
Faulting application name: NbfcService.exe, version: 1.7.1.0, time stamp: 0x61743fa0
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1348, time stamp: 0x76fcd692
Exception code: 0xe0434352
Fault offset: 0x0000000000034f69
Faulting process id: 0x4c4
Faulting application start time: 0x01d7d937661ba044
Faulting application path: C:\Program Files (x86)\NoteBook FanControl\NbfcService.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: b58c61d0-c399-46ef-a354-ec69a7b41cce
Faulting package full name:
Faulting package-relative application ID:
I read the entire Wiki to configure my Aspire 5. But I'm not succeeding and I have some doubts.
How exactly can having the Super IO Datasheet help figure out which "address" to use? From what I saw on github the chip that controls the FAN is the ENE KB9022Q D, but there is only the datasheet of the ENE KB9012 which seems to be similar to me.
How should I use these files? What exactly should I look for?
my fan is simply unable to pass 60% even under heavy load with the temperature above 70°.
doing a dump using ec-probe doesn't seem like a solution for me because I have difficulty reading numbers even with "ec-probe.exe monitor --clearly"
` | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |
---|---|
00 | 00 32 64 10 01 20 32 45 0F 1E 01 00 01 00 00 32 |
10 | 32 64 64 64 00 00 00 00 00 00 00 00 00 00 00 32 |
20 | 00 50 54 00 00 00 00 00 00 00 00 32 00 01 00 00 |
30 | 14 00 00 00 00 00 00 64 00 00 64 32 00 00 00 00 |
40 | 00 00 00 00 00 00 00 00 00 00 32 00 32 00 00 06 |
50 | 32 00 00 00 00 06 00 00 00 00 00 00 00 00 04 FF |
60 | 00 80 00 00 00 00 00 00 00 00 00 00 00 32 00 00 |
70 | 00 00 00 00 00 00 00 00 00 00 32 00 00 00 00 00 |
80 | 32 00 00 00 00 00 00 00 32 32 32 00 00 00 00 00 |
90 | 32 47 43 14 14 38 4B 00 00 41 43 31 34 42 38 4B |
A0 | 32 64 00 C6 C1 00 00 61 64 00 00 08 64 1A 00 7C |
B0 | 2E 00 20 32 00 00 00 00 00 0A 00 4D 85 52 11 11 |
C0 | 83 00 4A 0A 66 81 21 42 60 3B 94 0C 4A 0A 64 39 |
D0 | 00 00 00 00 00 A9 E7 20 00 00 01 00 1C 00 E0 00 |
E0 | 00 00 00 87 10 85 10 89 10 8B 10 02 00 4A 0A 00 |
F0 | 43 44 00 00 65 4C 00 00 84 00 00 45 55 00 03 00` |
0xA0: 32 ,00 0xB0: 33,34,56 0xB3: 31,32,34 0xB4: 2D,2E,30 0xC6: 21,1F 0xDA: 02,01,0A 0xDB: 09,00,11 0xDC: 00,3A,00 0xE3: 87,86,87 0xF1: 54,44,54
Would you have any tips to help me?
I tried use "nbfc.exe config --recommend" but none work, can help me to create a config for my model?
Describe the bug
Here is an excerpt from ec-probe monitor
on my computer showing that the header row does not end in a comma, but the data rows do:
$ cat Desktop/ec-monitor.txt
2E,2F,32,35,36,47,4A,4B,52,62,97,9D,9F,A5,A9,AB,AF,B8,D0,D3,D4,D9,DA,E0
FF,FF,30,FF,FF,39,16,F9,22,00,18,A1,AD,63,17,1A,03,00,4A,2A,21,EF,10,13,
FF,FF,38,FF,FF,39,16,F9,26,00,18,A2,AD,62,17,1B,03,00,4A,2A,21,FB,04,13,
FF,FF,34,FF,FF,39,16,F9,03,00,18,A1,AD,64,17,1B,03,00,4A,7B,1F,D8,27,13,
It seems that the csv format may vary, but here is one specification which calls out:
Each record is located on a separate line, delimited by a line break (CRLF).
The data rows are deliminted by a final comma and then a line break.
I'm not sure what this document is, but here are some other applicable rules speaking to this:
The rules for [csv] data which it understands are as follows:
- Each row must have the same number of comma-separated fields.
- Adjacent commas, or a comma at the start or end of a line (whitespace apart) indicates a null field.
- The first line may be a header line containing column names rather than a row of data. Exactly the same syntactic rules are followed for such a row as for data rows.
The output generated by ec-probe monitor
essentially creates an empty/extra null column by ending each data row with a comma. In python
using pandas
this causes the first column to be used as the data frame index, and the last register is populated with NaN
values.
import pandas as pd
df = pd.read_csv("ec-monitor-test.txt")
In R
when trying to read in the file, you get the following, and must either add a comma to the end of the header row (yielding a "ghost" NA column) or delete the trailing commas from all data rows.
> read.csv('~/Desktop/ec-monitor-test.txt')
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
duplicate 'row.names' are not allowed
To Reproduce
Collect data using ec-probe monitor -r path/to/file
and the generated file
will have improper comma delimiters which cause problems when subsequently reading the data in.
Expected behavior
The header row and data rows should have the same structure (i.e. field_0, field_1, ..., field_n
). I think this was just an oversight, as the code removes the final comma from the header row, but not data rows.
System information
$ uname -a
Linux vera 5.13.13-arch1-1 #1 SMP PREEMPT Thu, 26 Aug 2021 19:14:36 +0000 x86_64 GNU/Linux
$ nbfc --version
1.6.3.0
Is your feature request related to a problem? Please describe.
systemd can't start nbfc.service when selinux is enabled
Describe the solution you'd like
a good solution will be to create an selinux policy to allow the service to run
Hello,
I would really need new profile for HP ZBOOK 17 G6. Laptop has two fans. NBFC was working OK until a few bios updates ago. now none profile works. It is either HP changed something or locked it. Is it still posible to control the fans on this laptop. Current bios is R92 Ver. 01.09.00, and for some reason rollback for bios is not working.
i tried creating my own config but the instructions aren't very clear and i don't understand most of it
First I'm no programmer of any kind but I love to tune my PCs for optimal performance.
After undervolting the CPU and Overclocking the GPU I want to set a more aggressive Fan tune or at least manually controll them.
But when I tried to use ec-probe or RWEverything I get a blank console screen or in the case of RW 0's all across.
So I cant get the needed values. So I opened some old files of my BIOS extract when I undervolted my CPU.
There I saw that for CPU Fan Speed it gives 0x39D (0x41 as 8 bit). But when I try to input the number I still get no reaction from my fans.
So I ask someone to add the model or help me do it.
Thanks in advance!
Should I update to this from stock NBFC if it works fine? Is it just adding support for newer laptops? Thanks
Hi,
i tried to make nfc work with my Laptop to compensate for it's bad fan control. Therefore i've tried like all config's for Asus Laptops but no Config worked.
So i tried to to get the read and writing registers for this Laptop with the EC probing tool. I've tried to change some of the offsets that i got from the ec probing tool but nothing worked. I hope sb. can help me with this.
These were some of the Readings i got:
EC-Readings.txt
I figuered out, that 0x0C was the temperature. It startet with no fan noise. Then with moderate prime95 the fan started spinning a little bit untill 0x0C at 37 then it went down again. After that and real stresstest with prime95 the temperature got up to like 85 to 90 degrees (0x0C = 45) and the fan ran at 100%. After that the fan slowly got slower until it stopped again at the End (0x0C = 24)
Sadly i wasn't able to figure out which one of the eh-registers was the read or write register ...
mfg
Michael
Describe the bug
When starting nbfc, selecting a profile (selfmade and fitting or prebuilt for other model) and selecting "Read-Only" or "Enabled" the radio button will repeatedly jump to "Disabled" and "Read-Only". No temperature is displayed (0°C). The service can't be uninstalled easily as it will continuouisly start and kill a process.
To Reproduce
Expected behavior
System information
Additional context
Using the 2021 Gigabyte Aero 17. Gigabyte Control Center etc. are disabled. Problem might be related to other "nbfc restart" issues
I tried probing the EC but the dump file was filled with 0 hex values so please help
Describe the bug
My computer just shut down due to an overheat event. I was puzzled by this, so after a fresh boot took a look at nbfc related things. I found two potentially relevant findings:
nbfc status
seems stuck at calling for a target of 40, but the actual speed stays at zeroec-probe dump
is showing my acpi temp1, which is the "cheat" register, at 55C, not 28C which is usually the case when running nbfc
To Reproduce
nbfc status
, sensors
, and ec-probe dump
Expected behavior
I was previously getting target speed and actual speed of 0. Now target seems stuck at 40%. Here is an example nbfc status
output, and it has been like this for ~30min since boot:
$ nbfc status
Service enabled : True
Read-only : False
Selected config name : HP ZBook Fury 15 G7
Temperature : 57
Fan display name : Right fan
Auto control enabled : True
Critical mode enabled : False
Current fan speed : 0.00
Target fan speed : 40.00
Fan speed steps : 225
Fan display name : Left Fan
Auto control enabled : True
Critical mode enabled : False
Current fan speed : 0.00
Target fan speed : 40.00
Fan speed steps : 225
Sometimes one fan is kicking on. Here's another status output from the same boot session/time period:
$ nbfc status
Service enabled : True
Read-only : False
Selected config name : HP ZBook Fury 15 G7
Temperature : 59
Fan display name : Right fan
Auto control enabled : True
Critical mode enabled : False
Current fan speed : 42.67
Target fan speed : 40.00
Fan speed steps : 225
Fan display name : Left Fan
Auto control enabled : True
Critical mode enabled : False
Current fan speed : 0.00
Target fan speed : 40.00
Fan speed steps : 225
In addition, register 38 (0x26) is to be forced to 28C, but this appears not to be working.
$ sudo ec-probe write -v 0x26 28
Writing at 38: 28 (0x1C)
Current value at 38: 56 (0x38)
$ sudo ec-probe dump
| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
---|------------------------------------------------
00 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
10 | 00 FF 04 03 FF FF FF 00 02 0B 00 00 FF FF 00 00
20 | 00 00 00 00 00 00 39 00 0F 00 00 00 00 00 FF FF
30 | 00 00 4C 00 00 FF FF 01 00 00 00 00 00 00 00 00
40 | 00 00 01 00 00 00 13 2F 03 00 2B A3 04 00 FF FF
50 | 00 00 00 00 00 87 05 00 00 00 00 00 02 FF 00 01
60 | FF 00 00 01 00 00 FF FF FF FF FF FF FF FF FF FF
70 | FF FF FF FF FF FF FF FF 83 04 00 40 FF FF FF FF
80 | 06 04 15 19 11 01 00 3A 1D DE 17 20 FF 82 16 FF
90 | FF 01 01 00 41 50 3C 11 11 00 00 FF FF 00 00 00
A0 | 00 4F 16 34 00 46 44 11 11 12 11 12 11 44 02 FF
B0 | FF 22 01 00 00 64 11 E0 00 64 E6 00 96 00 0A 00
C0 | 00 00 00 00 07 00 5A 64 64 81 14 57 51 33 33 36
D0 | 4A 4C FF 89 29 FF 20 06 04 C9 36 04 00 00 00 00
E0 | 0C 0C FF 0C 00 A4 00 00 FA 00 00 00 86 FF FF 00
F0 | 00 00 00 00 00 00 04 04 07 E6 00 2C 4C 12 2E 00
My temp information confirms this as well (acpitz-acpi-0
should be 28C but it's not).
$ sensors
iwlwifi_1-virtual-0
Adapter: Virtual device
temp1: +46.0°C
pch_cometlake-virtual-0
Adapter: Virtual device
temp1: +62.0°C
BAT0-acpi-0
Adapter: ACPI interface
in0: 17.48 V
curr1: 0.00 A
nvme-pci-0200
Adapter: PCI adapter
Composite: +44.9°C (low = -5.2°C, high = +79.8°C)
(crit = +84.8°C)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +55.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +53.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +54.0°C (high = +100.0°C, crit = +100.0°C)
Core 2: +54.0°C (high = +100.0°C, crit = +100.0°C)
Core 3: +53.0°C (high = +100.0°C, crit = +100.0°C)
Core 4: +53.0°C (high = +100.0°C, crit = +100.0°C)
Core 5: +53.0°C (high = +100.0°C, crit = +100.0°C)
nvme-pci-6f00
Adapter: PCI adapter
Composite: +33.9°C (low = -273.1°C, high = +76.8°C)
(crit = +78.8°C)
Sensor 1: +33.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +35.9°C (low = -273.1°C, high = +65261.8°C)
nvme-pci-0300
Adapter: PCI adapter
Composite: +43.9°C (low = -273.1°C, high = +81.8°C)
(crit = +84.8°C)
Sensor 1: +43.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +42.9°C (low = -273.1°C, high = +65261.8°C)
acpitz-acpi-0
Adapter: ACPI interface
temp1: +54.0°C (crit = +128.0°C)
temp2: +53.0°C (crit = +128.0°C)
temp3: +55.0°C (crit = +128.0°C)
temp4: +49.0°C (crit = +128.0°C)
temp5: +35.0°C (crit = +128.0°C)
temp6: +40.0°C (crit = +128.0°C)
temp7: +41.0°C (crit = +128.0°C)
temp8: +44.0°C (crit = +128.0°C)
temp9: +0.0°C (crit = +128.0°C)
System information
$ uname -a
Linux vera 5.13.13-arch1-1 #1 SMP PREEMPT Thu, 26 Aug 2021 19:14:36 +0000 x86_64 GNU/Linux
# nbfc installed from this AUR package: https://aur.archlinux.org/packages/nbfc-git/
# modified to point to my fork, zbook-fury branch: https://github.com/jwhendy/nbfc-revive/tree/zbook-fury
$ nbfc --version
1.7.0.0
$ systemctl status nbfc
● nbfc.service - NoteBook FanControl service
Loaded: loaded (/etc/systemd/system/nbfc.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2021-09-08 14:29:54 CDT; 24min ago
Process: 8125 ExecStart=/opt/nbfc/nbfcservice.sh start (code=exited, status=0/SUCCESS)
Main PID: 8128 (mono)
Tasks: 13 (limit: 38265)
Memory: 37.2M
CPU: 12.691s
CGroup: /system.slice/nbfc.service
└─8128 /usr/bin/mono /usr/lib/mono/4.5/mono-service.exe -l:/run/nbfc.pid -m:NbfcService /opt/nbfc/NbfcService.exe
Additional context
Everything was working. I have been bouncing between nbfc-linux and this; not sure if that could have mucked with anything under the hood? Perhaps a simple starting point would be: why isn't register 38 taking the 28C hack?
Hi, I am trying to create a config for ThinkBook 15 G2 ARE with Ryzen 4700U. I couldn't be able to find my EC by looking motherboard. I tried probing but I couldn't be able to change fan speed. I think I should activate manual control mode. How can I find a way to activate it? Is there a more detailed guide about how to create a config?
I have two different probing log, there were many register but I find only five of them are responding to temp and fan speed. The upper one is increasing fan speed & temp, the lower one is decreasing fan speed & temp.
0x0B: 2A ,29,2A ,2B ,2C,2D
0xB0: 2F,32,38,3B,3E,40,42,43,45 ,59,60
0xB1: 2F,32,38,3B,3E,40,42,43,45 ,59,60
0xB2: 2F,2E ,2F,31,32 ,33 ,34,35,37
0xB3: 34 ,37,3B,3F,41,43,45,46,47,53,60
0x0B: 34,35 ,34,33,32,31,30,2F,2E,2D ,2C
0xB0: 59,62,5C,53,4B,43,3B,3D,35,36,38,30,31,34,36
0xB1: 59,62,5C,53,4B,43,3B,3D,35,36,38,30,31,34,36
0xB2: 38 ,36,34,32,31,30 ,2F ,2E,2D ,2C
0xB3: 59,62,5C,53,4F,49,41,40,3A,39,3A,35,34,36,38
Also, I found 0x10 is changing when I change profile using Lenovo Vantage. 00 for performance mode, 04 for battery saver, 20 for intelligent cooling. Unfortunately, it doesn't affect anything when I changed this register manually (However it stays the same as what I write, not go to the original value automatically)
Describe the bug
After installing and runing the service, it ends up with infinite cycle of Service crashing, starting again and crashing again.
The EventLog says:
Aplikace: NbfcService.exe
Verze Framework: v4.0.30319
Popis: Proces byl ukončen z důvodu neošetřené výjimky.
Informace o výjimce: System.PlatformNotSupportedException
na StagWare.Hardware.HardwareMonitor.InitializeCpuSensors()
na StagWare.Hardware.HardwareMonitor.get_CpuTemperatures()
na StagWare.Plugins.Generic.CpuTemperatureMonitor.GetTemperature()
na StagWare.FanControl.FanControl.TimerCallback(System.Object)
na System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
na System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
na System.Threading.TimerQueueTimer.CallCallback()
na System.Threading.TimerQueueTimer.Fire()
na System.Threading.TimerQueue.FireNextTimers()
To Reproduce
Instal, run and apply any config on:
HP ZBook Power G8
Expected behavior
At least nice info, that this platform (CPU?) is currently not supported?
System information
time;level;message;exception;callsite;stacktrace
2021-11-04 10:26:37.1336;Info;Starting NoteBookFanControlService;;NbfcService.NoteBookFanControlService.OnStart;ThreadPoolWorkQueue.Dispatch => QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem => ExecutionContext.Run => ExecutionContext.RunInternal => ServiceBase.ServiceQueuedMainCallback => NoteBookFanControlService.OnStart
2021-11-04 10:26:59.5407;Fatal;An unhandled exception occurred;Failed to access CPU temperature sensors(s).;NbfcService.NoteBookFanControlService+<>c.<.ctor>b__3_0;TimerQueue.FireNextTimers => TimerQueueTimer.Fire => TimerQueueTimer.CallCallback => ExecutionContext.Run => ExecutionContext.RunInternal => FanControl.TimerCallback => CpuTemperatureMonitor.GetTemperature => HardwareMonitor.get_CpuTemperatures => HardwareMonitor.InitializeCpuSensors => <>c.<.ctor>b__3_0
2021-11-04 10:27:00.2220;Info;Starting NoteBookFanControlService;;NbfcService.NoteBookFanControlService.OnStart;ThreadPoolWorkQueue.Dispatch => QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem => ExecutionContext.Run => ExecutionContext.RunInternal => ServiceBase.ServiceQueuedMainCallback => NoteBookFanControlService.OnStart
2021-11-04 10:27:00.4914;Fatal;An unhandled exception occurred;Failed to access CPU temperature sensors(s).;NbfcService.NoteBookFanControlService+<>c.<.ctor>b__3_0;TimerQueue.FireNextTimers => TimerQueueTimer.Fire => TimerQueueTimer.CallCallback => ExecutionContext.Run => ExecutionContext.RunInternal => FanControl.TimerCallback => CpuTemperatureMonitor.GetTemperature => HardwareMonitor.get_CpuTemperatures => HardwareMonitor.InitializeCpuSensors => <>c.<.ctor>b__3_0
2021-11-04 10:27:01.1241;Info;Starting NoteBookFanControlService;;NbfcService.NoteBookFanControlService.OnStart;ThreadPoolWorkQueue.Dispatch => QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem => ExecutionContext.Run => ExecutionContext.RunInternal => ServiceBase.ServiceQueuedMainCallback => NoteBookFanControlService.OnStart
2021-11-04 10:27:01.3943;Fatal;An unhandled exception occurred;Failed to access CPU temperature sensors(s).;NbfcService.NoteBookFanControlService+<>c.<.ctor>b__3_0;TimerQueue.FireNextTimers => TimerQueueTimer.Fire => TimerQueueTimer.CallCallback => ExecutionContext.Run => ExecutionContext.RunInternal => FanControl.TimerCallback => CpuTemperatureMonitor.GetTemperature => HardwareMonitor.get_CpuTemperatures => HardwareMonitor.InitializeCpuSensors => <>c.<.ctor>b__3_0
Hi, i tried to gather as much information as i could about the Acer 5830TG but aren't enough to create a config file, i need help :((
I need to control the fan because:
in Windows 10 21H2 it remains at the minimum speed no matter what the temperature of the cpu and gpu are
instead in Windows 7 SP1 the fan speed probably works in the range of 0-50% of the maximum speed
so the computer always throttling after 20-30 minutes
What i've done so far:
MB Photos:
https://drive.proton.me/urls/SJ6ZMQHX4G#F7BYOGlIoBHf
5 photos - 53.63mb
DSDT:
Device(EC0)
{
Name(_HID, EISAID("PNP0C09"))
Name(_GPE, 0x17)
Name(OKEC, Zero)
Name(_CRS, ResourceTemplate()
{
IO(Decode16, 0x0062, 0x0062, 0x01, 0x01)
IO(Decode16, 0x0066, 0x0066, 0x01, 0x01)
})
Method(_REG, 2, NotSerialized)
{
If(LEqual(Arg0, 0x03))
{
Store(Arg1, OKEC)
Store(Arg1, ECOK)
Store(PPCM, NPST)
If(LIDF)
{
^^^GFX0.GLID(Zero)
}
Else
{
^^^GFX0.GLID(One)
}
^^^GFX0.GLID(One)
}
}
OperationRegion(ERAM, EmbeddedControl, Zero, 0xFF)
Field(ERAM, ByteAcc, Lock, Preserve)
{
CDPR, 1,
LCDS, 1,
, 6,
HTBN, 8,
HTBT, 8,
LMEN, 1,
, 2,
BPWN, 1,
, 4,
ADAP, 2,
, 6,
CORE, 2,
, 6,
Offset(0x8), //Offset(8),
Offset(0x2D), //Offset(45),
DSPM, 1,
Offset(0x40), //Offset(64),
Offset(0x5A), //Offset(90),
, 8,
, 8,
, 8,
ENIB, 16,
ENDD, 8,
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 256,
BCNT, 8,
SMAA, 24,
Offset(0x90), //Offset(144),
BMFN, 72,
BATD, 56,
DKSP, 1,
DKIN, 1,
DKID, 1,
DKOK, 1,
DKPW, 1,
, 3,
, 1,
VIDO, 1,
TOUP, 1,
, 5,
ODTS, 8,
OSTY, 3,
, 4,
ADPT, 1,
PWAK, 1,
MWAK, 1,
LWAK, 1,
RWAK, 1,
WWAK, 1,
UWAK, 1,
KWAK, 1,
TWAK, 1,
CCAC, 1,
AOAC, 1,
BLAC, 1,
PSRC, 1,
BOAC, 1,
LCAC, 1,
AAAC, 1,
ACAC, 1,
, 8,
OSTT, 8,
OSST, 8,
THLT, 8,
TCNL, 8,
MODE, 1,
, 2,
INIT, 1,
FAN1, 1,
FAN2, 1,
FANT, 1,
SKNM, 1,
SDTM, 8,
FSSN, 4,
FANU, 4,
PCVL, 4,
, 2,
SWTO, 1,
TTHR, 1,
TTHM, 1,
THTL, 1,
, 2,
NPST, 4,
CTMP, 8,
CTML, 8,
SKTA, 8,
SKTB, 8,
SKTC, 8,
, 8,
NTMP, 8,
S4ST, 1,
SKEY, 1,
DIGM, 1,
CDLE, 1,
, 4,
, 1,
LIDF, 1,
PMEE, 1,
PWBE, 1,
RNGE, 1,
BTWE, 1,
, 2,
BRTS, 8,
CNTS, 8,
WLAT, 1,
BTAT, 1,
WLEX, 1,
BTEX, 1,
KLSW, 1,
WLOK, 1,
AT3G, 1,
EX3G, 1,
PJID, 8,
CPUN, 8,
BOL0, 1,
BOL1, 1,
, 2,
BCC0, 1,
BCC1, 1,
, 2,
BPU0, 1,
BPU1, 1,
, 2,
BOS0, 1,
BOS1, 1,
, 2,
BTY0, 1,
BAM0, 1,
BAL0, 1,
, 1,
BMF0, 3,
, 1,
BST0, 8,
BRC0, 16,
BSN0, 16,
BPV0, 16,
BDV0, 16,
BDC0, 16,
BFC0, 16,
GAU0, 8,
CYC0, 8,
BPC0, 16,
BAC0, 16,
BTW0, 8,
BVL0, 8,
BTM0, 8,
BAT0, 8,
BCG0, 16,
BCT0, 8,
BCI0, 8,
BCM0, 8,
BOT0, 8,
BSSB, 16,
BOV0, 8,
BCF0, 8,
BAD0, 8,
BCV1, 16,
BCV2, 16,
BCV3, 16,
BCV4, 16,
Offset(0xF4), //Offset(244),
BMD0, 16,
BACV, 16,
BDN0, 8,
}
ec-probe monitor --clearly:
0xAE: 00 ,87
0xAF: 00 ,01
0xB3: 3D,3C,3D ,3E ,3F,40,41 ,43 ,44,45 ,46,47 ,48,49 ,4A,4B ,4D ,4E,4F // Target Fan Speed ??
0xB4: 2D ,2E,37,3B,3E,40,42,44,46,48,49,4B ,4C ,4D ,4E ,4F,50 ,51 ,52 ,53,54 ,55 ,50 // Actual Fan Speed
0xC6: 91,92,8D,90 ,8F,91 ,93,8E,90 ,8F,92,90,92 ,94,93,92 ,94,90,8D ,90 ,8F,90,92,93 ,92
0xD5: 00,7C
0xD6: 00,9A ,9B,9A ,9B,9A ,99,9A
0xD7: 00,19
0xDA: 06,07,09,01,03,01,06,01,08,01 ,04,01,08,01,03,01,06,01,0A,01,02,01,05,01,0A,01,06,01,08,01,06,07 ,02,05
0xDB: 14,00,13,00,13,00,12,00,11,00,0D,00,0B,00,0A,00,0A,00,0A,00,0A,00,0B,00,0B,00,0B,00,11,00,12,00,13,00,14,02,16
0xDC: 00 ,63,00,5D,00,54,00,4C,00,44,00,3D,00,35,00,34,00,39,00,3D,00,40,00,44,00,4B,00,53,00,60,00
0xE3: 2C,2D,2C ,2B,2C ,2D ,2C,2D,2C ,2B ,2C ,2D ,2C
0xE5: 2E ,2F ,2E ,2D,2F ,2E ,2D,2E ,2F
0xE7: 36,37,36 ,35,36 ,37,36 ,37,36,37 ,38,37 ,36 ,35,36 ,37,36,37,36
0xF1: 10 ,00,10,00,10,00,10,00,10,00,10,00,10,00,10,00,10,00,10,00,10,00,10,00,10,00,10,00,10,00,10
Is your feature request related to a problem? Please describe.
Currently I can't install it via installutil bcs there some problems #57
Describe the solution you'd like
I compiled it, but it still needs a installed service via installutil
Describe the bug
A clear and concise description of what the bug is.
As you can see, I cannot see information of my EC register.
To Reproduce
Steps to reproduce the behavior.
Just open the ec-probe.exe on command prompt, and dump command.
Expected behavior
A clear and concise description of what you expected to happen.
I wanted to see my EC register's information, but I couldn't see anything.
System information
Additional context
Add any other context about the problem here.
Can't I use NBFC? I wanted to make this laptop's fan speed always 100%.
I am truly sorry if this asking to much, but I have been fruitless trying to command my EC.
Razer appears to use a different EC for each year, and there are updates. I am on bios 1.06, and EC 1.1.1.2
I can identify the temperature bytes, at 86, and 88, but cannot find the fans.
the conversion from decimal to hex (using rweverything since I was taking so long to find any pattern at all, and ECprobe was running off the screen and breaking)
This is honestly a little over my head, and I would figuratively kill for a working config.
Appreciate any help, and happy to teamviewer or whatever needed if someone is willing to take the time to baby step me.
As of right now, the inbuilt 2014 razer config does not work, and crashes the service every second or so.
Thank you for any help with this.
Describe the bug
I own a pavilion gaming laptop 16, i was trying to make my config but everytime the program switches from read-only to disabled and viceversa after some seconds.
To Reproduce
Expected behavior
Working CPU temp sensor ( displays 0 degress celsius ).
Working fan control.
System information
Additional context
No additional context apart my hardware:
i5 10300H
16 gb ddr4 dual-channel 3200 Mhz
GTX 1650Ti
It keeps changing between disabled and ready only. I saw a thread about it, and I tried replacing "OpenHardwareMonitorLib" as someone said but it didn't work. Can someone help me?
Describe the solution you'd like
The ability to add multiple fan control, or atleast treat them as a single one (But actually control both of them).
Additional context
I made a fork of this a year or so ago, for my thinkpad P1 gen2 but had major stability issues so i decided to not pursue it further due to lack of time. (I did manage to spin both fans up tho)
A good resource is https://github.com/torvalds/linux/blob/9e723c5380c6e14fb91a8b6950563d040674afdb/drivers/platform/x86/thinkpad_acpi.c
if you implement a generalized solution for this this, many thanks as lenovos automatic fan control is absolute garbage.
I was unable to create a working config file, and none of the existing ones work (including G1 and G2). Thank you.
(insert weed joke here)
Been bashing my head against this for a bit too long, and with the UI being almost entirely blank, there seems to be no way to further diagnose it.
My UI is entirely blank
And I can't get it NOT to be. Uninstalled/reinstalled. Same thing. Traced the breadcrumb trail to this new fork, uninstalled the old one, installed this one. Same thing - nothing.
Logs? I've got logs!
This is 1.7.1 on Windows 10 x64 21h1 with a ThinkPad Edge E420. Just trying to find a way to get the fans to blast full speed, no throttle. It's been a bit frustrating trying to get this laptop to cool itself properly (keep the CPU under 80c and thermal-throttling).
Request a new HP Laptop 17-cb1xxx model configuration,
What other information do I need to provide?
Model
OMEN by HP Laptop 17-cb1xxx
Serial Number
CND0226V5Q
Operating System
Microsoft Windows 11 Professional Workstation Edition
CPU
Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
GPU
NVIDIA GeForce RTX 2080 Super
RAM
KF3200C20S4/32GX
Sound
Intel® Smart Sound Technology
NVIDIA High Definition Audio
Intel® Smart Audio Technology
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Realtek High Definition Audio
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.