Archive for Saturday, January 15th, 2011

So I have a new Dell laptop and some things don’t work. In this post I track the bugs I found:

System won’t hibernate

When hibernating, the screen goes blank and comes up again.

Create the an executable file (chmod +x) in /etc/pm/sleep.d/10_fixusb3 with the following content:

#!/bin/sh
# Fix USB3 suspend and hibernate problems
m=xhci_hcd
case "$1" in
  hibernate|suspend) modprobe -r $m ;;
  thaw|resume) modprobe $m ;;
esac

It will unload the USB3 driver before hibernation and reload it afterwards. This shouldn’t be necessary and will lead to data corruption if you have a disk on USB3 when suspending, but it seems proper USB-suspend doesn’t work yet.

nVidia, Optimus doesn’t work

In Optimus the nVidia GPU is attached to the Intel GPU which manages the display. Given proper Intel & nVidia drivers on Windows, it allows switching GPUs while the system is running to save energy. This will probably never be supported on Linux because of X design issues.

When trying to start X with an nVidia driver (both proprietary nvidia and nouveau), it doesn’t find any GPUs. Keeping your /etc/X11/xorg.conf empty and uninstalling or blocking the nvidia module starts X using the Intel GPU (which is good enough for HD video playback)

However, X freezes sometimes when plugging in an external HDMI display. It doesn’t detect anything and hitting Fn+F1 repeatedly does nothing but crash X after the third time or so.

Bug 709591

WLAN won’t switch on

Looks like two drivers try to handle the hotkeys: syslog shows that when pressing Fn+F2 the module will be toggled twice immediately after pressing the button. Unloading dell_laptop seemed to get rid of that, but crashed the system when trying to hibernate. But even when rfkill list said everything was switched on, NetworkManager refused to accept this. Boothing with WLAN switched on works though.

Display brightness controls behave oddly

Fn+F4 and Fn+F5 only adjust the brightness by one notch. But pressing the middle touch button (right of the power button) repeatedly decreases the brightness value (as shown by the popup messages), but doesn’t actually commit it. Pressing Fn+F4 or Fn+F5 after that adjusts the value by one notch and commits it. That way it’s possible to set any brightness.

Fn+F7 to Fn+F12 work as expected.

Synaptics Touchpad

Edge scolling works, as does disabling it with the key next to F12 (although the LED is not consistent with the actual state when the pad is toggled while booting)

Multi-Finger gestures don’t work at all, but instead make the pointer jump weirdly, so I guess the driver doesn’t understand the protocol (it’s still serial?!)

SD/MMC-Card-Reader missing

The reader is connected via PCI but doesn’t show up unless the machine is booted with an SD card inserted. After booting it may be removed, everything works then.

Let’s see what Bug 703180 brings.

There is no need for rebooting though. Running:

echo 1 | sudo tee /sys/bus/pci/rescan

With the card inserted finds the four SD/MMC/MS/XD Host-Controllers the reader consists of. Everything works after that, the devices don’t disappear when running the command again without a card. Looks like a hardware bug?!

Infrequent SATA Errors

Occasionally the kernel will reset the SATA link after an error, but they aren’t consistent. Maybe conflicting power saving modes?

Yeah but other than that, everything works perfectly.