You are not logged in.

#1 2023-12-22 12:03:24

FosRex
Member
Registered: 2022-01-20
Posts: 5

Cannot control the fan speed of Acer Nitro 5 AN515-58 due to locked EC

[SOLVED] I have an Acer Nitro 5 AN515-58-50HZ and I want to use nbfc-linux, I think it works by changing the values of the registers of the Embedded Controller but my EC is "locked".

How do I know this?
I dissembled the DSDT (Differentiated System Description Table) of my laptop and this is the result:

            OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
            Field (ERAM, ByteAcc, Lock, Preserve)
            {
                Offset (0x5F), 
                ERBD,   8, 
                SMPR,   8, 
                Offset (0x62)
            }

And following the guide from How to create a NBFC config and in the Analyze your notebook's DSDT section we can see that the DSDT in the wiki says "NoLock" on the third parameter of the Field() function but mine says "Lock".

Here is the DSDT on the wiki, I am talking about.

// Low Pin Count bus
Device (LPCB)
{
    // embedded controller 0
    Device (EC0)
    {
        // EC register map
        // OperationRegion (region_name, address_space_type, start_offset, region_size)
        OperationRegion (ECRM, EmbeddedControl, 0x00, 0xFF)
        Field (ECRM, ByteAcc, NoLock, Preserve)
        {
        // ...
            Offset (0x22),
        //  name,   bits
            CRZN,   8,      // 0x22: current (thermal) zone
            THTA,   8,
            HYST,   8,
            CRIT,   8,
            TEMP,   8,      // 0x26: temperature
            TENA,   8,
        // ...
            Offset (0x2E),
            FRDC,   8,      // 0x2E: fan read duty cycle
            FTGC,   8,      // 0x2F: fan target (duty) cycle
            PLTP,   8,
            Offset (0x32),
            DTMP,   8,
        // ...
        }
    }
}

And also changing the fan speed percent using

nbfc set -s 100

does not change anything because I cannot hear any signs of the fan ramping up.
Here is the output of the previous command.

Using 'Acer Nitro AN515-51' as model config
Using 'ECSysLinux' as EmbeddedControllerType
Using '/sys/class/hwmon/hwmon6/temp1_input' as temperature source
Using '/sys/class/hwmon/hwmon6/temp2_input' as temperature source
Using '/sys/class/hwmon/hwmon6/temp3_input' as temperature source
Using '/sys/class/hwmon/hwmon6/temp4_input' as temperature source
Using '/sys/class/hwmon/hwmon6/temp5_input' as temperature source
Using '/sys/class/hwmon/hwmon6/temp6_input' as temperature source
Using '/sys/class/hwmon/hwmon6/temp7_input' as temperature source
Using '/sys/class/hwmon/hwmon6/temp8_input' as temperature source
Using '/sys/class/hwmon/hwmon6/temp9_input' as temperature source

So, Is their a way for me to be able to control the fan speed? Hopefully without recompiling the DSDT myself.

Last edited by FosRex (2024-01-10 12:29:19)

Offline

#2 2024-01-10 12:27:12

FosRex
Member
Registered: 2022-01-20
Posts: 5

Re: Cannot control the fan speed of Acer Nitro 5 AN515-58 due to locked EC

[SOLVED] The issue was that we needed to set the value of 0x03 register of the Embedded Controller to 17(Fan Control) or 81(Fan Control + Battery Limit) to be able to control the fan speed. If anyone else is facing this issue then I would suggest to look in to #65, most of the actual development happened after this comment.

Last edited by FosRex (2024-01-10 12:29:39)

Offline

Board footer

Powered by FluxBB