Debian GNU/Linux on HP ProBook 4520s
About Debian GNU/Linux on HP ProBook 4520s
Introduction
This page was created to gather and publish some information about using Debian GNU/Linux on the HP ProBook 4520s laptop. It tries to summarize the compatibility of the laptop variant I own with Debian, but there are quite a lot of other variants of this notebook and their hardware specifications may differ slightly.
Why I've chosen this laptop
I was looking for a new notebook of sufficient quality that could be used with my favourite operating system, Debian GNU/Linux. I wasn't able to find any summarized information about the compatibility of the HP ProBook 4520s laptop with Debian or generally Linux before I bought it. However, this laptop was a very good candidate for the compatibility with Debian, because it was sold with the Suse Linux Enterprise Desktop 11 operating system. This doesn't automatically mean that all its devices should be also supported by the Debian stable release, because the stable Debian contains only well tested and therefore also not the latest software. But luckily, Suse with SP1 uses the 2.6.32 Linux kernel according to the Suse home page as does the Debian release squeeze (the stable release at the time of this writing) and it can be therefore supposed that all or most devices work on squeeze too, even if some packages such as non-free firmware files might need to be installed from the non-free section of the Debian archive. I tried to find more info about the compatibility with Linux for each device individually before I bought the laptop, but I wasn't successful for maybe half of the devices because I didn't know the exact hardware specification. Moreover, there are more variants of this laptop whose specifications may differ slightly.
Hardware specification and compatibility with Debian squeeze
Quick specification
type | HP ProBook 4520s | (XX752EA) |
---|---|---|
processor | Intel Core i3 380M | works fine |
memory | 4GB DDR3 SDRAM | works fine |
hard disk | Samsung HM641JI | works fine |
DVD-RW drive | HP DVDRAM GT31L | works fine |
video adapter | AMD/ATI Radeon HD 6370M | works fine |
sound card | Intel High Definition Audio | works fine |
HDMI sound card | AMD/ATI HDMI Audio | not tested |
Ethernet card | Realtek RTL8111/8168B | works fine |
wireless card | Broadcom BCM4313 | works fine |
Bluetooth | Broadcom BCM2070 | not tested |
modem | unknown modem | no driver available |
webcam | HP/Foxlink Webcam | not tested |
touchpad | Synaptics Touchpad | works after adding options to the psmouse kernel module, the middle button can be emulated |
ports | 3xUSB 2.0 | work fine |
eSATA/USB 2.0 Combo | USB works fine, eSATA not tested | |
VGA | not tested | |
HDMI | not tested | |
stereo microphone in | works fine | |
stereo headphone/line-out | works fine | |
RJ-45 | works fine | |
RJ-11 | works fine | |
AC power | works fine | |
slots | Express card/34 | not tested |
Media card reader | works fine |
Processor
Intel Core i3 380M
2533 MHz
3MB L3 cache
2 cores, 4 threads (HT alias hyper-threading enabled)
64-bit support (EM64T extension also called as Intel 64)
Enhanced Intel Speedstep
Hardware virtualization VT-x
The processor should be used on a 64-bit operating system such as is Debian on the amd64 port, but it is also compatible with the older 32-bit architecture denoted as i386 on Debian. The default Debian squeeze 2.6.32 kernel is a SMP enabled kernel and the processor chip is therefore correctly detected as 4 CPUs (2 cores and each core has 2 threads that appear as separate CPUs to the operating system). If you want to use the Enhanced Intel Speedstep technology that is implemented by the cpufreq subsystem, you need to include the acpi-cpufreq driver module and also some governor. I'm using the conservative governor that gradually changes the CPU frequency depending on the CPU load. This governor is fully implemented in the kernel by the cpufreq-conservative module. If you install the cpufrequtils package, the cpufreq modules are loaded automatically and the default governor is set to ondemand. If you want to change it to conservative, add the following line into the file /etc/default/cpufrequtils
:
GOVERNOR=conservative
Memory
4GB DDR3 SDRAM
1066 MHz
There's no problem with the memory on the 64-bit amd64 Debian architecture, the whole 4GB are detected and can therefore be used. However, if you want to use the older 32-bit i386 Debian architecture for some reason, only 3GB are detected even if the theoretical maximal amount of physical memory on the 32-bit machine is exactly 4GB. If you want to use the whole RAM, you need to install new kernel package with the bigmem suffix that has PAE enabled (e.g. linux-image-2.6-686-bigmem) or build your own kernel with PAE.
Hard disk
Samsung HM641JI
640GB
SATA II
5400 rpm
512 bytes per sector
kernel driver module: ahci
The disk is able to operate in both IDE (PATA) or AHCI (SATA) mode depending on the SATA mode settings in the BIOS. If you use the newer AHCI SATA mode (the default) during installation, everything works automatically. If you use the IDE mode during installation, everything works automatically too until you decide to change the SATA mode settings to AHCI later. You need to ensure before changing the SATA mode in the BIOS that the ahci module is included in initrd so that it can be loaded during the boot phase and the root file system can be mounted. This means that you must boot the system in the IDE mode firstly, edit /etc/initramfs-tools/modules
so that it includes ahci:
ahci
And run update-initramfs
in order to update the initrd image:
update-initramfs -k all -u
You can reboot and change the SATA mode to AHCI in the BIOS after that.
DVD-RW drive
HP DVDRAM GT31L
kernel driver module: ahci
Both IDE (PATA) and AHCI (SATA) modes as in the case of the hard disk are supported.
Video adapter
AMD/ATI Radeon HD 6370M
VGA compatible controller: ATI Technologies Inc Robson CE [AMD Radeon HD 6300 Series]
chipset CEDAR (0x68e4)
1024MB
kernel driver module: radeon
Xorg driver module: radeon
The video card can be used with the radeon video driver that is part of Xorg and it works also with the generic VESA video driver vesa. There's also a proprietary binary-only fglrx driver in the non-free section of the Debian archive which supports among other things 3D acceleration. If you don't install fglrx and let Xorg to autodetect all drivers (i.e. don't create a customized configuration file, e.g. /etc/X11/xorg.conf
), the radeon video driver is used as a default.
An interesting thing is that the processor contains also an integrated graphics Intel HD Graphics, but you can check in the Xorg log that it isn't used by default. If you want to do that then firstly find out the bus id of the ATI card by running lspci
. Find the proper line containing your video adapter and look into the first column. The string there is the bus id of the adapter. Then simply check your Xorg log file /var/log/Xorg.?.log
, it should contain a line like this:
(II) Primary Device is: PCI 01@00:00:0
The string 01@00:00:0
should correspond to the bus id of the ATI card found out from the lspci
output which was 01:00.0
in my case.
Sound card
Intel High Definition Audio
Intel Corporation 5 Series/3400 Series Chipset High Definition Audio
chip IDT 92HD81B1X5
kernel driver module: snd-hda-intel
This card is an on-board Intel sound card that can be used to output audio to the built-in speakers or to the stereo-jack connector. The card works without problems with ALSA, but the audio mixer should be adjusted before usage so that you can hear any sound. This operation cannot be done by alsamixer
, where the PCM2 channel is missing. You can either increase the level of this channel by installing and running aumix
, which uses the older OSS and allows to set all the necessary channels including PCM2, or preferably by invoking:
alsactl init
HDMI sound card
AMD/ATI HDMI Audio
ATI Technologies Inc Manhattan HDMI Audio
chip ATI R6xx HDMI
kernel driver module: snd-hda-intel
This sound card is integrated into the video adapter and can be used to output digital audio (together with digital video) to the HDMI connector. It is detected and shown by ALSA, but I haven't tested it because I don't own any HDMI capable equipment.
Ethernet card
Realtek RTL8111/8168B
10/100/1000 Mbps
kernel driver module: r8169
This card requires one non-free firmware package firmware-realtek to be installed. It operates even without the package, but the dmesg
log contains the firmware request. The kernel module must be reinserted or the machine restarted so that the kernel loads the firmware.
Wireless card
Broadcom BCM4313
IEEE 802.11 b/g/n
kernel driver module: wl
There're more kernel driver modules for this adapter. An open source brcm80211 module which requires non-free firmware package firmware-brcm80211 and a proprietary wl module which contains its firmware.
The brcm80211 driver worked for me after installation, but it lost connection sometimes and the network interface must have been reconfigured to gain connection again. I therefore used external USB wifi card instead. However, I found out after some time that the integrated Broadcom wifi doesn't work anymore on an up-to-date squeeze, the whole machine froze and had to be restarted when I tried to configure the adapter. The reason could have been that the kernel was upgraded a few times during the time I was using only the external card and that some new problem with this wifi card driver occurred in the upgraded kernel.
I was therefore looking for a solution and I found out that there's also a proprietary wl driver module. This module must be compiled from its non-free source code, but it's luckily part of the non-free section of the Debian archive and its installation is simple.
apt-get update
apt-get install module-assistant wireless-tools
m-a a-i broadcom-sta
echo >>/etc/modprobe.d/blacklist.conf
echo "# don't use brcm80211 driver, but the proprietary wl driver instead" >>/etc/modprobe.d/blacklist.conf
echo blacklist brcm80211 >>/etc/modprobe.d/blacklist.conf
update-initramfs -u -k $(uname -r)
modprobe -r brcm80211
modprobe wl
This driver works fine for me on squeeze.
Bluetooth
Broadcom BCM2070
kernel driver module: btusb
The card is detected by the kernel and the module is loaded as a driver, the lsusb
command displays this device, but I haven't tested it because I don't have any equipment using this wireless technology.
Modem
unknown modem
kernel driver module: not available
The modem is neither detected by the kernel nor shown by lspci
. I therefore don't know its type. There is a driver for the 2.6.32 kernel for Suse Linux that can be downloaded from the HP home page, but I don't know about any general Linux driver or a driver for Debian.
Webcam
HP/Foxlink Webcam
kernel driver module: uvcvideo
The same applies as in the case of Bluetooth. The device is detected, the kernel module is loaded and the device is shown by lsusb -v
, but I haven't tested this device and I doubt I'll ever need it.
Touchpad
Synaptics Touchpad
kernel driver module: psmouse
The right click works by default in the same way as if the left button was pressed. This is most probably a kernel problem because it exists in more Linux distributions and there is a patch for the psmouse kernel module that fixes this problem using dkms for a specific Ubuntu kernel according to the following Ubuntu forum article. I haven't found any patch for Debian, but I luckily solved this issue differently. It's sufficient to reload the psmouse kernel module with the following options:
modprobe -r psmouse
modprobe psmouse proto=imps
The right touchpad button should start working after that. You also need to create a configuration file in /etc/modprobe.d
, so that your settings survive reboot. You can name the file for instance touchpad.conf
:
options psmouse proto=imps
I still had problems with emulating the middle button press. I therefore installed the mouseemu package and emulated the right and middle button clicks by pressing two separate keys - F11 and F12. The configuration of the mouseemu package was simple, it was necessary to edit only the file /etc/default/mouseemu
:
MID_CLICK="-middle 0 87" # F11 without modifier
RIGHT_CLICK="-right 0 88" # F12 without modifier
And restart the mouseemu daemon:
/etc/init.d/mouseemu restart
Ports
3x USB 2.0
eSATA/USB 2.0 Combo
VGA
HDMI
stereo microphone in
stereo headphone/line-out
RJ-45
RJ-11
AC power
The USB, USB Combo, microphone, headphone/line-out, RJ-45 and AC power ports work as they should. I haven't tested eSATA, VGA and HDMI ports because of lacking appropriate hardware and I can't test RJ-11 port without the modem driver.
Slots
Express card/34
Media card reader
The media card reader works fine. I don't have any hardware to the express card slot.
Summary of the compatibility with Debian squeeze
I concluded that all the devices I needed were working on my laptop under Debian squeeze, but I had to solve some problems with the touchpad and the wifi card.
The right touchpad button didn't work until I passed some options to the psmouse kernel module. I still wasn't able to emulate the middle button click and I therefore installed the mouseemu package and emulated the right and middle button clicks by pressing two separate keys.
The integrated wifi card lost connection sometimes and had to be reconfigured to gain connection again if the default open source driver was used. After a few kernel upgrades the driver stopped working totally. However, it was also possible to use a proprietary driver which solved the problem.
I haven't configured Bluetooth because I don't have any equipment using this wireless technology, but the kernel probably has the driver because it initializes the device and loads some module. The same applies for the webcam. The kernel loads a module as a driver, but I haven't configured this device and I doubt I will ever need this piece of hardware. There're two more devices I haven't tried. A HDMI sound card and a modem. The former isn't the standard on-board sound card which works fine, but another card integrated into the video adapter which serves to send digital audio together with digital video to HDMI port. The card is detected and shown by ALSA, but I unfortunately don't have any HDMI capable equipment to try it. There should be a modem in this laptop, but it is neither shown nor detected. There's no driver for Debian or generally for Linux that I know about.
All other devices including the processor, memory, hard disk, DVD-RW drive, video adapter, sound card and Ethernet and wireless cards are working fine. I have also successfully tested USB, USB Combo, microphone, headphone/line-out, RJ-45 and AC power ports and the media card reader slot. However, I haven't tested eSATA Combo, VGA, HDMI and RJ-11 ports and the Express card slot.
Inserted: | 2015-12-24 21:12:00 |
Last updated: | 2015-12-24 21:12:00 |