Dell Precision M4700

I recently upgraded to Dell Mobile Precision M4700. This is a fairly high-end, Ivy Bridge, workstation replacement. It is a minor upgrade over the M4600 in build, but major in performance.

= General =

The Bios configures the SATA controller to be in RAID mode, which is silly, as it is an extra layer of complexity and in my tests perform slightly worse than AHCI mode. I'd recommend you change it to AHCI only.

There is another "feature" in the BIOS where it would throttle your system when taken off mains (iow, on battery) or when using an underpowered charger.

When using an underpowered charger it limits my CPU to 800Mhz max, disk and memory performance seems to be between 1/3 and 1/2 of normal.

When taking it off mains, it initially limits my CPU to 1200Mhz, and then gradually increases that limit to 2600Mhz. It also disables Turbo Boost. This would be fine if it didn't suddenly drop so much. Apparently it is done to protect the battery from having to deliver too much amperage, and reducing its lifespan. You can disable it by passing processor.ignore_ppc=1 as a kernel boot-time parameter. This will not disable the behavior on using an underpowered charger. If you do this, it would probably be best to also disable Turbo Boost using laptop-mode-tools, or another script.

I have configured laptop-mode-tools to set the max frequency to 2600000, the second-highest frequency, and turbo mode now doesn't kick in when on battery :-)

2601000 2600000 2500000 2400000 2300000 2200000 2100000 2000000 1900000 1800000 1700000 1600000 1500000 1400000 1300000 1200000
 * 1) cat /sys/bus/cpu/devices/cpu0/cpufreq/scaling_available_frequencies

= System Information =

Basic hardware

 * Ivy Bridge CPU
 * QM77 Chipset
 * AlpsPS/2 ALPS DualPoint TouchPad
 * IO ports: 2xUSB3 + 2xUSB2 + 1xUSB2/eSATA + Firewire
 * SMSC 0x0300 controller
 * O2 Micro SD Card reader
 * Microdia USB camera
 * Built-in Stereo MIC

lsusb
USB devices

lspci
PCI devices

/proc/cpuinfo
CPU Info

= Hardware Config =

Ethernet

 * Module: e1000e

Wifi

 * module: iwlwifi

In addition to the kernel driver, you need firmware for your card. It would be one of:
 * sys-firmware/iwl6000-ucode for the 6300
 * sys-firmware/iwl6005-ucode for the 6205

If you have a firmware older than sys-firmware/iwl6005-ucode-18.168.6.1 you may need to disable 802.11n by adding "11n_disable=1" to the module parameters.

Touchpad
The Touchpad is an "AlpsPS/2 ALPS DualPoint TouchPad". It is an updated model over what is in the M4600, and it speaks an updated protocol.

Two-finger scrolling, 1, 2 & 3 finger tapping all works now :-) It isn't as smooth and responsive as in Windows, so more work needs to be done.

AMD Video
The AMD FirePro M4000 GPU is part of the Southern Islands family and is the GCN architecture. This means that there is no support on the Open-Source driver yet. AMD says they are working on it. Therefore you should use the FGLRX drivers. I found that the minimum supported driver is the 12.6 (8.982) Series. I greatly reccomend the 12.11_beta11 driver. It works quite well, including power-management, display hot-swopping, and 3D applications.

Make sure you have acpi_video support built in to the kernel to enable backlight support.

Webcam
My webcam is a Microdia camera, it uses the gspca driver, and when I tested it in both VLC and Skype, it just worked :-)

MMC/SD Card reader
SD/MMC card reader is an O2 Micro device.
 * module: sdhci_pci

Audio

 * module: snd_hda_intel
 * works: tested

Internal microphone is controlled via the Digital and Internal Mic alsa mixer controls.

= Power Management = This notebook has the common BIOS ASPM handover bug. Dmesg reports: ACPI _OSC control for PCIe not granted, disabling ASPM To fix it, add pcie_aspm=force to the kernel boot options.

= Unresolved/Unsupported funcionality =


 * If you place 2 fingers too close to each other, the Touchpad registers only one finger. They need to be about 1cm apart for reliable usage.
 * Free-fall sensor -> Did not investigate
 * SMSC 0x0300 controller is Unsupported by lm_sensors

= References =
 * Dell Precision M2400
 * Dell Latitude E6x00