Dell Latitude E7440

From ArchWiki
Revision as of 16:41, 8 August 2019 by Sporadiccrash (talk | contribs) (Restructured the document, typo fixes, deleted old information)
Jump to navigation Jump to search

The Dell Latitude E7440 is a business Ultrabook™. Generally speaking, it has nice support of (Arch) Linux.

Hardware Overview

Model 1

December 2013 model, configured with Intel Core i5-4300U, integrated Intel HD4400 graphics adapter, Intel Ethernet and wireless network adapter and a 1080p screen. Your configuration may differ from mine.

Output from lspci -nn: (2014-04-11)

00:00.0 Host bridge [0600]: Intel Corporation Haswell-ULT DRAM Controller [8086:0a04] (rev 0b)
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 0b)
00:03.0 Audio device [0403]: Intel Corporation Device [8086:0a0c] (rev 0b)
00:14.0 USB controller [0c03]: Intel Corporation Lynx Point-LP USB xHCI HC [8086:9c31] (rev 04)
00:16.0 Communication controller [0780]: Intel Corporation Lynx Point-LP HECI #0 [8086:9c3a] (rev 04)
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I218-LM [8086:155a] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation Lynx Point-LP HD Audio Controller [8086:9c20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation Lynx Point-LP PCI Express Root Port 1 [8086:9c10] (rev e4)
00:1c.3 PCI bridge [0604]: Intel Corporation Lynx Point-LP PCI Express Root Port 4 [8086:9c16] (rev e4)
00:1c.4 PCI bridge [0604]: Intel Corporation Lynx Point-LP PCI Express Root Port 5 [8086:9c18] (rev e4)
00:1d.0 USB controller [0c03]: Intel Corporation Lynx Point-LP USB EHCI #1 [8086:9c26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation Lynx Point-LP LPC Controller [8086:9c43] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] [8086:9c03] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation Lynx Point-LP SMBus Controller [8086:9c22] (rev 04)
02:00.0 Network controller [0280]: Intel Corporation Wireless 7260 [8086:08b1] (rev 73)
03:00.0 SD Host controller [0805]: O2 Micro, Inc. Device [1217:8520] (rev 01)

Output from lsusb: (2014-04-11)

Bus 001 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 1bcf:2985 Sunplus Innovation Technology Inc. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Model 2

Configuration: Intel Core i7-4600U, integrated Intel HD 4400 graphics adapter, Samsung PM851 256 GB SSD harddrive, 8 GB RAM.

As of August 2019, on this computer with the firmware version A27, Arch Linux 201908 could be installed in UEFI partitioning without any problem (wireless also working).

Installation

First things to do specific for this laptop

Check the BIOS firmware first

Firmware update process does not need an operating system and it can be done with the BIOS utilities of the laptop. A USB flash drive can be prepared on another computer. The latest BIOS firmware, which is an EXE file, can be downloaded from the "Dell website". On Windows, the firmware can be burned with Rufus into a bootable USB flash drive. USB Flash drive can be made UEFI/GPT bootable. After the USB flash is prepared, plug the USB flash stick, boot the laptop by pressing F12 and follow the instructions to boot the USB flash. After the firmware update, during reboot press F2 and check whether the shown BIOS version is the one which is burned.

SecureBoot

The Arch Linux kernel is not signed by default, thus it cannot be booted if SecureBoot is enabled in the BIOS. If you want to use the SecureBoot, please follow the instructions here to prepare the kernel. The signed kernel itself can be booted by a signed boot loader, e.g. shimx64.efi from Ubuntu.

Setup 1: install only the Arch Linux

The instructions below focus on GPT partitioning scheme, and relies on UEFI features of the laptop.

Following partitioning scheme was tested on a 256GB SSD drive:

  • /dev/sda1/ ESP with label ESP, to be mounted to /boot/efi, file system FAT32. As mentioned in "Managing EFI Boot Loaders for Linux: Basic Principles", the ESP should have 550 MB at least. For max. performance on SSD, 1 GB was allocated.
  • /dev/sda2/ file system ext4 - 1 GB boundary (2nd 1 GB area of the SSD). It can be reserved for multi-boot installations in the future.
  • /dev/sda3/ swap with label SWAP, 8 GB for the laptop with 8 GB. The end sector is last sector of the 1st 10 GB of SSD.
  • /dev/sda4/ to be mounted as/data, file system ext4 and can be shared between many Linux installations. This is a 40 GB area which end is aligned to 1st 64 GB of SSD. End of 1st 10 GB and 24 GB beginning was not allocated. This was reserved if 8 GB RAM is upgraded to 16 GB RAM for which at least 16 GB swap could be needed. Since 1st 2x 1GB was reserved for ESP and sda2, this area starts at 24GB boundary, thus giving 40 GB to the end of 1st 64 GB.
  • /dev/sda5 file system ext4, to be mounted to /, 2nd 64 GB.
  • With the scheme above, an 256GB SSD has been partitioned for the 1st 2x 64 GB. The last two 64GB regions can be partitioned for other Linux operating systems. In Partitioning it is advised to reserve 15-20 GB for a distro. For maximum flexibility 64 GB is taken in the scheme above.

Setup 2: install Arch Linux in a Multi-Boot Setup

An example setup can be found here.

Drivers

  • Intel graphics for HD4400 graphics card.
  • Wireless#iwlwifi for Intel 7260 wifi card. This driver is from Intel and also part of the Arch Linux package repository.
  • Synaptics for Touchpad
  • Fan speed control#Dell laptops to control fan speed. There is only one fan on this laptop, detected on the right. Don't forget to disable BIOS fan speed control to be able to use custom fan speed config.

What does not work

  • Webcam does not work with Virtualbox (as of community/virtualbox 4.3.6-1), but it works with native programs such as skype.
  • There is no driver for the fingerprint sensor.
  • Occassionally crashes/freezes/hangs when docked and then changing display modes
    • Tested with Dell E-Port Plus II, using two external monitors together with the laptop display (three displays total)
  • hddtemp cannot read the temperature of the harddisk. Use smartctl -l scttemp /dev/sda instead.
  • HDMI has not been tested.

Troubleshooting

"Invalid partition table!" when booting

If you use BIOS+MBR boot method and msdos partition table, the BIOS may show this error message before entering Syslinux or other boot loaders. To bypass it, press Enter. To prevent it, put the "boot" flag on a primary partition (instead of a logical partition). You may refer to the wiki page of your boot loader to see how this works. It may be a "kindly reminder" to Windows users, since Windows can only boot on primary partitions.

Freeze before going to suspend when lid is closed

This seems to be related to https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1301601. Workaround 2 helps decrease frequency of freezes. For systemd, create a file in /usr/lib/systemd/system-sleep/ (e.g. 99switch_to_vt2) containing:

#!/bin/sh
# Possible workaround for bug:
# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1301601
#
# Switch to a VT before suspending and back after resume 
case "$1" in
    post)
        /bin/chvt 1
    ;;
    pre)
        /bin/chvt 2
    ;;
esac

Wifi-problems with bluetooth enabled

Severe wifi problems (decresing traffic, connection drops) with bluetooth enabled. Workaround is to switch it off when not needed. This bug seems to be router-specific (happend with a Fritzbox).

Wifi problems when coming back from suspend state

When your wifi is gone after resume try going to BIOS and deactivate the functionality to turn wifi and wwan down when ethernet cable is connected.

Hang with 4.2.0 kernel when docking with E-Port Plus and external monitors

After updating to the 4.2.0 kernel (in testing as of 9/9/15) my latitude hangs when docked in an Dell E-Port Plus with an external monitor connected. I reverted back to 4.1.6 for now.

See also

Dell Latitude E7440 | Post-installation et optimisation (French)