HP EliteBook 2570p

From ArchWiki
Jump to: navigation, search
Device Working
Fan is throttled Yes
Intel graphics Yes
DisplayPort Yes
VGA Yes
Audio Yes
USB 3.0 Yes
Ethernet Yes
WLAN Yes
WWAN Yes
GPS Yes
Bluetooth Buggy device
Touchpad Yes
Pointstick Yes
Backlight control Yes
Function keys Yes
Hardware switches Yes
Card reader Yes
Webcam Yes
Fingerprint reader Not working, missing driver

HP EliteBook 2570p is a powerful and customizable 12.5-inch notebook with a socketted Ivy Bridge processor and interesting specifications (and even a SuSE certificate). Arch Linux installs and runs on it without major problems. There are a few hacks needed to enable all of the power management functions and gain the maximum battery life.

Hardware support

The hardware support is indicated in the table on the right.

Intel CPU microcode

See Microcode#Enabling Intel microcode updates.

Synaptics Touchpad

The xf86-input-synaptics driver is needed (see Touchpad Synaptics) for the touchpad to work, but the pointstick works out of the box.

WWAN (and GPS) adapter

modemmanager is needed besides NetworkManager for the WWAN card (ID 03f0:371d Hewlett-Packard) to function properly. For GPS test, see GPS#ModemManager.

Bluetooth adapter

The integrated Bluetooth device BCM20702A0 (ID 0a5c:21e1 Broadcom Corp. HP Portable SoftSailing) seems a bit buggy as a few random disconnects were observed in combination with some BT4.0 devices. One possible way to circumvent this HP engineers' bad choice is to replace the integrated Wi-Fi card with Wi-Fi+BT combo one such as Intel® Centrino® Advanced-N 6235 or similar (later 2570p BIOS-es should have WLAN whitelisting removed) and then connecting the Bluetooth interface of the card to the pins used by the docking connector. This is necessary as this laptop has no USB pins connected on the WLAN miniPCIe interface and the user also benefits from the Intel® Centrino® Advanced-N 6235's improved power efficiency over 6205.

Power management

Hardware-specific power management functions are described below, for more generic ones power management should also be reviewed thoroughly. For a nice all-in-one power management package consider TLP.

Intel graphics

The following kernel parameters can be enabled to provide additional power management for Intel graphics. However, some of them are experimental on Ivy Bridge hardware and can lead to problems.

GRUB_CMDLINE_LINUX="i915.i915_enable_rc6=7 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 drm.vblankoffdelay=1"

ASPM

This laptop has ASPM disabled by default and even later versions of BIOS do not provide any options for enabling it. As this feature improves battery life for around 25%, it is a very useful one to have. It is possible to forcibly enable ASPM by using GRUB to write the proper bits to the configuration registers before the kernel is executed. The easiest way is to add the following to the /etc/grub.d/01_enable-aspm:

 #! /bin/sh
 set -e
 
 prefix="/usr"
 exec_prefix="/usr"
 datarootdir="/usr/share"
 
 . "${datarootdir}/grub/grub-mkconfig_lib"
 
 export TEXTDOMAIN=grub
 export TEXTDOMAINDIR="${datarootdir}/locale"
 
 # HP EliteBook 2570p ASPM hardware enable
 echo "write_byte 0xB9CF506D 0x03" # Enable in ACPI FADT/FACP (BIOS F.40-)
 echo "write_byte 0xB9FFC06D 0x03" # Enable in ACPI FADT/FACP (BIOS F.40+)
 echo "write_byte 0xB9FFC019 0x10" # Correct checksum

If ASPM has been successfully enabled, there will be no complaints in dmesg | grep ASPM. Forcing ASPM in software with pcie_aspm=force kernel parameter is not needed, however ASPM still needs to be enabled for every PCI device after the kernel is booted. This can be done by a startup script such as /etc/rc.local and its contents should be:

 # HP EliteBook 2570p ASPM hardware enable
 setpci -s "00:1c.0" "50.b=0x43" # PCI Express Root Port 1
 setpci -s "00:1c.1" "50.b=0x43" # ExpressCard (alternatively 50.b=0x03)
 setpci -s "00:1c.2" "50.b=0x43" # PCI Express Root Port 3
 setpci -s "00:1c.3" "50.b=0x43" # PCI Express Root Port 4
 setpci -s "02:00.0" "90.b=0x43" # SD/MMC Host Controller
 setpci -s "02:00.2" "90.b=0x43" # SD Host Controller
 setpci -s "03:00.0" "f0.b=0x43" # Network controller

Some of the lines are commented out because ASPM does not work properly with some WLAN cards (Intel® Centrino® Advanced-N 6235 for example), causing the kernel to not detect the card after some time (a reboot is needed). The final check if everything is set up correctly can be performed after a reboot by running lspci -vv | grep ASPM.*abled\; (as root).

Relevant links

  • Possible PM tweaks: 1 and 2
  • Enabling ASPM with GRUB: 1 and 2

Documentation

Schematics

There is HP EliteBook 2560p schematic available and it is also useful for 2570p as the models differ more or less only in addition of the Ivy Bridge CPU and USB 3.0 in 2570p.

See also