Dell XPS 13-L321X Ultrabook
This article is for the old model of the Dell XPS 13. For the new (2015) model, see Dell_XPS_13_9343
Laptop specifications
Hardware specs may vary. These are the specs for the model XPS 13 Ultrabook:
- Intel Core i5-2467M 1.6GHz to 2.3GHz or i7-2637M 1.7GHz to 2.9GHz, 3MB cache
- 4-8GB Dual Channel DDR3 1333MHz
- Intel HD Graphics 3000-4000 (on-CPU)
- High Definition Audio with Waves MaxxAudio 4
- 13.3in TFT LCD Widescreen screen (1366x768 or 1920x1080)
- Samsung PM830 SATA 3 128GB or 256GB mSATA SSD Hard Disk
- 1x USB 2.0 ports and 1x USB 3.0 ports
- mini-DisplayPort output
- Intel Centrino Advanced-N 6230 802.11 a/g/n with Intel Smart Connect Technology + Bluetooth 3.0
Printout of lspci:
root #
lspci
Printout of lsusb (builtin devices, no external devices connected):
root #
lsusb
Printout of lsmod (builtin devices, no external devices connected):
root #
lsmod
Information from /proc/cpuinfo:
root #
cat /proc/cpuinfo
Installation
Kernel
Input devices
USB 2.0 support
- Compile the ehci-hcd driver as module.
Device Drivers --->
[*] USB support --->
<M> EHCI HCD (USB 2.0) support
[*] Root Hub Transaction Translators
[*] Improved Transaction Translators scheduling
USB 3.0 support
Compile the xhci-hcd driver as module:
Device Drivers --->
[*] USB support --->
<M> xHCI HCD (USB 3.0) support
Kernel version 3.3 at least is required for the USB 3 support.
Drives and storage
Hard drive controller works using AHCI driver in the kernel:
Device Drivers --->
<*> Serial ATA and Parallel ATA drivers --->
<*> AHCI SATA support
Graphics
Device Drivers --->
Graphics support --->
<*> /dev/agpgart (AGP Support) --->
<*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<*> Intel 8xx/9xx/G3x/G4x/HD Graphics
[*] Enable modesetting on intel by default
There is an issue with screen brightness which cannot be adjustable. There are two ways to work around this problem.
The permanent way to fix this issue is to apply this patch to the kernel sources. The patch is an attachment to kernel bug #47941. To apply the patch execute the following commands (tested in kernel 3.9.2).
root #
cd /usr/src/linux
root #
wget 'https://bugzilla.kernel.org/attachment.cgi?id=97751' -O backlight_fix.patch
root #
patch -p1 --dry-run -i ./backlight_fix.patch
root #
patch -p1 -i ./backlight_fix.patch # run this command only if the previous patch command gives no errors
The temporary way to work around the brightness issue is to run the following command. This is only a temporary solution because the command needs to be run on every boot, on every resume from suspend, and every time the screen is blanked by DPMS. This last issue is kernel bug #53491.
root #
echo 0 > /sys/class/backlight/intel_backlight/brightness
Use a script to run it at start up:
/etc/local.d/backlight.start
#!/bin/bash
echo 0 > /sys/class/backlight/intel_backlight/brightness
As well as after hibernate and suspend:
/etc/pm/sleep.d/backlight
#!/bin/bash
case "$1" in
suspend|hibernate)
#do nothing
;;
resume|thaw)
echo 0 > /sys/class/backlight/intel_backlight/brightness
;;
*)
exit 1
;;
esac
exit 0
Both scripts need to be executable:
root #
chmod +x /etc/local.d/backlight.start /etc/pm/sleep.d/backlight
Wi-Fi
[*] Networking support --->
[*] Wireless --->
<*> Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers --->
[*] Network device support --->
Wireless LAN --->
<M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
The kernel will also need the firmware before the wireless card will operate. Emerge either of the following packages.
root #
emerge --ask sys-firmware/iwl6030-ucode
Alternatively, install the full Linux firmware package:
root #
emerge --ask sys-kernel/linux-firmware
CPU frequency scaling
Power management and ACPI options --->
CPU Frequency scaling --->
[*] CPU Frequency scaling
<*> ACPI Processor P-States driver
Sound
Device Drivers --->
--- Sound card support --->
<M> Advanced Linux Sound Architecture --->
[*] PCI sound devices --->
<M> Intel HD Audio --->
Touchpad
The support for the Cypress touchpad was added in Kernel 3.9.0 thanks to the Sputnik project.
Device Drivers --->
Input device support --->
-*- Generic input layer (needed for keyboard, mouse, ...)
[*] Mice --->
<M> PS/2 mouse
[*] Cypress PS/2 mouse protocol extension
Webcam
The webcam will work using the v4l2 driver (tested) and sunplus driver (untested):
Device Drivers --->
<M> Multimedia support --->
<M> Video For Linux
[*] Video capture adapters --->
[*] V4L USB devices --->
<M> USB Video Class (UVC)
[*] UVC input events device support
<M> GSPCA based webcams --->
<M> SUNPLUS USB Camera Driver
Test it out with mplayer:
root #
mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot
Bluetooth
It is connected to the internal USB 2.0 port, so make sure to enable USB 2.0 support and PC-Card support, as they are prerequisites for Bluetooth operation. Finally, activate the following kernel options:
[*] Networking support --->
<*> Bluetooth subsystem support --->
Select options for Bluetooth applications, see table below:
<*> ...
Bluetooth device drivers --->
Select a Bluetooth HCI driver, e.g.:
<*> HCI USB driver (btusb)
OpenRC service
Bluetooth is now ready to start:
root #
/etc/init.d/bluetooth start
To start Bluetooth at boot time, add it the default runlevel:
root #
rc-update add bluetooth default
Troubleshooting
Noisy fan
On the core i7 model, the fan is running too often and too early. A BIOS firmware upgrade resolved the issue. Download the latest release here.
Wireless
When the laptop is too close to a 802.11n router, the wireless hangs. This is a known issue but the Bugzilla was disabled due to security issues.
This firmware issue can be worked around by disabling 11n on the iwlwifi module. First try a temporary workaround:
root #
modprobe -rv iwldvm
root #
modprobe iwlwifi 11n_disable=1
It works make the the change permanent:
/etc/modprobe.d/iwlwifi.conf
options iwlwifi 11n_disable=1