Dell Latitude XT

Dell Latitude XT general configuration and driver information.

WORK IN PROGRESS!!!

Overview
This tablet is equipped with ultra low voltage Intel Core2 processor, chipset is based on ATI RS600 (with ATI Xpress 1250 integrated graphics), 12.1" display with N-Trig's digitizer, Broadcom wired and wireless ethernet.

BIOS
This howto was written based on experience with A02, A03 and later revisions of BIOS. A02 revision worked just fine, A03 with kernel commandline parameter acpi_osi=Linux sometimes panics during kernel initialization. It is possible that fix mentioned in section "Hardware support" also fixes this issue.

Installation
Gentoo 2008.0 LiveCD boots without problems. System is usually shipped with disk containing one big NTFS partition, which has to be shrinked using ntfsresize and then resized using fdisk or similar tool. Hardware support Warning: Text in this section changes a lot, so take it only as "currently known state" of this issue. This warning disappears when the final solution will be available.

Update: It is possible that this laptop doesn't do "clean reboot", so if something goes wrong and you reboot it, that 'bad' thing can survive and somehow affect your system, or at least it may behave differently as if it was turned off and on again:). After cold reboot, kernel paramter hpet=disable' seems to help as well, even with CONFIG_CPU_IDLE enabled.

Update: The text below is not valid anymore, it turned out to be problem with CPU_IDLE; after disabling CONFIG_CPU_IDLE in kernel configuration the system seems to run fine even if it enters C2 or C3.

First of all, warning: although installation works without apparent problems, there is power management issue (at least with 2.6.25-r7 and 2.6.26 kernels), which manifests e.g. as random stopping of movie playback in mplayer, high (sometimes over 10000) number of wakeups in powertop and generally, with random program freezes for few seconds. You can work around this problem by adding processor.max_cstate=1 to kernel parameters. This fix prevents CPU entering lower power-saving states, so you end up with higher power consumption and lower battery time.

More information below.

ACPI buttons
Seem to work, but unfortunately, sleep button doesn't seem to produce any events.

Backlight, wifi and bluetooth control
In order to get these things working properly, you need to:

Also, having hal compiled with dell USE-flag exposes these informations further to the system.

Bluetooth
Depends on bluetooth module selection, in this case Dell Bluetooth module 350 is standard USB Bluetooth adapter supported by linux.

Fingerprint scanner
USB device "SGS Thomson Microelectronics Fingerprint Reader", supported by thinkfinger. The only step needed is:

Firewire
works with ohci1394.

Graphics card
Choose a graphics driver from those available for your card and follow the linked guide.

SD Card reader
Standard device supported by sdhci driver. When using 2.6.26 kernel, it has however problems with detecting card insertion, so it works correctly first time after reboot, when card is inside and the sdhci driver is removed and installed again. Subsequent attempts did not work. With CPU_IDLE disabled it seems to run fine.

Sound
Supported by kernel, driver is snd-hda-intel.

Touchscreen
I got this to work by the help of http://ofb.net/~rafi/latitude_xt.html you need the new kernel module listed there and you will have to patch the wacom driver.

maybe you need to calibrate the screen on Windows 7 and update the firmware.

Wired Ethernet
Works without any apparent problems using tg3 kernel driver.

Wireless Ethernet
Using Broadcom Proprietary Drivers An alternative approach is to use the Broadcom proprietary drivers directly sourced from the company for BCM4311, BCM4321, BCM4321 and BCM4322 based chipsets. This allows you to simply compile the driver module and load it skipping the b43-fwcutter approach. The 32bit and 64bit versions of the drivers can be found at the broadcom website. http://www.broadcom.com/support/802.11/linux_sta.php Make sure you read the README.txt file found at the same location on how to do the simple compilation and cleanup of potential stale drivers. The README.txt lists all commands assuming you are root. So most normal users will need to append 'sudo' before each command. For example "sudo rmmod ssb" to ensure that the commands to remove and insert the modules.

just emerge these:
 * 1) emerge net-wireless/broadcom-sta

Depending on selected components, wireless adapter can be one of Dell's wireless adapters, which are usually based on Broadcom chipset. Some of the cards are supported by b43 kernel driver, but at least for Dell Wireless adapter 1390 you for now need to use ndiswrapper and windows NDIS driver. Most devices use USB (even DVD-RW), and work out-of-box; replicated ethernet port worked as well. There seems to be an alternative way to get the Dell 1505n card to work without ndiswrapper: (untested)

more info on: http://linuxwireless.org/en/users/Drivers/b43 http://www.myscienceisbetter.info/2008/04/configure-broadcom-wireless-using-compat-wireless.html

DVD/RW
Attached to USB, recognized by usb-storage module, reads media correctly (except that SCSI layer seemed to offline it once upon a time, but that might be issue connected with CPU_IDLE problems mentioned above), burning works as well.

Serial port
Serial port is currently not supported, it reports itself as TUB3410 device, which seems like device supported by ti_usb_3410_5052, even after forcing vendor and product id, the driver doesn't claim it.

VGA/DVI output
ATI closed-source drivers from ati-drivers ebuild seem to work just fine.

Power management
Looks like laptop with LED backlight should be capable of living on 6cell battery for something around 2:45, maybe even 3:00. Minimal vs. maximal backlight intensity made 2W difference (but just quickly measured, the value can be different), wireless features (bluetooth and wifi) enabled (but otherwise inactive) are worth ~0.6W (again just quick measurement).

Suspend/resume
In order to get suspend/resume to work, you need to unload the sd-card drivers create a /etc/pm/config.d/10modules with the following content SUSPEND_MODULES="sdhci_pci sdhci mmc_block mmc_core"

Touchpad and trackpoint
So far it is more convenient to use the default mouse driver, although the device is ALPS touchpad (using supported by synaptics driver). When using the synaptics driver, the device doesn't behave properly, e.g. mouse buttons don't click as neccessary. If you are brave enough, in order to use this protocol, you need to modify your xorg.conf (you can disable SHMConfig if you don't plan to use synclient utility): Code: xorg.conf

/etc/X11/xorg.conf If someone finds out proper configuration for this device and synaptics driver, please update this page.

Minimal power consumption
Measured with PowerTOP, minimal power consumption I was able to get, was 11.5W, which should be (again with 6cell battery and LED backlight) more than 3:30, but some drastic measurements were neccessary (together with disabling any wireless components): Power management settings

Devices/drivers consuming a lot of power/CPU time

 * ndiswrapper seems to behave fine, but after some time the driver starts to wake up 333 times per second with no reason (even when wifi is disableld using kill switch)
 * Bluetooth adapter is another issue -- when enabled, usb_ohci seems to produce interrupt roughly 200 times per second, even when the device is idle.
 * after starting X server running binary fglrx driver (not tested with radeon), CPU doesn't enter C3 state anymore, even after terminating X server.

Booting on battery
It looks like BIOS itself is able to to lots of things to save power. It apparently underclocks either CPU or even system bus, as when started off-battery, linux runs visibly slower; also repainting of screen is quite visible. Processor can not be cloced higher than 800MHz (not sure whether this is cpufreq/cpufreq_ondemand issue, or BIOS one), and system as whole reacts really slowly. After reboot the systems seems to be even slower.