Skip to content

How to create a NBFC config

Stefan Hirschmann edited this page Jun 11, 2017 · 5 revisions

Config files are an integral part of NBFC, because they define how NBFC interacts with your notebook's embedded controller (EC). The EC, among other things, monitors your system's temperatures and controls the fan(s). It usually sits on the motherboard or is integrated into a Super I/O chip and is connected to the Southbridge via the Low Pin Count (LPC) bus.
If you want to learn more about the EC in general, this paper by Intel and the ACPI specifications (ch. 12) might be helpful.

To create a working NBFC config you must find out how the EC in your notebook model works, especially which EC registers allow you to control your notebook's fan(s).

Most important registers you should look for:

  • A register which allows you to control the fan. In a NBFC config this is called WriteRegister.
  • A register which holds the current fan speed. In a NBFC config this is called ReadRegister. This one may be equal to the WriteRegister.
  • On some ECs, you must find a register which allows you to set the fan control mode from automatic (= controlled by the EC's firmware) to manual, otherwise the EC will ignore or overwrite external input.

In the following chapters I will describe different ways of how to gather information about the EC and how to finally create a working NBFC config:

  1. Search for datasheets or configs of similar notebooks
  2. Analyze your notebook's DSDT
  3. Probe the EC's registers
  4. Create a config file