Dell XPS M2010

From ArchWiki
Jump to: navigation, search

Introduction

The XPS M2010 is a large 'mobile desktop' with an adjustable display, built-in speakers, and detachable bluetooth keyboard. For transportation, it may be folded and carried as a briefcase. (Adapted from Wikipedia)

It also made an appearance in the 2008 Iron Man film.

Hardware (Needs configuration)

Sound

Internal speakers will not work out of the box. (See discussions on the Linux Laptop Wiki, among other places.)

A workaround is described at [1]. It looks like it was originally documented at [2] but the ALSA bug tracker has since been taken down.

For the record, the workaround involves running the following commands:

hda-verb /dev/snd/hwC0D0 0x1 set_gpio_data 5
hda-verb /dev/snd/hwC0D0 0x1 set_gpio_dir 5
hda-verb /dev/snd/hwC0D0 0x1 set_gpio_mask 5

Speaker output works as expected after this.

Running the workaround automatically with systemd

Using systemd, it is possible to set up a script to run these commands automatically at boot.

First, create the relevant script and save it somewhere (e.g., in /usr/local/bin):

/usr/local/bin/M2010-sound
#!/bin/sh
hda-verb /dev/snd/hwC0D0 0x1 set_gpio_data 5
hda-verb /dev/snd/hwC0D0 0x1 set_gpio_dir 5
hda-verb /dev/snd/hwC0D0 0x1 set_gpio_mask 5

Make it executable.

chmod 755 /usr/local/bin/M2010-sound

Create a new systemd unit (e.g., in /etc/systemd/system) that calls your script:

/etc/systemd/system/M2010-sound.service
[Unit]
Description=M2010 Speaker Configuration
After=sound.target
Requires=sound.target

[Service]
ExecStart=/usr/local/bin/M2010-sound

[Install]
WantedBy=multi-user.target

Enable the new service.

To test the workaround, either reboot or start the service. However, note that running the commands a second time during the same session might cause the speakers to stop working; they should work again after a reboot.

Temperature monitoring and fan control (i8k)

The i8k module appears to work for temperature monitoring and fan control, but it needs to be loaded explicitly.

First, create a new .conf file in /etc/modules-load.d specifying i8k as a module to load:

/etc/modules-load.d/i8k.conf
i8k

Next, specify the module load options in a .conf file in /etc/modprobe.d. The fan RPM values shown by default appear to be erroneous, so we change the fan_mult option here (see [3]):

/etc/modprobe.d/i8k.conf
options i8k force=1 fan_mult=1

The i8k module should now be loaded automatically at boot.

To make system-wide changes to the configuration for i8kmon, you can simply edit /etc/i8kutils/i8kmon.conf -- You do not need to create a configuration file anywhere else.

Note: Within i8k, the left value appears to control the right fan (GPU) while the right value appears to control the left fan (CPU) for the M2010.

Hardware (Working)

Keyboard

The M2010 Bluetooth keyboard/touchpad works out of the box.

Graphics

The ATI Mobility Radeon X1800 works with 3D acceleration using the radeon module.

Install xf86-video-ati.

Network

Ethernet (Broadcom Corporation NetXtreme BCM5753 Gigabit Ethernet PCI Express) works out of the box with module tg3.

Wireless (Intel Corporation PRO/Wireless 4965 AG or AGN) works out of the box with module iwl4965.

Hardware (Not working)

Webcam

The webcam does not work out of the box (picture is garbled). [4] suggests that it is possible to get it to work; further testing is needed to get it up and running on more modern configurations.

Hardware (Untested)

The following devices/functions were not tested:

  • Other Bluetooth devices
  • Card reader
  • Fan control (i8k)
  • Internal modem