Dell Latitude E6x00

The Dell Latitude E6500 and E6400 is the next generation of the old Latitude D830 and D630.

=LiveCD and Installation= The current Gentoo LiveCD 2008.x does not support the Intel gigabit ethernet interface, the e1000e module is outdated. Use Gentoo 10.1 dvd instead, and follow Gentoo handbook as usual in order to have functioning ethernet interface.

= Hardware = lspci
 * Display
 * E6400: 14,1 inch display @ 1280x800 or 1440x900
 * E6500: 15,4 inch display @ 1280x800 or 1440x900 or 1920x1200
 * Processor
 * Intel® Core™ 2 Duo P8400 (2.26GHz, 3M L2 Cache, 1066MHz FSB)
 * Intel® Core™ 2 Duo P8600 (2.40GHz, 3M L2 Cache, 1066MHz FSB)
 * Intel® Core™ 2 Duo T9400 (2.53GHz, 6M L2 Cache, 1066MHz FSB)
 * Intel® Core™ 2 Duo P9500 (2.53GHz, 6M L2 Cache, 1066MHz FSB)
 * Intel® Core™ 2 Duo T9600 (2.80GHz, 6M L2 Cache, 1066MHz FSB)
 * Intel® Core™ 2 Duo T9800 (2.93GHz, 6M L2 Cache, 1066MHz FSB)
 * Intel PM45 chipset (ICH9M)
 * Up to 8 GB DDR2-800 RAM
 * Video
 * Intel GMA 4500MHD
 * 256MB NVIDIA Quadro NVS 160M (optional)
 * SD Card reader
 * Gigabit Ethernet
 * Wireless
 * Intel® WiFi Link 5100 802.11a/g/n
 * Intel WiFi Link 5300 802.11 a/g/n
 * Dell Wireless 1510 (Broadcom 43xx)
 * Bluetooth (optional)
 * Dell Wireless 370 Bluetooth 2.1
 * Dell Wireless 410 Bluetooth with UWB
 * Fingerprint reader (optional)
 * Mobile Broadband
 * AT&T (HSDPA) with GPS
 * Verizon Wireless (EV-DO Rev A) with GPS
 * Sprint (EV-DO Rev A) with GPS
 * Dell Wireless 5600 Mobile Broadband (Gobi™ 1000)
 * Internal 56k Modem (optional)
 * Camera/Microphone
 * 0.3MP Webcam with microphone (optional)
 * Microphone
 * Backlit Keyboard (optional)
 * Optical Drive
 * 8X DVD
 * 24X CD-RW/DVD
 * 8X DVD-RW/CD-RW

lsusb

=Hardware Support=

Processor
CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CXXFLAGS="${CFLAGS}"
 * Frequency scaling works on the 2.53gHz Core2 Duo

Gigabit Ethernet

 * Module: e1000e

Make sure you don't enable CONFIG_DMAR otherwise you could experience Tx Unit Hangs

Intel

 * Module: iwlagn for Intel Wireless 5300 AGN (but some systemwide latency-problems)
 * Notes: works with kernel 2.6.27.


 * You need also to put the microcode image for models 5000 in /lib/firmware, that you can get at intellinuxwireless website or simply by emerging net-wireless/iwl5000-ucode

Broadcom
Broadcom 802.11 Linux STA driver (http://www.broadcom.com/support/802.11/linux_sta.php) These packages contain Broadcom's IEEE 802.11a/b/g/n hybrid Linux® device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware.
 * Notes: works with kernel >=2.6.28.
 * 01.04.2009: 5.10.79.10 with Patch fixes WPA Enterprise hangs
 * most recent (03.15.2010): 5.60.48.36 broken; /usr/sbin/iwlist won't scan access points, wifi LED won't turn on. Latest tested working version: 5.10.91.9.3.
 * confirmed that 5.10.91.9.3 is working under kernel 2.6.31-gentoo-r10, it needs a little patching to get the old driver compiled.
 * 5.10.91.9.3 has serious problem with tkip encryption, if you experience frequent disconnections, try setting the wireless router to use WPA2 only(AES or CCMP).

To stop v5.60.48.36 from complaining about a lack of a module_license macro:
 * echo 'MODULE_LICENSE("Proprietary");' >> src/include/linuxver.h

To solve v5.60.48.36 missing autoconf.h problem:
 * cp -v /lib/modules/`uname -r`/build/include/{generated,linux}/autoconf.h

WiFi Catcher
kernel: [ 3349.114542] atkbd.c: Unknown key pressed (translated set 2, code 0x91 on isa0060/serio0). kernel: [ 3349.114553] atkbd.c: Use 'setkeycodes e011 ' to make it known. kernel: [ 3349.713777] atkbd.c: Unknown key released (translated set 2, code 0x91 on isa0060/serio0). kernel: [ 3349.713787] atkbd.c: Use 'setkeycodes e011 ' to make it known. emerge rfkill rfkill unblock 0
 * untested, assumed not working
 * with kernel 2.6.30 i get kernel messages while pressing the WiFi-Catcher-Button, so i assume this can be used to trigger some programs:
 * If the 'WiFi' LED isn't enabled when setting the rfkill switch to enabled, do this:

Bluetooth

 * Dell Wireless 370 requires >=bluez-utils-3.32
 * module: hci_usb for kernel <2.6.27, btusb for kernel >=2.6.27


 * run hci2hid to create device node. To automatically run it from udev:

A better way is to edit /etc/conf.d/bluetooth and setting HID2HCI_ENABLE to true. The bluetooth-Initscript will do the rest rc-update add bluetooth
 * Activate the service 'bluetooth' for the default runlevel:

SD Card Reader

 * module: sdhci, sdhci_pci, mmc_core, mmc_block
 * works: tested

Smartcard Reader (Broadcom 5880)
This card reader is also found in the Dell Lattitude E4300 and Precision M4400. It mostly works, there are some caveats though:
 * With openct CCID driver: Tested with Athena and Cryptoflex smart cards, both are working (always tested with opensc, propietary drivers from vendors not tested, but they should work). Works fine with Athena cards. I don't know the reason but with Cryptoflex ones I had to apply the patch described here: http://www.natisbad.org/E4300/.
 * With pcsc-lite and CCID driver: Working perfectly with US DoD CAC in CentOS 5.4. Just make sure to download the latest "ControlVault firmware" for this device (http://ftp.ins.dell.com/Control%20Point/Dell_ControlVault_A15_R254263.exe as of 2010/03), and update as described in the natisbad.org link otherwise the card will only be recognized if it's inserted before pcscd starts.  Also, you'll need to update the ifd-ccid.bundle/Contents/Info.plist as mentioned below (be careful not to give the reader a name that's longer than the other entries you see there).  I also experienced a problem where neither this nor my external reader were working because I had tried adding them to /etc/udev/rules.d/85-pcscd_ccid.rules.

Note: For both ways of making it work, it is required to add the vendor and product id to a config file. For openct look in /etc/openct.conf and for the pcsc-lite CCID driver /usr/lib/readers/usb/ifd-ccid.bundle/Contents/Info.plist. sys-apps/pcsc-lite-1.5.3 USE="usb -hal -static"
 * use "-hal usb" flag when compiling pcsc-lite.

Contactless Reader

 * 1) First step is switch Contactless reader from proprietary CV (Credentials Vault) radio mode to PC/SC compatible radio mode. See http://ridrix.wordpress.com/2009/10/13/how-to-enable-pcsc-support-for-dell-contactless-reader/ (This step require Windows)
 * 2) Install CCID driver 1.4.5 or newer (app-crypt/ccid)
 * 3) Install pcsc-lite with flags udev -libusb
 * 4) Test by sys-apps/pcsc-tools

For information: Broadcom USH (Unified Security hub) is an all in one fingerprint reader/smartcard reader. There are two versions:
 * With fingerprint reader: VendorID=0x0a5c ProductId=0x5801
 * Without fingerprint reader: VendorID=0x0a5c ProductId=0x5800
 * Are you sure? I have one with fingerprint reader which is 0a5c:5800

PC Card (PCMCIA)
With Ubuntu 8.10 / kernel 2.6.27-11 my pcmcia slot worked just fine with my memory card reader. However, had problems with suspend to RAM and Hibernate with the card in the slot.

Express slot

 * enable PCI express and hotplugging as modules (pciehp and pci_hotplug)
 * load pciehp module with pciehp_force=1 parameter in order to have hotplugging functionality

USB

 * works

Firewire

 * module: ohci1394
 * works

eSATA

 * works (tested with ubuntu default kernelconfig 2.6.27.11)
 * works (tested with Gentoo gentoo-sources-2.6.30-r4)
 * also supports Power over eSATA (eSATAp), tested with an external drive from Delock

Intel X4500MHD
Read the Intel_GMA article.

(May be of help: at least a DP->DVI-Adapter is working on ubuntu 8.10, but driver from http://ppa.launchpad.net/intel-gfx-testing/ppa/ubuntu is needed for displays at 1600x1050) Not really... I think the problem comes with the vertical resolution being greater than 2048, I'm using 3360x1200 with xf86-video-intel 2.6.1 and xorg-server 1.5.3-r2 and it's working fine.
 * Works with xf86-video-intel-2.5.1-r1 and xorg-x11-7.4.
 * VGA output works fine.
 * DisplayPort: You need to get last version from xf86-video-intel git branch 'display-port'.
 * Support for KMS: native 1920 very fast framebuffer and a very fast switch from X to console. At the current time only with develop Kernel (2.6.29), Xorg from git (x11-overlay) and xf86-video-intel from git.
 * If you need a virtual display size greater than "2944 1200" you currently need to use develop code from git. Tested successfully with "3200 2224" which allows a 1280 display additionally to the 1920 LVDS.

NVidia NVS 160M

 * Works with both open-source (nv and nouveau) and nVidia binary (nvidia) drivers.
 * OpenGL works fine with binary and open-source (nouveau) drivers, smooth motion with no flickering.
 * Nouveau driver works fine without an /etc/X11/xorg.conf, both for 2D and 3D.
 * Dual monitors using the docking station is working fine with open-source (nouveau) drivers.
 * Notes: default font size is somewhat large in the 1920x1200 resolution. You can override the EDID DPI by adding this line to xorg.conf. Instead, X will calculate an appropriate DPI from the DisplaySize.

NVidia NVS 4200M

 * Make sure to enable the Direct Rendering Manager and the Nouveau module in the kernel:

For more information on the Noveau driver use under Gentoo see http://gentoo-wiki.com/wiki/Nouveau.

DisplayPort
UPDATE 2009/04/02: There is support in the 'display-port' branch of the xf86-video-intel driver git repository (http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/log/?h=display-port).
 * With Intel GMA it doesn't work as of 2009/03/12.
 * DisplayPort->HDMI and DisplayPor->DVI-D works for me with 2.6.31 and xf86-video-intel-2.8

For NVIDIA:
 * Standard DisplayPort->HDMI adapter works for video
 * Standard DisplayPort -> DVI-D adapter works for video
 * Audio over DisplayPort -> add 'model=dell-m4-2' to snd-hda-intel module options, then unmute 'IEC958' in alsamixer.

Audio

 * module: snd_hda_intel
 * works


 * Had to add "options snd-hda-intel model=ref" to /etc/modprobe.d/alsa which sets model of the driver to reference board. This changes the mixers that are available and also allows the on-board mic to work.
 * But still problems with headphone output. Headphones works if attached while loading the module but the front speakers doesn't produce any output anymore until reloading the module.
 * No headphone output here at all, built-in mic works and everything else works fine. Weird that no headphone output at all can be had. Have mixed and matched model= and other parameters. Could be a switch somewhere to enable? Hope this is resolved sometime.
 * Looks like there are bug reports filed: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4314 and https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4306

'''Headphone/Built in Mic and Front speakers now working. See patch in https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4306'''. Patch is built-in since 2.6.29-rc7 (Commit).

set model=dell-m4-1

diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index b77f330..70848ea 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -4648,7 +4648,7 @@ again: case STAC_DELL_M4_3: spec->num_dmics = 1; spec->num_smuxes = 0; - spec->num_dmuxes = 0; + spec->num_dmuxes = 1; break; default: spec->num_dmics = STAC92HD71BXX_NUM_DMICS;


 * If you have Problems with unloading alsa modules at shutdown, set UNLOAD_ON_STOP to "no" in your /etc/conf.d/alsasound (http://bugs.gentoo.org/253535, http://bugzilla.kernel.org/show_bug.cgi?id=12321)


 * If the microphone does not work in Skype, http://forum.skype.com/index.php?s=&showtopic=66544&view=findpost&p=384057 might be helpful.


 * The most recent kernel which works for me with both Audio output as well as the built-in microphone is Version 2.6.31-gentoo-r6. With all newer kernels that I tried, including up to version 2.6.34-gentoo, either the microphone or the sound does not work. For Version 2.6.31-gentoo-r6, you do not need to set any module options ("model=xxx"), but be sure to set in the alsamixer (kde mixer) the following to get a working mic: Digital Input Source = Digital Mic 1, Input Source1 = Front Mic, Input Source2 = Front Mic. If anyone knows how to get both the audio output and microphone working with more recent kernels, please post a comment here! Thanks.

Touchpad
20-input-touchpad.conf . Applied cleanly to gentoo-sources-2.6.29-r1.
 * Now supported by xf86-input-synaptics
 * supported by synaptics driver in 2.6.27.7 (ChangeLog)
 * after setting RightEdge to 850 and BottomEdge to 650 scrolling works as well
 * To enable horizontal scrolling, you just need to add Option "HorizEdgeScroll" "1" to your InputDevice section in the xorg.conf file (tested on Latitude E6500, kernel 2.6.31-gentoo-r5, xorg-x11 7.4r1 xf86-input-synaptics 1.1.3)
 * if you get the messages "psmouse.c lost sync at byte" and the cursor is jumping when using the touchpad and the stick at the same time, this patch fixed the problem for me:

LCD

 * brightness controls work (up, down, auto)

Keyboard
"amixer -c 0 sset 'Master' toggle" XF86AudioMute
 * backlight controls work (on/off)
 * Multimedia keys work (vol down, up, mute)
 * example for hal and xbindkeys:
 * ~/.xbindkeysrc
 * 1) Mute Sound

"amixer -c 0 sset 'Master' 3%-" XF86AudioLowerVolume
 * 1) Volume Down

"amixer -c 0 sset 'Master' 3%+" XF86AudioRaiseVolume
 * 1) Volume Up


 * Magic SysRq keys work too, but you have to release the Fn key before pressing the magic command key, because Fn enables keypad keys. For example, a combination for filesystems syncing is:
 * 1) Hold Fn
 * 2) Hold Alt
 * 3) Hold F10
 * 4) Release Fn
 * 5) Press S

Webcam

 * module: uvcvideo
 * works with 2.6.27 - detected by driver as Laptop_Integrated_Webcam_0.3M

Works fine with Skype. However, in case KDE 3.5.10's Kopete (Version 0.12.7) does not detect the device, you need to delete the /dev/v4l Directory and restart Kopete. This is necessary due to a bug in Kopete and the way it is looking for video devices. The /dev/v4l Directory is re-created after a reboot, so adding "rm -Rf /dev/v4l" to /etc/conf.d/local.start will help to make this permanent.

Fingerprint Reader

 * part of broadcom 5880 USH subsystem, not supported yet. Too new.

Fprint project is looking into this

Trusted Platform Module (TPM)

 * unknown

Optical Drive (eModular bay)

 * reading: works
 * writing: works
 * hot-swapping: works

Suspend (RAM)

 * works with latest dev Kernel 2.6.28 (since somewhat rc5 or so), newest graphic drivers etc


 * Resuming will cause a blank screen to occur, however using this script will cause suspend to ram and resume to function properly. Simply save as mem.sh and when run it will suspend to ram, upon resume the screen will not be blank and will return to an on and functioning state.
 * 1) !/bin/sh

ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'`
 * 1) discover video card's ID

TMP_FILE=`mktemp /var/tmp/video_state.XXXXXX` trap 'rm -f $TMP_FILE' 0 1 15
 * 1) securely create a temporary file

chvt 1
 * 1) switch to virtual terminal 1 to avoid graphics
 * 2) corruption in X

sync
 * 1) write all unwritten data (just in case)

cat /proc/bus/pci/$ID > $TMP_FILE
 * 1) dump current data from the video card to the
 * 2) temporary file

echo -n mem > /sys/power/state
 * 1) suspend

cat $TMP_FILE > /proc/bus/pci/$ID
 * 1) restore video card data from the temporary file
 * 2) on resume

chvt 7
 * 1) switch back to virtual terminal 7 (running X)

rm -f $TMP_FILE
 * 1) remove temporary file
 * Alternative: using hal with power management scripts (sys-power/pm-utils) and the following config:
 * This is the preferred method as this can be scripted. Works out of box as well for mem suspend.

  

  true


 * Actually, for me suspend-to-ram worked with 2.6.27 out of the box... --151.68.181.79 13:55, 4 January 2009 (GMT)


 * I was unable to resume from suspend-to-ram until I replaced the nouveau video driver with nvidia's proprietary driver (i.e. "yum install kmod-nvidia-PAE"). You have to configure yum for the rpmfusion repos, of course (see http://rpmfusion.org/Configuration/ for details).  --tomiii 2010-09-23

Suspend (DISK)
=Issues=
 * works with latest Kernel 2.6.28 and latest drivers.

HD-audio power-saving and strange noise (snaps) from inside the chassis
On my latitude E6400 and kernel 2.6.28, the "Aggressive power-saving on HD-audio" option causes loud "snaps" to come from the chassis every time that the audio card is switched off in low power state. Maybe it's safe but if you want to remove this noise (at the cost of some battery consumption) you must be sure not to enable this kernel option:

Device Drivers ---> Sound card support ---> Advanced Linux Sound Architecture ---> PCI sound devices ---> Aggressive power-saving on HD-audio

Bug-Entry: http://bugzilla.kernel.org/show_bug.cgi?id=12061

Can someone note the version of ALSA they tested this against? 1.0.18?

HD-audio E6430 "hda-intel: spurious response" workaroud
options snd-hda-intel enable=1 index=0 options snd-hda-intel enable=1 index=1 model=ref enable_msi=0 single_cmd=1

without it initialization took long time and there are a lot of errors "hda-intel: spurious response NNNNN, last cmd NNN" in dmesg

please note single_cmd used only for debug, but did the trik

ACPI processor events

 * BIOS version A09 will fill the messages log with ACPI errors, update to a newer BIOS will solve the problem (confirmed working through latest BIOS update (A24 for E6500)

CPU overheating throttling
CPU frequency is stuck at minimum speed (800Mhz on C2D P9500) and can't be changed back to max after e.g. watching video for a while.

This is a hardware/BIOS problem occurring on Windows as well. It could be maybe fixed, by cleaning the fan. (So for me.)

More info:


 * http://guido-flohr.net/dell/latitude-e5400/
 * http://en.community.dell.com/forums/t/19247293.aspx
 * http://forum.notebookreview.com/showthread.php?t=348221
 * http://imsahp.chambana.net/~randall/dell/

As of December 2009, Dell released the BIOS version A19 that should fix this problem.

A19 does _not_ fix the issue, however the fan will be on max speed most of the time.

New stuff:

There's something that can help handling overheating situations, a thermal control panel that's accessible on the laptop after boot (no matter what the OS is), simply type sequentially 1,5,3,2,4 while holding down fn+shift and a led will start blinking, then press fn+r.

From this panel the fan speed can be changed, the BIOS control disabled, and the throttling functions changed. Still have to test if disabling throttling from that panel actually fixes the problem, if you test it write it here.

It does _not_ fix the problem: however you can restore 0% throttling for a short time (enabling you to stop "heavy" programs and halt the system).

To disable the flashing led I had to halt and boot again.

To disable the flashing led press fn+shitf+delete.

Overheating on this series can be resolved by lifting the laptop for unrestricted air flow and forcing cool/cold air through the CPU ventilation area. After a few minutes, the internal component temperature will drop sufficiently and the CPU speed will return to the previously set speed. If a CPU hungry program continues to run without forced cooling, then the system will likely never recover as the built in throttling formula is just behind the hysteresis needed. You can also suspend to ram for a few minutes and allow the laptop to passively dissipate the heat.

Press Fn+Z to reset fan temperature table and sensor.

As of March 2012, Dell released the BIOS version A32 that should fix (again) this problem.

http://www.dell.com/support/drivers/fr/fr/frbsdt1/DriverDetails/DriverFileFormats?driverID=909TW