Dell Latitude E6420 and Linux
This laptop did hit the market in 2011Q1. I got a version with tons of features. In this page, I will try to:
- describe the Linux compatibility of various parts of this laptop;
- when required, explain the special tricks that I had to use;
- compare with the other Dell models I know (D630, D6400, D6410 series).
As for my older laptops (see e.g. DellLatitudeD610
), my E6420 is a working tool; so don't be surprised if I did not try every possible trick and hack to get everything working. I do not care if I lack a few features right now. I am pretty sure that the drivers and fixes will be available in a few weeks or months.
I run Debian sid (even with some experimental packages ; I love living dangerously)
, but most of those tips could apply to your favourite distro as well.
Case and overall sturdiness
The casing looks even more solid than the one of the D630 and D6400/D6410 series. Still, it's not bullet-proof.
The only issue I had with my previous laptops were:
- slight blue-ish marks appearing on the screen (the marks were visible only on a pure white background and with high brightness; oh, and I forgot to mention that this happened after I did sit for half an hour on the laptop with someone on my knees - I just had forgotten that the laptop was here, you know);
- small rubber pads (under the bottom surface) dislocated; it was annoying in the beginning, because I had built up the habit of resting my wrists on the laptop in such a way that it would apply an horizontal force on the laptop, which would cause it to slide on the surface (table, desk...) when the rubber pads were gone (Dell offered to replace the whole case, but I declined, because I felt it would be a waste);
- dust infiltrating behind the screen (I blame the bad or absent joint at the screen edges) - it became really annoying after 2 years and a half, at which point Dell offered to replace the screen);
- scratches and stains on the top of the case (after a few years of intense use, this was bound to occur) - I got a 10$ sleeve for my new laptop to avoid that in the future.
If you want to get a sleeve, don't forget that this laptop is slightly larger than regular 14" models; so be sure that your sleeve is a bit elastic, or that it can accomodate larger models. Those sleeves are sometimes sold as 14.1". That's specially important if you plan to use the 9-cells battery, which will extend a bit to the rear of the laptop.
I have the HD (1600x900) screen. It's still 14", but it looks smaller than the 16/10 screens found on the D630 and D6400 series. It has a slightly better resolution than my previous laptop (which was 1440x900), but to be honnest, I don't see much of a difference. Many reviewers told that they felt disappointed, because the laptop felt a little larger than the previous 14" models, but the screen was smaller. That's right, but as soon as you power on the laptop and get to work, you will forget that :-)
The vertical angle of view is in par with most other laptops I ever tried - i.e., if you change your position (lower/raise your chair), you will have to tilt the screen a little bit to get the colors right. No big deal.
The horizontal angle of view is very good - which is nice for peer programming sessions, and not-that-nice if you want to do confidential stuff in the plane/train/whatever.
I initially wanted to get the model with the integrated Intel HD3000 video chipset. But if you opt-in for the quad-core CPU, Dell will automatically bundle in the NVidia NVS4200M chipset.
This delayed my purchase of the laptop, since I didn't care about the performance of the chipset, but I cared a lot about Linux compatibility, stability, and power efficiency - three points where the NVidia chipsets have been quite miserable in my experience.
In fact, you get both chipsets:
- integrated HD3000, which will be the chipset used by default on Linux;
- NVidia NVS4200M "discrete graphics" (I think that's just fancy wording for "not-integrated-into-the-CPU").
To get the Intel chipset working right, I had to upgrade the following packages:
- linux-image-2.6.38-2-amd64: 2.6.38-3
- xserver-xorg-video-intel: 2:2.15.0-1
- libgl1-mesa-dri: 7.10.2-1
If you get an error like "BadAlloc?
(insufficient resources for operation) when trying to run OpenGL?
stuff, it probably means that you forgot to upgrade libgl1-mesa-dri.
Sometimes (generally after hours of usage), the display will become almost unusable: it will freeze a fraction of second, then unfreeze, then freeze again a few seconds later, etc.
Once the problem appears, it can only be fixed by a reboot.
This is a known problem, see https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/761065
It might be resolved with a new kernel.
Sometimes, X will start with a garbled screen. Also, if you close the lid, open it, close it again, reopen it, the screen will be garbled.
If that happens, just suspend to RAM and resume: the problem will be gone.
If you want to turn off the NVidia chipset:
When doing that, my estimated battery life went up from 4h30 to 6h (using the standard 6-cells battery).
The Intel chipset performance is more than sufficient to run e.g. compiz with some effects. Video playing works well. I didn't try full HD playout yet.
However, let's talk about external outputs: the Intel chipset seems to control only the VGA (15 pins) output. It seems that the HDMI output can only be used by the NVidia chipset. I will try later to use the NVidia chipset.
If you want to use the NVidia chipset, you have two options:
- disable "Optimus" in the BIOS (this will disable the Intel chipest);
- use vgaswitcheroo patches (which will allow to switch between the two graphics adapters without rebooting your computer; however, I think that restarting X will still be necessary)
At least one of my coworkers is using the NVidia chipset, so I think this should work: -)
Hard disk and CD drive
I got the 256GB SSD. It says it's a "SAMSUNG SSD PM81". The SATA stuff worked right out of the box.
The raw throughtput is decent (230 MB/s measured with "pv /dev/sda").
If you want me to run a specific benchmark, just ask.
I aligned my partitions on 1 MB blocks (use fdisk, change units to sector, check that all partitions start from a number such as N%2048=0).
I'm not sure that this is necessary (it's an attempt to get partitions aligned with the low-level flash cell size).
I formatted the filesystems in ext4, and mounted them with "noatime,discard" options (they are supposed to be interesting for SSD devices).
I did not check yet that TRIM support was correct, but I will do the following test some day:
I will soon test the E-SATA port.
Basic functionality works out of the box; but:
- you won't get multi-touch or scrolling out of the box;
- it seems to be an ALPS touchpad; that's bad, because ALPS trackpads are well-known to be useless crap; I wish Dell would use Synaptics for high end laptops;
- you can get the scrolling (side-scrolling, not two-fingers scrolling) with a recent kernel (2.6.38-2 from Debian won't work, but 2.6.38-8 from Ubuntu will work).
Also, it seems to issue random clicks every now and then, as if my fingers were lingering over the touchpad area. I never had that with a touchpad before. I don't know if it's a driver issue, hardware issue, or just me having a bad case of electromagnetic field.
Works. I actually installed the laptop using PXE from my older laptop.
Works. I guess you need a recent kernel, and a recent version of the package "firmware-iwlwifi" (I have 0.29).
FIXME: However, the WiFi?
LED remains on all the time. I will try to fix that, since I actually looked at it to know if my WiFi?
was on or off before.
ACPI support (standby etc)
Suspend-to-RAM works. I'm using "hibernate-ram" from the "hibernate" package.
I didn't get it.
Works out of the box. However, the PC beep seems to be re-enabled each time I get out of suspend mode.
FIXME: I didn't check if I got sound on the HDMI output.
My former SC reader worked with pcscd. This one does not work yet, but I guess it will soon, since one of my coworkers made it work with opensc or openct.
FIXME: I will test that soon.
The backlight is nice (useless for me, but still nice).
Taking the beast apart
FIXME: not yet.
If that can help ...
00:00.0 Host bridge: Intel Corporation Sandy Bridge DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Sandy Bridge PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation Cougar Point HECI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation Cougar Point KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
00:1a.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation Cougar Point High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 1 (rev b4)
00:1c.1 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 2 (rev b4)
00:1c.2 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 3 (rev b4)
00:1c.3 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 4 (rev b4)
00:1c.5 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 6 (rev b4)
00:1d.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Cougar Point LPC Controller (rev 04)
00:1f.2 RAID bus controller: Intel Corporation Mobile 82801 SATA RAID Controller (rev 04)
00:1f.3 SMBus: Intel Corporation Cougar Point SMBus Controller (rev 04)
01:00.0 VGA compatible controller: nVidia Corporation Device 1056 (rev a1)
01:00.1 Audio device: nVidia Corporation Device 0e08 (rev a1)
03:00.0 Network controller: Intel Corporation Centrino Advanced-N + WiMAX? 6250 (rev 5e)
0b:00.0 SD Host controller: O2 Micro, Inc. Device 8221 (rev 05)
0b:00.1 Mass storage controller: O2 Micro, Inc. Device 8231 (rev 03)
SD Card reader
Works. When you insert a SD card, you see e.g. /dev/mmcblk0 and /dev/mmcblk0p1 appearing, and you can mount them as needed.
Initial testing showed that it might work (you have to modprobe usbserial with correct product and vendor ids), but it seems that it gets unresponsive after you do one suspend/restore cycle.
The card seems to be:
Bus 002 Device 007: ID 413c:8194 Dell Computer Corp.
I found the Gobi 3000 drivers here: https://www.codeaurora.org/contribute/projects/gobi/
I compiled the GobiSerial?
drivers (edit the code to put the correct VID/PID where it belongs) and when loading it, I saw 2 usb serial devices, /dev/ttyUSB0 and /dev/ttyUSB1.
Using /dev/ttyUSB0 with minicom, I could unlock a sim card and get the modem online.
Didn't try to establish a proper PPP session yet.
NOTE: you're supposed to load a firmware for this to work. Maybe it worked because I tested it on Windows before, and then rebooted to Linux. Not sure.