Troubleshooting Guide

TLP’s default settings are carefully chosen to avoid power saving to interfere with normal laptop operation.

However kernel drivers do not implement power saving perfectly for all existing hardware – possibly leading to:

  • malfunctioning devices,
  • system freezes,
  • suspend/resume problems,
  • system startup/shutdown/reboot problems

and the like.

TLP is not able to make kernel issues disappear but there is (almost) always a workaround by tweaking TLP’s Settings.

This document teaches how to isolate the causing device or power saving feature and disable it.

Step 1: Update your system

Invoke your system’s package manager and update all packages including the Linux kernel. Reboot.

Note

Linux Mint: make sure kernel and X updates are enabled in the update manager.

Step 2: Check the FAQ

Frequently Asked Questions contains many ready-to-use solutions for common problems with TLP. Carefully check it for your symptoms.

Step 3: Disable TLP temporarily

To determine if TLP is the source of your problem, disable TLP via Operation settings:

TLP_ENABLE=0

Then reboot the system and check if your symptom disappeared.

Important

In case of sporadic symptoms be sure to allow for enough testing time to reliably reproduce the problem!

If your problem is gone now, re-enable TLP

TLP_ENABLE=1

and proceed to Step 4: Determine affected power sources.

Else your problem is not caused by TLP and you should seek help in an appropriate internet forum or file a bug report against your Linux distribution.

Step 4: Determine affected power sources

Many of TLP’s power saving features have different settings depending on the actual power source, e.g.:

  • AC – setting named FEATURE_ON_AC
  • Battery – setting named FEATURE_ON_BAT

Examine your system if the symptom occurs on AC or battery or both. If it occurs with one power source only, then you can focus on settings that are different for AC and BAT when selectively disabling power saving features as described in the following sections.

Important

When a setting is unconfigured (i.e. has a leading #), pay attention to the corresponding Default: line.

Proceed with the next step.

Step 5: Is the causing device already known?

When a symptom is specific enough to blame a particular device, start with disabling associated feature(s) for the power source(s) identified in Step 4: Determine affected power sources.

For functional device categories, e.g.

refer to Settings and Frequently Asked Questions how to achieve this.

Bus oriented devices, e.g.

can be blacklisted, see Settings and Frequently Asked Questions for the corresponding sections.

When unsure if a device is PCIe or USB examine the output of tlp-stat -e -u. If you don’t know the causing device or your problem isn’t solved by now, proceed to the next step.

Step 6: Isolate the causing device

This step applies the following strategy to isolate a bus oriented device:

  • Disable the feature completely
  • Blacklist devices one by one
  • Blacklist devices by driver

Important

Make sure to reboot the computer after every configuration change for this step!

6.1 PCIe devices

Disable Runtime Power Management completely

Change both related config lines:

RUNTIME_PM_ON_AC=
RUNTIME_PM_ON_BAT=

When the problem disappears, uncomment above lines and continue with the next section. Otherwise the cause is not a PCIe device – proceed to 6.2 USB devices.

Blacklist single devices

Enter every PCIe device address into :ref:set-runtimepm-blacklist` – but only one device at a time!

As soon as the problem disappears, you have identified the causing PCIe device and are finished. Otherwise the cause is not a PCIe device – proceed to 6.2 USB devices.

Blacklist drivers

As an alternative to device blacklisting, you may blacklist all devices attached to a particular driver by means of RUNTIME_PM_DRIVER_BLACKLIST.

If the problem isn’t solved by now, proceed to 6.2 USB devices.

6.2 USB devices

Disable USB autosuspend completely

Disable the feature as follows (refer to USB_AUTOSUSPEND):

USB_AUTOSUSPEND=0

When the problem disappears, reenable the feature and continue with the next section. Otherwise the causing device cannot be identified – proceed to Step 7: Upgrade kernel or firmware.

Blacklist single devices

Enter every USB device ID into :ref:set-usb-blacklist` – but only one device at a time!

As soon as the problem disappears, you have identified the causing USB device and are finished. Otherwise an causing device cannot be found – proceed to the next section.

Step 7: Upgrade kernel or firmware

When all else fails, try to:

  • Upgrade the Linux kernel to the latest version, e.g. use mainline kernel (Ubuntu) or backports (Debian) or the equivalent for your distribution or compile Linus’ kernel yourself
  • Update BIOS/UEFI for your laptop
  • Update firmware for the causing device (if possible)

Note

Consult adequate forums to learn how to do this.