nbfc-linux icon indicating copy to clipboard operation
nbfc-linux copied to clipboard

[Bug]: AN515-58 config makes laptop turn into an airplane engine

Open scanash00 opened this issue 7 months ago • 2 comments

Describe the bug

Using the configuration for Acer Nitro 5 AN515-58 will make your laptop turn into an airplane engine once a while. The configuration needs some rework to make sure the laptop doesn't end up flying off.

This is no joke, it really does turn into an airplane engine, this is probably because it uses max power instead of a little bit.

Relevant log output

no log

scanash00 avatar Jun 02 '25 05:06 scanash00

Hello,

Please post the output of nbfc get-model-name and cat /etc/nbfc/nbfc.json. What does nbfc status say when the fan goes crazy?

braph avatar Jun 02 '25 17:06 braph

This is not a bug, i have the same laptop model and all you gotta do is edit some of the values in the config file just like i have done according to my needs.

You can find the config file here /usr/share/nbfc/configs/'Acer Nitro AN515-58.json'.

   {
    "NotebookModel": "Nitro AN515-58",
    "Author": "FosRexx",
    "EcPollInterval": 3000,
    "CriticalTemperature": 90,
    "CriticalTemperatureOffset": 5,
    "ReadWriteWords": true,
    "FanConfigurations": [
            {
                    "FanDisplayName": "CPU Fan",
                    "ReadRegister": 19,
                    "WriteRegister": 55,
                    "MinSpeedValue": 0,
                    "MaxSpeedValue": 100,
                    "MinSpeedValueRead": 0,
                    "MaxSpeedValueRead": 7317,
                    "IndependentReadMinMaxValues": true,
                    "ResetRequired": false,
                    "FanSpeedResetValue": 50,
                    "TemperatureThresholds": [
                            {
                                    "UpThreshold": 40,
                                    "DownThreshold": 0,
                                    "FanSpeed": 0.0
                            },
                            {
                                    "UpThreshold": 50,
                                    "DownThreshold": 40,
                                    "FanSpeed": 0.0
                            },
                            {
                                    "UpThreshold": 60,
                                    "DownThreshold": 50,
                                    "FanSpeed": 10.0
                            },
                            {
                                    "UpThreshold": 70,
                                    "DownThreshold": 60,
                                    "FanSpeed": 30.0
                            },
                            {
                                    "UpThreshold": 80,
                                    "DownThreshold": 70,
                                    "FanSpeed": 60.0
                            },
                            {
                                    "UpThreshold": 90,
                                    "DownThreshold": 75,
                                    "FanSpeed": 100.0
                            }
                    ],
                    "FanSpeedPercentageOverrides": []
            },
            {
                    "FanDisplayName": "GPU Fan",
                    "ReadRegister": 21,
                    "WriteRegister": 58,
                    "MinSpeedValue": 0,
                    "MaxSpeedValue": 100,
                    "MinSpeedValueRead": 0,
                    "MaxSpeedValueRead": 7317,
                    "IndependentReadMinMaxValues": true,
                    "ResetRequired": false,
                    "FanSpeedResetValue": 50,
                    "TemperatureThresholds": [
                            {
                                    "UpThreshold": 40,
                                    "DownThreshold": 0,
                                    "FanSpeed": 0.0
                            },
                            {
                                    "UpThreshold": 50,
                                    "DownThreshold": 40,
                                    "FanSpeed": 15.0
                            },
                            {
                                    "UpThreshold": 60,
                                    "DownThreshold": 50,
                                    "FanSpeed": 10.0
                            },
                            {
                                    "UpThreshold": 70,
                                    "DownThreshold": 60,
                                    "FanSpeed": 30.0
                            },
                            {
                                    "UpThreshold": 80,
                                    "DownThreshold": 70,
                                    "FanSpeed": 60.0
                            },
                            {
                                    "UpThreshold": 90,
                                    "DownThreshold": 75,
                                    "FanSpeed": 100.0
                            }
                    ],
                    "FanSpeedPercentageOverrides": []
            }
    ],
    "RegisterWriteConfigurations": [
            {
                    "WriteMode": "Set",
                    "WriteOccasion": "OnInitialization",
                    "Register": 3,
                    "Value": 81,
                    "ResetRequired": true,
                    "ResetValue": 1,
                    "ResetWriteMode": "Set",
                    "Description": "The 0x03 register must be set to 17/81 to be able to contorl fan speeds/fan speed + battery limit, setting this to 17 by default since people might not want battery limit"
            },
            {
                    "WriteMode": "Set",
                    "WriteOccasion": "OnInitialization",
                    "Register": 34,
                    "Value": 12,
                    "ResetRequired": true,
                    "ResetValue": 4,
                    "ResetWriteMode": "Set",
                    "Description": "Setting the CPU Fan to Manual Mode on Initialization and setting it to Auto before the service is shutdown"
            },
            {
                    "WriteMode": "Set",
                    "WriteOccasion": "OnInitialization",
                    "Register": 33,
                    "Value": 48,
                    "ResetRequired": true,
                    "ResetValue": 16,
                    "ResetWriteMode": "Set",
                    "Description": "Setting the GPU Fan to Manual Mode on Initialization and setting it to Auto before the service is shutdown"
            }
    ]}

Aaditya1611 avatar Jun 21 '25 18:06 Aaditya1611