20 January 2018

Fix the noisy fan in an HP mini 5102 notebook PC

The HP mini 5102's fan runs excessively, making a lot of noise even when the CPU is idling. It's possible to change the threshold so that it runs quieter and only speeds up the fan when necessary. This is done by editing the ACPI tables.

rar222 provided some excellent information about achieving this here.

7 years later, below is more detail about performing the change.

Note that these steps were done using BIOS "68PGU Ver F.60" - if using a different BIOS version, the line numbers will likely be different.

IMPORTANT: Back up your data first. Incorrect ACPI changes can prevent Windows from booting.

Do these steps from Windows on the HP mini 5102. Tested using Windows 7 Home Premium 32-bit.

  1. Back up your data.

  2. Download "iASL compiler and Windows ACPI tools" from APICA here.

    Unzip to C:\temp\iasl\

  3. Download "Microsoft ASL Compiler v4". It's linked here. But the link doesn't seem to work. So download via an archived page here.

    Run the .msi, by default it will install to C:\Program Files\Microsoft ASL Compiler v4.0\

  4. Dump the DSDT table of ACPI data:

    C:\temp\iasl\acpidump -b

    This will produce a dsdt.dat file in the same directory.

  5. Disassemble the .dat file:

    C:\temp\iasl\iasl.exe -d dsdt.dat

    This will produce a dsdt.dsl file in the same directory.

  6. Open dsdt.dsl in a text editor.

    At line 947 (the "Name (CPFS, Package (0x06)" section), change:

    0x64, 0x5A, 0x50, 0x46, 0x2D, 0x00

    to:

    0x64, 0x5A, 0x50, 0x24, 0x12, 0x00
  7. Try to compile it:

    C:\temp\iasl\iasl.exe dsdt.dsl

    There'll be 2 errors, for lines 2262 and 2269 - both "Length" entries.

    Using the values in their respective sections, the Length values need to be changed to "Range Maximum" minus "Range Minimum", plus 1.

    For 2262: 0xFEBFFFFF - 0x00000000, +1 = 0xFEC00000

    For 2269 0xFED44FFF - 0xFED40000, +1 = 0x00005000

    So change line 2262 to 0xFEC00000, and line 2269 to 0x00005000

  8. Compile it:

    C:\temp\iasl\iasl.exe dsdt.dsl

    This will produce a dsdt.aml file in the same directory.

  9. Load the .aml file (compiled table) into the registry. Open command prompt as Administrator, then:

    "C:\Program Files\Microsoft ASL Compiler v4.0\asl.exe" /loadtable "C:\temp\iasl\dsdt.aml"
  10. Restart computer to take effect.

No comments:

Post a Comment