Tech > LenovoTips

Lenovo Tips

These tips relate to the ThinkPad T500.

BIOS Passwords

The following passwords can be set in the BIOS:

  • Supervisor Password
  • Power-on Password
  • Master hard disk password
  • Hard disk password

There is a passphrase function that can be disabled, only if all the other passwords are not set.

Without passphrase enabled, you can only use 12 characters for the hard disk and power-on passwords, and 7 characters for the supervisor password. With passphrase enabled, the password can be up to 64 characters.

Password Prompt Icons

  • Computer terminal and padlock - enter power-on password or supervisor password

  • Cylinder and padlock - enter hard disk password. To user the master hard disk password, press the F1 key. The icon changes to show a cylinder, person and padlock. Enter the master hard disk password

  • Person and padlock - enter a supervisor password

Password Reset Service

This is enabled by default. It looks like you must also register your computer using the ThinkVantage technologies software to use the password reset service and register the computer.

Battery Management

It seems it is best to maintain Lithium-ion batteries between 40% and 80% to maintain battery life. This is particularly important if the laptop is mostly run on AC power and hardly uses the battery.

Lenovo provide tools under Windows to disable charging until the battery level drops below a specified amount and again when it rises above a specified point. The ThinkPad Configuration Tools for Linux can be used to alter these settings when running Linux. On Debian 6.0 (Squeeze) these tools are provided in the tp-smapi-dkms package. This uses DKMS to install the kernel modules and also rebuild the modules when the linux-image packages are upgraded.

There is also a tp-smapi-source package which provides an alternative method of maintaining the kernel modules using module-assistant. I believe this is appropriate if you are maintaining a custom kernel.

For certain models (including the T500) you need to add a 'force_io=1' parameter when loading the thinkpad_ec modules to avoid conflicts with ports reserved by the BIOS.

And to load the modules on startup:

  $ cat <<EOF | sudo tee -a /etc/modules
thinkpad_ec force_io=1
tp_smapi
hdaps
EOF

To manually load the modules:

  $ sudo modprobe thinkpad_ec force_io=1
  $ sudo modprobe tp_smapi
  $ sudo modprobe hdaps

After installation, see the /usr/share/doc/tp-smapi-dkms/README.gz documentation for instructions on using the tools.

Debian 9.4 (Stretch)

And to load the modules on startup:

  $ cat <<EOF | sudo tee -a /etc/modules-load.d/thinkpad-smapi.conf
thinkpad_ec
tp_smapi
hdaps
EOF

-- Frank Dean - 11 May 2018

Calibrating the Battery Fuel Gauge

Peform the following actions:

  1. Fully charge the battery
  2. Fully discharge the battery
  3. Fully charge the battery

This will ensure the battery is in sync with the digital fuel guage. Don't do this too often as it reduces the battery's life. About once every three months of normal usage should suffice.

See Battery Calibration for more information.

Viewing battery info

  $ cat /sys/devices/platform/smapi/BAT0/design_capacity
  $ cat /sys/devices/platform/smapi/BAT0/design_voltage
  $ cat /sys/devices/platform/smapi/BAT0/last_full_capacity
  $ cat /sys/devices/platform/smapi/BAT0/remaining_capacity
  $ cat /sys/devices/platform/smapi/BAT0/voltage
  $ cat /sys/devices/platform/smapi/BAT0/temperature
  $ cat /sys/devices/platform/smapi/BAT0/cycle_count

Setting charging thresholds

Keeping a fully charged battery:

  $ echo 100 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh
  $ echo 95 | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh

Extending the battery's lifetime (good idea if mostly run off mains power):

  $ echo 80 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh
  $ echo 40 | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh

Fancontrol

Warning: it is very easy to damage your system by changing the fan settings. Read the documentation referenced here before enabling fan control. Especially read the documentation under /usr/share/doc/thinkfan after installing thinkfan.

  $ sudo apt-get install thinkfan libsensors4 lm-sensors

I have set the following in /etc/thinkfan.conf:

sensor /proc/acpi/ibm/thermal
fan /proc/acpi/ibm/fan

# Sensor count:
#    1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16
######################################################
{ "level 0"
  (0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0)
  (58 53 40 69 44 .  40 .  40 55 61 .  .  .  .  .)
}

{ "level 1"
  (56 51 38 67 42 .  38 .  38 53 59 .  .  .  .  .)
  (60 55 42 72 46 .  42 .  42 57 62 .  .  .  .  .)
}

{ "level auto"
  (58 53 40 70 44 .  40 .  40 55 60 .  .  .  .  .)
  (73 67 49 76 52 .  49 .  52 65 68 .  .  .  .  .)
}

{ "level 7"
  (70 65 47 74 48 .  47 .  50 63 66 .  .  .  .  .)
  (88 72 52 80 57 .  57 .  57 67 72 .  .  .  .  .)
}

{ "level disengaged"   # full-speed
  (84 70 50 75 55 .  55 .  55 65 70 .  .  .  .  .)
  (99 99 99 99 99 .  99 .  99 99 99 .  .  .  .  .)

I have set the following in /etc/sensors3.conf

chip "acpitz-virtual-0"
  label temp1 "CPU_0"
  label temp2 "CPU_1"
chip "thinkpad-isa-0000"
  label fan1   "FAN"
  label temp1  "CPU"
  label temp2  "APS"
  label temp3  "PCM"
  label temp4  "GPU"
  label temp5  "BAT"
  label temp6  "n/a"
  label temp7  "BAT"
  label temp8  "n/a"
  label temp9  "GPU"
  label temp10 "PCI"
  label temp11 "PWR"
  label temp12  "n/a"
  label temp13  "n/a"
  label temp14  "n/a"
  label temp15  "n/a"
  label temp16  "n/a"

To enable thinkfan:

  $ cat <<EOF | sudo tee -a /etc/modprobe.d/thinkfan.conf
  options thinkpad_acpi fan_control=1
  EOF
  $ sudo systemctl enable thinkfan.service

Reload the module:

  $ sudo modprobe -r thinkpad_acpi
  $ sudo modprobe -i thinkpad_acpi

View Fan Settings

  $ cat /proc/acpi/ibm/fan
  $ cat /sys/module/thinkpad_acpi/parameters/fan_control

View Temperatures

  $ sensors

References

-- Frank Dean - 25 Mar 2010

Related Topics: DebianLiveLenovoT500Wireless, LenovoT500Suspend, ThinkPadBlueTooth