Debian GNU/Linux on Lenovo B51-30

About Debian GNU/Linux on Lenovo B51-30
Introduction

I bought new laptop recently and I would like to share my experience with using Debian GNU/Linux on this hardware.

I'm using Debian jessie, i.e. the stable distribution of Debian at the time of this writing, but I had to upgrade some packages to more recent versions from the testing distribution with codename stretch. First of all the kernel and its firmware packages and the XOrg X server so that all important drivers became present.

Why I've chosen this laptop

I tried to narrow the list of candidate laptops by searching all brands for my criteria and Lenovo B51-30 offered everything I needed for a reasonable price. Moreover, I didn't have to pay for the operating system and that made this option even cheaper.

I wasn't sure with Linux compatibility of this hardware and I therefore decided to try it by myself. Firstly, I know that Lenovo laptops are well supported by Linux distributions. Secondly, I paid a small amount of money to be able to return the purchased goods within two months without any reason. But that wasn't necessary.

Hardware specification and compatibility with Debian jessie
Quick specification
typeLenovo B51-30 
   
processorIntel Pentium Quad Core N3700works fine
memory4GB DDR3L SDRAMworks fine
hard diskSeagate ST500LM000-SSHD-8GBworks fine
DVD-RW driveHL-DT-ST DVDRAM GUC0Nworks fine
video adapterIntel HD graphicsworks fine
sound cardIntel HD audioworks fine
Ethernet cardRealtek RTL8111/8168/8411works fine
Wireless card + BluetoothIntel Dual Band Wireless AC 3160wifi works fine, bluetooth not tested
webcamLenovo EasyCameraworks fine
touchpadElan/Synaptics touchpadworks fine
fingerprint readerValidity Sensors VFS5011not tested
   
ports2xUSB 3.0, 1xUSB 2.0work fine
 VGAworks fine
 HDMIworks fine
 Combo Audio Jackworks fine
 RJ-45works fine
 AC powerworks fine
   
slotsMedia card readerworks fine
Processor

Intel Pentium Quad Core N3700 Braswell
Base/Burst frequency: 1.60/2.40 GHz
2MB L2 cache
4 cores, 4 threads (HT alias hyper-threading disabled)
64-bit support (EM64T extension also called as Intel 64)
Enhanced Intel Speedstep
Hardware virtualization VT-x

The processor is a 64-bit processor for the amd64 Debian port and it is thus compatible with the older 32-bit i386 port as well. It contains 4 cores and doesn't support hyper-threading which means that the operating system displays 4 CPU units as well. The Enhanced Intel Speedstep technology that allows CPU frequency scaling based on CPU load can be customized by configuring the cpufreq subsystem. You need to ensure that the acpi-cpufreq and chosen governor kernel modules are used. 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 kernel 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

If you plan to use KVM, VirtualBox or other virtualization, you need to enable it in the BIOS. Simply enable Intel Virtual Technology in the Configuration section.

Memory

4GB DDR3L SDRAM
1600 MHz
2 memory channels (1 occupied)
8GB max memory size

No additional configuration needs to be done on the 64-bit Debian amd64 architecture. However, the older 32-bit i386 Debian port allows to see maximally 3GB of RAM. If you want to use more memory, you need to install new kernel that has PAE enabled, e.g. the Debian jessie stock kernel linux-image-3.16.0-4-686-pae.

Hard disk

Seagate ST500LM000-SSHD-8GB
500GB (8GB SSD)
SATA 3.1
5400 rpm
512 bytes per logical sector, 4096 bytes per physical sector

kernel driver module: ahci

The disk operates in the AHCI SATA mode and no special configuration changes are needed. The ahci kernel module is loaded by default and it is part of the initrd image as well, so that the root filesystem can be mounted during the boot process.

DVD-RW drive

HL-DT-ST DVDRAM GUC0N

kernel driver module: ahci

The DVD-RW drive operates in the AHCI SATA mode as the SATA hard disk.

Video adapter

Intel HD Graphics
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller
8GB max memory

kernel driver module: i915
Xorg driver module: intel

The default drivers in Debian jessie are able to operate just in the text mode, no graphics is displayed because the X server doesn't start. Luckily, it's sufficient to upgrade the kernel (including kernel firmware) and X server packages plus their dependencies to newer versions from Debian stretch, which is the testing distribution at the time of this writing.

This can be accomplished by editing /etc/apt/sources.list to:

  • deb http://ftp.cz.debian.org/debian/ stretch main contrib non-free
  • deb-src http://ftp.cz.debian.org/debian/ stretch main contrib non-free

  • deb http://security.debian.org/ stretch/updates main contrib non-free
  • deb-src http://security.debian.org/ stretch/updates main contrib non-free

  • deb http://ftp.cz.debian.org/debian/ stretch-updates main contrib non-free
  • deb-src http://ftp.cz.debian.org/debian/ stretch-updates main contrib non-free

And by running the following commands:

  • apt-get update
  • apt-get install linux-image-4.5.0-2-amd64
  • apt-get install firmware-linux-free firmware-linux-nonfree firmware-realtek firmware-iwlwifi
  • apt-cache search xserver-xorg | awk '{print($1);}' | xargs apt-get -y install

Don't forget to reconfigure /etc/apt/sources.list to the original state and then invoke apt-get update again.

Even if the XOrg X server is able to start after upgrading both the kernel and X server drivers, one more configuration change is recommended because the default XOrg driver used is the generic VESA driver instead of the Intel driver that is more specific and therefore more suited to the video adapter. Let's just create simple XOrg configuration file /etc/X11/xorg.conf:

  • Section "Device"
  •   Identifier "Intel"
  •   Driver "intel"
  • EndSection

And restart the X server. Other XOrg settings are auto-detected. If you want to be sure which drivers are used by XOrg, take a look into the XOrg log.

Sound card

Intel HD audio

kernel driver module: snd-hda-intel

The on-board Intel sound card works fine with ALSA.

Ethernet card

Realtek RTL8111/8168/8411
10/100/1000 Mbps

kernel driver module: r8169

This network adapter for wired Ethernet connection works reliably. It requires one non-free firmware package firmware-realtek from the non-free section of the Debian archive to be installed - ideally from the same distribution from which the stock kernel comes from, i.e. from stretch if you installed the video adapter according the instructions above.

Wireless card + Bluetooth

Intel Dual Band Wireless AC 3160
IEEE 802.11ac, a/b/g, n
2.4/5 GHz
Integrated Bluetooth

kernel driver module (wifi): iwlwifi
kernel driver module (bluetooth): btusb

I'm using the wireless Intel network adapter as the main network adapter most often and it works perfectly. Its non-free firmware is missing in the free kernel package and it should therefore be installed from the non-free section of the Debian archive in the same way as the kernel itself - ideally from the same distribution. The package is called firmware-iwlwifi.

I haven't tested Bluetooth, but the kernel loads the driver btusb automatically for this wireless adapter.

Webcam

Lenovo EasyCamera

kernel driver module: uvcvideo

The integrated camera works. I'm not using it very often, but I'm not aware of any issues.

Touchpad

Elan/Synaptics touchpad

kernel driver module: psmouse

The touchpad works by default, but you need to specify additional options to emulate the middle button click by pressing the left and right mouse/touchpad buttons simultaneously. Simply edit /etc/X11/xorg.conf and add the following section:

  • Section "InputClass"
  •   Identifier "middle button"
  •   MatchIsPointer "on"
  •   MatchDriver "libinput"
  •   Option "MiddleEmulation" "on"
  • EndSection

The emulation should start working after XOrg restart.

There's another option how to emulate the middle and/or right button click by pressing chosen keys. This can be accomplished by using the mouseemu package. Install it and edit its configuration file /etc/default/mouseemu, e.g.:

  • MID_CLICK="-middle 0 87" # F11 without modifier
  • RIGHT_CLICK="-right 0 88" # F12 without modifier

Don't forget to restart mouseemu, e.g.:

  • service mouseemu restart
Fingerprint reader

Validity Sensors VFS5011 Fingerprint Reader

kernel driver module: uinput

Not tested. I rely on the strength of my password.

However, if you want to try this authentication method, you can start with the fprintd and libpam-fprintd packages.

Ports

2xUSB 3.0, 1xUSB 2.0
VGA
HDMI
Combo Audio Jack
RJ-45
AC power

All the listed ports work without problems.

Slots

Media card reader

The media card reader operates correctly.

Summary of the compatibility with Debian jessie

All the devices I use work without problems under Debian and most of them under jessie. However, the video adapter drivers had to be installed from Debian stretch, which is the testing distribution now.

Some subsystems need additional non-free packages from the non-free section of the Debian archive, namely the Ethernet and WiFi cards. And some need additional configuration.

The video adapter works with the generic XOrg VESA driver with the automatically detected configuration after both the kernel and XOrg drivers are installed. If you want to use the Intel driver specific for this adapter, you need to add some XOrg configuration.

If you want to emulate the middle touchpad button click, you either need to install and configure the mouseemu package or adjust XOrg configuation file again.

I haven't tested Bluetooth and the fingerprint reader. All other equipment is working fine.

 

Inserted: 2016-10-04 22:58:00
Last updated: 2016-10-04 22:58:00